Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Visual Studio Code

В коде Rust типы часто опускаются, что делает хорошую IDE ещё полезнее, чем для C++. Visual Studio Code хорошо работает с Rust в Chromium. Чтобы его использовать,

  • Убедитесь, что в VS Code установлено расширение 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.

Следующие шаги могут помочь с демонстрацией (но можно вместо этого использовать фрагмент связанного с Chromium кода на Rust, который вам знаком лучше всего):

  • Откройте components/qr_code_generator/qr_code_generator_ffi_glue.rs
  • Поставьте курсор на вызов QrCode::new (примерно в строке 26) в qr_code_generator_ffi_glue.rs
  • Продемонстрируйте показ документации (типичные привязки: VS Code = ctrl k i; vim/CoC = K).
  • Продемонстрируйте переход к определению (типичные привязки: VS Code = F12; vim/CoC = g d). (Это перенесёт вас в //third_party/rust/.../qr_code-.../src/lib.rs.)
  • Продемонстрируйте структуру (outline) и перейдите к методу QrCode::with_bits (примерно в строке 164; структура находится в панели файлового проводника VS Code; типичные привязки vim/CoC = space o)
  • Продемонстрируйте аннотации типов (в методе QrCode::with_bits есть несколько хороших примеров)

Возможно, стоит отметить, что gn gen ... --export-rust-project нужно будет запустить снова после редактирования файлов BUILD.gn (что мы будем делать несколько раз в ходе упражнений этой сессии).