Visual Studio Code

在 Rust 代码中,通常会省略类型,这使得拥有强大的 IDE 甚至比 C++ 更为有用。Visual Studio Code 非常适用于在 Chromium 中处理 Rust 代码。如需使用此功能,

  • 请确保您的 VSCode 安装了 rust-analyzer 扩展程序,而不是较早版本的 Rust 支持插件。
  • gn gen out/Debug --export-rust-project(或输出目录的等效项)
  • In -s out/Debug/rust-project.json rust-project.json

Example screenshot from 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 行)上
  • Demo show documentation (typical bindings: vscode = ctrl k i; vim/CoC = K).
  • Demo go to definition (typical bindings: vscode = F12; vim/CoC = g d). (This will take you to //third_party/rust/.../qr_code-.../src/lib.rs.)
  • 演示 outline 并前往 QrCode::with_bits 方法(大约第 164 行;大纲位于 vscode 中的文件资源管理器窗格中;典型绑定:vim/CoC = space o)
  • 演示 type annotationsQrCode::with_bits 方法中提供了一些很好的示例)

值得注意的是,修改 BUILD.gn 文件后,需要重新运行 gn gen ... --export-rust-project(我们将在本课程的练习中多次执行该操作)。