專為 Fuchsia 開發的 Vim 工具

功能

fuchsia.vim 指令碼會設定 Vim 執行下列操作:

  • 設定路徑,讓 :findgf 瞭解如何尋找檔案。
  • 啟用 FIDL 語法醒目顯示功能 (使用 /tools/fidl/editors/vim/)。
  • 整合基本建構系統,讓 :make 建構並填入 QuickFix 視窗。
  • 設定 YouCompleteMe (YCM) 以在 Fuuchsia 樹狀結構中提供錯誤檢查、程式碼完成功能和來源導覽。

安裝

步驟如下:

  1. 更新登入指令碼
  2. 執行 fx set 指令
  3. 更新 Vim 啟動檔案
  4. 重新啟動 Vim 以設定 YouCompleteMe
  5. 建構編譯資料庫

更新登入指令碼

將下列程式碼新增至開機指令碼 (通常是 ~/.bashrc):

export FUCHSIA_DIR=<your_fuchsia_source_directory>

執行 fx set 指令

這個指令使用 fx set [PRODUCT].[BOARD] 格式。例如:

fx set core.x64

更新 Vim 啟動檔案

如果 ~/.vimrc 檔案中有下列程式碼,請將其移除:

filetype plugin indent on

然後在 ~/.vimrc 中新增下列程式碼:

if $FUCHSIA_DIR != ""
  source $FUCHSIA_DIR/scripts/vim/fuchsia.vim
endif
filetype plugin indent on

重新啟動 Vim 以設定 YouCompleteMe

如要設定 YouCompleteMe (YCM),您需要取得 fuchsia.vim 檔案的來源。

重新啟動 Vim,在 ~/.vimrc 檔案中執行 source $FUCHSIA_DIR/scripts/vim/fuchsia.vim 指令 (請參閱更新 Vim 啟動檔案)。

如要驗證 YCM 是否正常運作,請將遊標懸停在 Vim 中 .cc.h 檔案中的 ID 上,然後按下 Ctrl+] 鍵,前往 ID 的定義。

自動設定格式

Google 的 vim-codefmt 可在儲存後自動設定程式碼格式。您可以使用 Vundlevim-plug 等套件管理員安裝此程式。

您可以透過獨立外掛程式設定 GN 檔案格式和語法。下列 .vimrc 範例示範如何使用 vim-plug 和 Fuchsia 預先建構的 GN 開啟 GN 檔案的自動格式設定:

call plug#begin('~/.vim/plugged')
Plug 'google/vim-maktaba'
Plug 'google/vim-glaive'
Plug 'google/vim-codefmt'
Plug 'https://gn.googlesource.com/gn', { 'rtp': 'misc/vim' }
call plug#end()
call glaive#Install()

" Set gn path to the Fuchsia prebuilt.
let g:gn_path = systemlist('source ' . g:fuchsia_dir . '/tools/devshell/lib/vars.sh && echo $PREBUILT_GN')[0]
execute ':Glaive codefmt gn_executable="' . g:gn_path . '"'

augroup autoformat_gn
  autocmd!
  autocmd FileType gn AutoFormatBuffer gn
augroup END

如要醒目顯示 Rust,請參閱其語言專屬指南