赞
踩
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
clangd 是 Clang 的官方语言服务器,用于提供 C++ 代码导航、补全和静态分析功能。语言服务器是一种通信协议,它允许编辑器和集成开发环境(IDE)与编程语言的分析和处理工具进行交互,从而提供更强大的代码编辑和开发功能。
具体来说,clangd 提供了以下主要功能:
将 clangd 与 Visual Studio Code 结合使用可以为 C++ 开发提供强大的代码导航、补全和静态分析功能。以下是如何将 clangd 集成到 Visual Studio Code 的一般步骤:
安装 clangd: 首先,确保已经安装了 clangd。你可以使用包管理器(如 apt、brew 等)来安装。例如,在 Ubuntu 上,你可以运行以下命令来安装:sudo apt install clangd-10
建议直接从github下载安装好的clangd。github链接
下载好的安装包解压后,将里面的bin和lib文件夹复制到/usr/local下。
同时,安装好以下工具。sudo apt install bear llvm clang-tools
安装 Visual Studio Code: 略。
安装 C/C++ 扩展和clangd扩展: 在 Visual Studio Code 中,安装官方的 C/C++ 扩展以获得 C++ 开发支持。你可以在扩展市场中搜索并安装 “C/C++” 扩展和clangd扩展。注意这两个的智能提示不兼容,vscode会提示disabled c/c++的智能提示。或者通过命令行(ctrl+shift+p)打开用户设置的json(setting.json),将"C_Cpp.intelliSenseEngine"设置为"disabled"。
{
"[python]": {
"editor.formatOnType": true
},
"files.autoSave": "afterDelay",
"workbench.colorTheme": "Better Solarized Dark",
"cmake.configureOnOpen": true,
"workbench.iconTheme": "material-icon-theme",
"clangd.detectExtensionConflicts": false,
"C_Cpp.intelliSenseEngine": "disabled",
"chatgpt.lang": "en",
"window.zoomLevel": 1
}
{ // 指定 clangd 可执行文件的路径(如果在系统路径中可直接使用 "clangd") "clangd.path": "clangd", // 作为编译失败的备选标志,指定了包含文件夹的路径 "clangd.fallbackFlags": [ "-I${workspaceFolder}/include" ], // 配置 clangd 启动参数 "clangd.arguments": [ "--background-index", // 启用后台索引 "--compile-commands-dir=${workspaceFolder}/build", // 设置编译命令文件夹 "--all-scopes-completion", // 允许在所有作用域中进行代码补全 "--completion-style=detailed", // 详细模式的代码补全 "--clang-tidy", // 启用 Clang-Tidy 静态代码分析 "--log=verbose", // 输出详细的日志信息 "--pretty" // 漂亮的输出格式 ], // 配置 CMake 构建目录 "cmake.buildDirectory": "${workspaceFolder}/build", // 配置 CMake 构建环境变量,使其生成编译命令数据库 "cmake.buildEnvironment": { "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" } }
cland能进行代码提示和跳转,首先是开了一个cland服务器,一个重要文件就是compile_commands.json。这是通过make和cmake编译的时候生成的。
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
。也可以在cmake命令时设置cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON path/to/source
。三种方法选一个就可以了。sudo apt install bear
安装bear,在编译的时候bear make
就可以生成compile_commands.json 文件。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。