目录
1. 背景
2. 安装clangd
安装前:禁用c++插件
2.1 clangd插件名称
2.2 安装
2.3 配置 settings.json
2.4 语言服务器下载
2.5 安装 cmake tools
2.6 设置编译选项
3. 生成 compile_command.json
4. 查看使用效果
1. 背景
vscode c++开大家一般用 vscode 自家出品的c++插件
网络大部分的vcscode c++ 环境搭建也都是讲这个插件的配置,用于提供悬浮提示,代码补全,错误提示,定义声明实现之间的项目跳转等等功能。
先不说导航找实现找引用这种语义分析的基本功能有时候都没办法正确找到实现,速度也一般般,错误和警告也只是有提示,没有quick fix功能,这个功能是能极大提高编程手感的东西,非常好用。
2. 安装clangd
安装前:禁用c++插件
2.1 clangd插件名称
2.2 安装
如果没有安装,则使用如下命令安装clang
$ sudo apt install clang
$ sudo apt install -y clang-12
2.3 配置 settings.json
在用户配置文件settings.json增加如下配置
"clangd.arguments": [
"--background-index",
"--compile-commands-dir=build", //compile_command.json相对路径,cmake默认生成在build,自行配置
"-j=12",
"--all-scopes-completion",
"--completion-style=detailed",
"--header-insertion=iwyu",
"--pch-storage=memory",
"--cross-file-rename",
"--enable-config",
"--fallback-style=WebKit",
"--pretty",
"--clang-tidy",
// 网上别人配置clang++,但我这边windows、linux实测不加这行也没啥问题,可能mac可能需要另外加
"--query-driver=/usr/bin/clang++",
],
2.4 语言服务器下载
使用命令 ctrl + shift + p 调用
- 安装clangd安装包
安装如下安装包
- 自定义配置
生成文件,输入自己的个性化配置,也可以保留默认为空,不设置
2.5 安装 cmake tools
2.6 设置编译选项
- 方法1
- 方法2
在CMakeLists.txt文件中设置参数
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
3. 生成 compile_command.json
使用camke编译
# 当前在src目录
$ cd ../
$ mkdir build
$ cd build
$ cmake ../
编译完成,查看build目录下生成compile_command.json文件,这时候就可以使用clangd跳转了
4. 查看使用效果
- 自动补齐
-
IWYU
include-what-you-use,又是一个非常给力的一个功能。
比如写个mutex,我们必须自己手动转到文件顶部手动include,有时候有些还得查查需要的头文件名叫啥,代码写起来就是不丝滑爽快。
有了IWYU,就可以自动添加头文件,这种写代码你就可以专注于业务,减少找头文件切换行include的操作,非常好用
- quick fix