Visual Studio Code

Rust コードでは型が省略されるため、優れた IDE は C++ の場合以上に有用です。Chromium の Rust 開発では Visual Studio Code がうまく機能します。使用するには、次のようにします。

  • VSCode に、以前の形式の Rust サポートではなく、rust-analyzer 拡張機能が入っていることを確認する
  • gn gen out/Debug --export-rust-project を実行する(または出力ディレクトリに応じた同等のコマンド)
  • ln -s out/Debug/rust-project.json rust-project.json
VSCode のスクリーンショット例

聴衆が IDE に対して懐疑的になりがちな場合は、rust-analyzer のコード注釈機能や探索機能のいくつかをデモすると効果的かもしれません。

以下の手順はデモの助けになるかもしれません(ただし、代わりに自分が最もよく知っている Chromium 関連の Rust コードを使っても構いません)。

  • components/qr_code_generator/qr_code_generator_ffi_glue.rs を開く
  • qr_code_generator_ffi_glue.rs 内の QrCode::new 呼び出し(26 行目付近)にカーソルを置く
  • ドキュメントを表示 をデモする(一般的なキーバインド: vscode = ctrl k i; vim/CoC = K)。
  • 定義へ移動 をデモする(一般的なキーバインド: vscode = F12; vim/CoC = g d)。 (これにより //third_party/rust/.../qr_code-.../src/lib.rs に移動します。)
  • アウトライン をデモし、QrCode::with_bits メソッド(164 行目付近)へ移動する (アウトラインは vscode のファイルエクスプローラーペイン内にあります。vim/CoC の一般的な キーバインド = space o)
  • 型注釈 をデモする(QrCode::with_bits メソッドには良い例がかなりあります)

gn gen ... --export-rust-project は、BUILD.gn ファイルを編集した後に再実行する必要があること(このセッションの演習全体を通して何度かそうします)を指摘しておくとよいかもしれません。