适用于 Fuchsia 开发的 Vim 工具

功能

fuchsia.vim 脚本将 Vim 设置为执行以下操作:

  • 设置路径,让 :findgf 知道如何查找文件。
  • 启用 FIDL 语法突出显示(使用 /tools/fidl/editors/vim/)。
  • 集成基本构建系统,以便 :make 构建并填充 QuickFix 窗口。
  • 配置 YouCompleteMe (YCM) 即可在紫红色树中提供错误检查、代码补全和源代码导航。

安装

相关步骤如下:

  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 文件中的标识符上,然后按 Ctrl+] 以转到标识符的定义。

自动格式化

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,请参阅其特定语言指南