RustRover 2024.2 の新機能

このバージョンのハイライトにはフロントエンド開発とデータベースのサポート、および行全体コード補完が含まれます。

ダウンロード

非商用利用の場合は無料となります。 30 日間体験版をご利用可能です。

フロントエンド開発とデータベースのサポート

皆さんのフィードバックにお応えし、RustRover におけるウェブテクノロジーデータベースのサポートを実装し直しました。

Rust の行全体コード補完

このリリースでは Rust 言語の行全体コード補完が導入されています。 この機能はローカルで動作するディープラーニングモデルを使用することで、IDE の外部にデータを送信することなくコード行全体を提案します。 単一行のグレーのテキスト候補により、現在のファイルのコンテキストに基づいてステートメントが補完されます。 行全体コード補完は RustRover サブスクリプションに含まれており、追加費用は一切不要です。

実行中のプロセスにデバッガーをアタッチする機能

動作中のアプリケーションを再起動せずにデバッグできるようになりました。 このため、外部で管理されるプログラム内の動的ライブラリまたはプラグインを扱いやすくなります。

Cargo.toml に関するさまざまな改善

  • 型が異なるプロパティの補完候補を受け入れても、キャレットの位置が変わらなくなります。
  • 最上位レベルプロパティが角括弧で囲まれるようになります(その型がオブジェクトである場合は [] で、オブジェクトの配列である場合は [[]] で囲まれます)。
  • ヘッダー内のプロパティが単純な型かオブジェクトの配列である場合、その補完候補を使用しても二重角括弧は追加されません。
  • lints に対応した補完が提供されます。
  • 新しいチェックを使用し、配列をテーブルの配列として宣言することを防ぐことができます。

Cargo プロファイルスイッチャー

実行/デバッグ構成を使用する際に専用の Cargo プロファイルスイッチャーでプロファイルを指定できるようになったため、手動で指定する必要がなくなりました。

? 演算子のサポートの改善

? 演算子の型チェックを大幅に改善しました。 この演算子がチェーンメソッド呼び出しなどの多くの場合に自動補完によって提案されるようになりました。 また、? の使用を許容する unwrap() の呼び出しをハイライト表示する新しいインスペクションもあります。

フォルダーの改善

モジュールフォルダーが Project(プロジェクト)ビューでパッケージとして適切に表示されるようになったため、通常のモジュールと区別しやすくなりました。

また、ファイルのドラッグアンドドロップで親ディレクトリの Move(移動)ダイアログが呼び出されなくなりました。

Proc_macro の強化

ワークスペースにおけるオプションの依存関係からのマクロの展開

Cargo が proc_macro をコンパイルし、コード解析が正しく機能するために必要なすべての依存関係のスクリプトをビルドするようになりました。 まれなケースでは、明示的に競合する機能を無効化する必要があることに注意してください。

属性に対応したクイックフィックス

新しいクイックフィックスにより、 #[proc_macro]#[proc_macro_derive]、および #[proc_macro_attribute] 属性を Procedural Macro クレートの pub fn に追加することが提案されるようになりました。

関数形式マクロ呼び出しに対応したインテンションアクション

関連するマクロの展開に一致する要素が 1 つあるトークンに対応したインテンションアクションを使用できるようになりました。

未解決の名前参照に対応した補完

関数を宣言する前に使用した場合、IDE がその名前を含む補完候補を表示するようになりました。

その他

このアップデートでは他にも多くの改善が行われています。

  • テストを実行してもプロジェクトが 2 回再ビルドされなくなりました。
  • インレイヒントを非同期メソッドチェーンで使用できるようになりました。
  • IDE が Option<...> 型の戻り値を Some() で囲むようになりました(E0308)。
  • 新しい警告によって {variables:?} の構文の誤検出が通知されるようになりました(E0277)。
  • 未解決のメソッドに対するハイライト表示が改善されました(E0599)。
  • return が必要な場合に IDE が警告を表示するようになりました。
  • コンパイラーが提案したフィックスを使用して識別子を変換すると、すべての関連する識別子の使用箇所も変更されるようになりました。
  • extern location for crate does not exist on sync エラーが修正されました。
  • 組み込みフォーマッターの 20 個以上の問題が解決され、その動作が大幅に改善されました。
  • 不安定な postfix-match 機能へのサポートが提供されるようになりました。
  • Unix LLDB でデバッグする際に Option/Result に隠された値が Threads & Variables(スレッドと変数)ビューに表示されるようになりました。
  • format! マクロ引数のサポートが改善され、IDE が未解決のメソッドをハイライト表示するようになりました。

日本語、韓国語、および中国語の UI オプション

中国語、日本語、韓国語の UI 言語パックが IDE の基本インストールに含まれるようになりました。 言語は Settings(設定)| Appearance & Behavior(外観 & 振る舞い)| System Settings(システム設定)| Language and Region(言語と地域)から切り替えられます。

言語を認識する固定行

固定行を表示させる言語を選択できるようになりました。 この機能は Settings(設定)| Editor(エディター)| General(一般)| Sticky Lines(固定行)で、またはエディターで固定行を右クリックしたときに表示されるコンテキストメニューからカスタマイズできます。

Search Everywhere(どこでも検索)のプレビューオプション

Search Everywhere(どこでも検索)ダイアログに検索対象のコードベース要素をプレビューするオプションが追加されました。 ダイアログのツールバーにある Preview(プレビュー)アイコンでこの機能を有効にすると、検索結果の下にプレビューペインが表示されるようになり、追加のコンテキストを使用することができます。また、プロジェクト内をさらに簡単に移動できるようになります。

AI Assistant

すでに Rust に特化した AI Assistant との統合を実装に取り組んでいるところではありますが、現時点ではまだ開発の早期段階です。 更新情報をお待ちください!

RustRover はプラットフォームリリースのリモート開発とコラボレーションおよびバージョン管理システムの機能も継承しました。