ccls 语言服务器使用教程
项目介绍
ccls 是一个基于 LLVM/Clang 的 C/C++/Objective-C 语言服务器,旨在提供代码分析、导航和重构等功能。它源自 cquery 项目,支持多种代码编辑器和 IDE,如 Visual Studio Code、Emacs 和 Vim。ccls 提供了丰富的功能,包括代码补全、定义跳转、引用查找、语法高亮等。
项目快速启动
安装 ccls
首先,确保你已经安装了 CMake 和 LLVM。然后,克隆 ccls 仓库并进行编译:
git clone https://github.com/MaskRay/ccls.git
cd ccls
cmake -H. -BRelease -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=YES
cmake --build Release
编译完成后,你可以在 Release
目录下找到 ccls
可执行文件。
配置编辑器
以下是 Visual Studio Code 的配置示例:
- 安装
ccls
扩展。 - 在项目根目录下创建
.vscode/settings.json
文件,并添加以下内容:
{
"ccls.launch.command": "/path/to/ccls",
"ccls.cache.directory": "${workspaceFolder}/.ccls-cache"
}
- 在项目根目录下创建
compile_commands.json
文件,该文件包含了项目的编译选项。你可以使用cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=YES
生成该文件。
应用案例和最佳实践
代码补全
ccls 提供了强大的代码补全功能,可以帮助开发者快速输入代码。在 Visual Studio Code 中,你可以通过 Ctrl + Space
触发代码补全。
定义跳转
通过 ccls,你可以快速跳转到变量或函数的定义处。在 Visual Studio Code 中,你可以通过 F12
跳转到定义。
引用查找
ccls 还支持查找变量或函数的所有引用。在 Visual Studio Code 中,你可以通过 Shift + F12
查找引用。
典型生态项目
LLVM/Clang
ccls 基于 LLVM/Clang 构建,因此与 LLVM/Clang 生态紧密相关。LLVM/Clang 提供了强大的编译器基础设施,支持多种编程语言和平台。
Visual Studio Code
Visual Studio Code 是一个流行的代码编辑器,通过安装 ccls 扩展,可以获得强大的 C/C++ 开发支持。
Emacs 和 Vim
Emacs 和 Vim 是两个经典的文本编辑器,通过配置 ccls,可以在这两个编辑器中获得类似 IDE 的开发体验。
通过以上步骤,你可以快速上手并充分利用 ccls 提供的功能,提高 C/C++ 开发的效率。