Quick Start
编辑器插件
clice 实现了 Language Server Protocol,任何支持该协议的编辑器均可以与 clice 配合使用,提供 代码补全、诊断、悬停信息、语义高亮 等功能。
除了标准协议之外,clice 还支持一些协议扩展。为了更好地处理这些扩展以及更好地与编辑器集成,使用专用的 clice 插件是推荐方案。
各编辑器的具体配置见 Editor Setup:Visual Studio Code、Neovim 和 Zed 有官方插件,Helix、Emacs、Sublime Text、Kate、Vim 等通用 LSP 客户端提供配置片段。
安装
下载预编译二进制
从 Releases 页面下载最新版本。
从源码构建
参见 从源码构建 了解详细步骤。
项目配置
为了让 clice 能正确理解你的代码(例如找到头文件的位置),需要提供一份 compile_commands.json 文件,即 编译数据库。
默认情况下,clice 会搜索工作区根目录及其各个直接子目录(例如 build/),使用找到的第一个 compile_commands.json。可以通过 clice.toml 中的 compile_commands_paths 选项指定确切路径。
CMake
构建时添加 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON 选项:
cmake -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON这会在 build 目录下生成 compile_commands.json。
WARNING
注意:只有当 cmake 的生成器选择为 Makefile 和 Ninja 时此选项才有效。其它生成器会忽略此选项。
Bazel
使用 bazel-compile-commands-extractor:
bazel run @hedron_compile_commands//:refresh_allVisual Studio
CMake 项目(Visual Studio 2019 16.1+)在 CMakeSettings.json 中配置:
{
"configurations": [
{
"name": "x64-Debug",
"generator": "Ninja",
"buildRoot": "${projectDir}\\build",
"cmakeCommandArgs": "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
}
]
}MSBuild 项目(.vcxproj)可使用 catter 生成编译数据库。
Makefile
使用 bear 拦截编译命令:
bear -- make运行前先 make clean 以确保捕获所有命令。
Meson
Meson 自动生成编译数据库:
meson setup buildXmake
xmake project -k compile_commands --lsp=clangd build或配置 Xmake VS Code 扩展自动生成:
"xmake.compileCommandsDirectory": "build"其它
对于任意其它的构建系统,可以使用 catter — 通过伪装编译器的方式来捕获编译命令,能够与任何构建系统配合工作。