Visual Studio Code

Типи в Rust коді усуваються, що робить хорошу IDE ще більш корисною, ніж для C++. Код Visual Studio добре працює для Rust у Chromium. Щоб скористатися ним,

  • Переконайтеся, що ваш VSCode має розширення rust-analyzer, а не більш ранні форми підтримки Rust
  • gn gen out/Debug --export-rust-project (або еквівалент для вашого вихідного каталогу)
  • ln -s out/Debug/rust-project.json rust-project.json
Example screenshot from VSCode

Демонстрація деяких можливостей rust-analyzer з анотування та дослідження коду може бути корисною, якщо аудиторія скептично ставиться до IDE.

Наступні кроки можуть допомогти з демонстрацією (але не соромтеся використовувати частину Rust, пов'язану з Chromium, з якою ви найбільш знайомі):

  • Відкрийте components/qr_code_generator/qr_code_generator_ffi_glue.rs
  • Наведіть курсор на виклик QrCode::new (біля рядка 26) у `qr_code_generator_ffi_glue.rs
  • Продемонструйте show documentation (типові прив'язки: vscode = ctrl k i; vim/CoC = K).
  • Продемонструйте go to definition (типові прив'язки: vscode = F12; vim/CoC = g d). (Звідси ви потрапите на //third_party/rust/.../qr_code-.../src/lib.rs.)
  • Продемонструйте outline і перейдіть до методу QrCode::with_bits (біля рядка 164; контур знаходиться на панелі провідника файлів у vscode; типові прив'язки vim/CoC = space o)
  • Продемонструйте type annotations (у методі QrCode::with_bits наведено декілька гарних прикладів)

Варто зазначити, що команду gn gen ... --export-rust-project потрібно буде виконати повторно після редагування файлів BUILD.gn (що ми будемо робити кілька разів під час виконання вправ у цій сесії).