コード補完
Rust コードの自動補完は入力時に機能します。 Ctrl+Space を押して手動で呼び出すこともできます。
例えば、標準ライブラリのトレイトも含め、 #[derive] 内の属性や要素に対して補完が利用できます:
![Completion for inside #[derive]](https://resources.jetbrains.com/help/img/idea/2026.1/ri_completion_derive.png)
人気のある Rust クレートの場合、クレートが依存関係に追加されていなくても提案が表示されます:

補完はマクロ呼び出し内でも機能します。 プラグインはマクロの置換結果を認識し、該当する項目のみを提案します:

補完は doctest コメント でも利用できます:

自動インポート
RustRover はスコープ外の項目を処理します。 補完リストからスコープ外の項目を選択するか、そのような項目を含むコードを貼り付けると、RustRover は不足している use 宣言を自動的に挿入します。 この動作はデフォルトで有効になっていますが、 (Rust セクション)でいつでも無効にすることができます。

インポートステートメントを自動的に追加する
オプションで、オンザフライで自動インポートをオンにすることもできます。 この方法で、RustRover は入力時に不足している use 宣言を追加します(複数候補がある場合を除く)。
Ctrl+Alt+S を押して設定を開き、 を選択します。
Rust セクションで、 明確なインポートをオンザフライで追加する チェックボックスを選択し、変更を適用します。
特定のアイテムの補完と自動インポートを無効にする
補完リストから特定の項目を除外し、それらが自動インポートされないようにすることができます。 例: 無関係なクレート内で再エクスポートされる関数とトレイトを除外すると、オリジナルのものだけが提案されます。
に移動し、 Rust セクションを見つけます。
表に、補完と自動インポートから除外する項目をリストします。
以下のルールが適用されます。
use宣言の場合と同じように各パスを指定します。パスに指定された接頭辞が含まれるすべてのアイテムの自動インポートを無効にする場合は、パスに
::*を追加します。トレイトを除外する場合は、 次に適用 ドロップダウンメニューを使用して、トレイトメソッドのみの自動インポートを無効にするか、トレイト名も無効にするかを指定します。

use宣言ですでにインポートされているアイテムについては除外設定は無視されることに注意してください。
人気のあるクレートを依存関係として自動的にペーストに追加する
.rs ファイルにコードを貼り付ける場合、 Cargo.toml で追加の依存関係を記述する必要がある場合があります。 RustRover がこれを処理します。 デフォルトでは、新しいクレートを記述したコードを貼り付けるたびに、RustRover は追加するクレート一覧の確認ダイアログを表示します。

貼り付け時に自動依存関係を設定する
次のいずれかの操作を行います:
クレートを追加 確認ダイアログが表示されたら、クレートをサイレントに追加したい場合は 常に追加 を、RustRover に新たな依存関係を一切提案させたくない場合は 追加しない を選択してください。
設定 ダイアログ(Ctrl+Alt+S )で、 に進み、 セクションを見つけて、 ペースト時にクレート依存関係を追加する ドロップダウンから希望する値を選択してください: 常に、 なし 、または 確認する。

ML 補完
機械学習による補完機能はデフォルトで有効になっています。 候補は、IDE の早期アクセスプログラム中に匿名で収集されたデータから学習したルールに基づいて、関連性の高い順に並べ替えられます。 ソースコードは一切収集されず、コード補完 UI の操作に関する情報のみが収集されます。
ML 補完機能を無効にしたい場合は、 の対応するチェックボックスをオフにします。

ML データに並べ替えられた要素を表示するには、 補完ポップアップで順位の変更箇所に印を付ける チェックボックスを設定します。

