概要
clangd是一个基于clang的C++语言服务器, 它提供了代码补全、跳转、重构等功能。它是一个独立的项目,不是clang的一部分。它的目标是提供一个快速、可靠的C++语言服务器,以便于IDE和其他开发工具使用。
项目主页: https://clangd.llvm.org/
安装
vscode扩展商店搜索clangd
,安装即可。
注意启用后,需要将原有的微软的C/C++扩展进行取消
功能
- 自动补全函数的命名空间
- 自动补全include
可以自动添加需要的include头文件
- 代码补全
- 代码引用定义查询
- 代码格式化
使用clang-format实现。
可以选择从右键菜单进行手动格式化
可以选择从设置中开启Format On Type
, 如下图,当键入回车的时候,就会自动格式化代码
如果需要控制格式化代码的规则,可以了解文档 https://clang.llvm.org/docs/ClangFormatStyleOptions.html
- 嵌入的函数形参和类型推断提示
当调用函数时,可以方便展示函数的参数名字;以及使用auto时,可以自动推断auto的类型并展示在行内
可以通过editor.inlayHints.enabled
选项控制
配置示例
切换C++标准
- 在项目目录新增
.clangd
的文件, 比如我要使用最新的c++26标准, 可以添加如下内容:CompileFlags:
#C++26
Add: [-std=c++26] - 重启或者reload vscode生效