vscode配置clangd和clang-format

本文介绍了如何在VSCode中安装和配置clangd作为C++的语言服务器,提供代码跳转和补全功能,以及如何使用clang-format进行代码格式化。通过安装特定插件,设置工作区配置文件,包括clangd的命令行参数和clang-format的样式配置,开发者可以创建一个高效的C++开发环境。

vscode安装和配置

如何安装和配置vscode以搭建c++开发环境,可以查看我的另一篇博客:Windows上最轻量的vscode-C++开发环境搭建

在这篇博客中,详细介绍了如何安装vscode以及应该安装哪些插件。这里不再赘述。

vscode中想使用clangd来作为语言服务器、clang-format来作为代码格式化工具,还需要额外安装以下两个插件:


clangd插件

clang-format插件

关于什么是clangd,什么是clang-format,这里做一下总结性说明:

clangd : 代码服务器,提供基础的代码跳转、代码补全等功能;

clang-format: 代码格式化器,当我们使用编辑器对代码进行格式化时,需要提供一个代码格式化器,用来对我们的代码进行格式化。

格式化的意思是:该缩进的地方缩进,该对齐的地方对齐,以使我们的代码看起来更加整洁和干净。

clangd配置

想要使用clangd作为语言服务器,一些必要的配置是少不了的。本文中,假设工作空间文件夹是my_project,文件目录结构如下:

my_project
    |-- include
        |-- a.h
        |-- b.h
        |-- c.hpp
    |-- source
        |-- a.cpp
        |-- b.cpp
        |-- d.cpp
    |-- CMakeLists.txt

这是一个最简单的基于cmake构建系统的c++工程结构。其中,include文件夹是项目的头文件目录;source文件夹是项目的源文件目录;CMakeLists.txt是cmake构建的入口文件。

1. clangd可执行文件下载

在使用clangd之前,需要先下载clangd的可执行文件。

  1. 如果是在linux上,直接运行以下命令进行安装:
  sudo apt install clangd
  1. 如果是在windows上,则在这里下载。

clangd下载页

2. vscode配置clangd插件

在上面的示例工程下,新建.vscode/settings.json文件,或者按下F1并输入settings,选择首选项:打开工作区设置(json),如下图所示:


就会在当前工作目录下创建当前工作区的设置文件,这个文件是专门针对当前工作区的设置文件,里面的设置项会取代全局的设置项,从而只在当前工作区生效。

vscode的clangd插件有如下配置项:

  1. clangd.fallbackFlags: 设置头文件搜索路径

  2. clangd.path: clangd的可执行文件路径

  3. clangd.arguments: clangd服务运行时传递给可执行文件的参数

  4. clangd.detectExtensionConflicts: 设置clangd是否检测扩展的冲突

  5. clangd.serverCompletionRanking: 设置是否在键入时,对补全结果进行排序。

clangd的其他选项没有那么重要,这里就不一一列举。

一个稍显完整的clangd配置如下:

{
   
   
    "clangd.fallbackFlags": [
        "-I${workspaceFolder}/include"
    ],
    // "clangd.path": "the/path/to/clangd/executable/on/windows",
    "clangd.detectExtensionConflicts"
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

geocat

球球大佬们赏赐点吃喝!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值