news 2026/5/11 2:20:30

让代码会思考又会打扮:clangd+clang-format 本地云服务器极速配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
让代码会思考又会打扮:clangd+clang-format 本地云服务器极速配置

文章目录

    • 一、clang-format(代码格式化工具)
      • 1. 是什么?
      • 2. 主要功能
      • 3. 对应的 VS Code 插件
        • 常用插件:
        • 主要功能(通过插件实现):
      • 4. 如何使用 clang-format?
        • 命令行使用:
        • 配合 .clang-format 文件:
        • 在 VS Code 中配置自动格式化:
    • 二、clangd(C/C++ 语言服务器)
      • 1. 是什么?
      • 2. 主要功能
      • 3. 对应的 VS Code 插件
        • 官方插件:
        • 主要功能(通过插件实现):
      • 4. 如何使用 clangd?
        • 前提条件:
        • 在 VS Code 中配置:
    • 三、clang-format 与 clangd 对比总结
    • 四、推荐搭配使用
    • 五、总结
    • 六.`以trae为例`手把手教你完成clangd与clang-format安装与使用
    • 基于本地进行安装
    • 以云服务器ubuntu22.04进行安装

一、clang-format(代码格式化工具)

1. 是什么?

clang-format是 LLVM 项目提供的一个命令行工具,用于自动格式化 C/C++/Objective-C 等代码,使其符合一致的代码风格(缩进、换行、括号位置、空格等)。

它不会修改代码的逻辑,只负责美化代码排版,是团队协作、代码规范管理中不可或缺的工具。


2. 主要功能

  • 自动格式化代码,统一风格(比如大括号位置、缩进、空格、换行等)。
  • 支持多种预设风格(如 LLVM、Google、Chromium、Mozilla、WebKit 等)。
  • 支持自定义.clang-format配置文件,灵活定义团队自己的代码风格。
  • 可集成到 IDE / 编辑器(如 VS Code、Vim、Emacs)中,实现保存时自动格式化。

3. 对应的 VS Code 插件

在 VS Code 中,通常使用官方或社区提供的clang-format 插件来调用 clang-format 工具,实现代码格式化功能。

常用插件:
  • Clang-Format(官方或社区版)
    Marketplace 链接:https://marketplace.visualstudio.com/items?itemName=xaver.clang-format
主要功能(通过插件实现):
  • 右键菜单格式化代码。
  • 保存文件时自动格式化(需配置editor.formatOnSave)。
  • 手动选择代码片段格式化。
  • 支持读取项目根目录下的.clang-format配置文件。

4. 如何使用 clang-format?

命令行使用:
clang-format -i yourfile.cpp
  • -i表示直接修改原文件,去掉-i则只输出格式化结果到终端(不修改文件)。
配合 .clang-format 文件:

在项目根目录创建一个.clang-format文件,定义你想要的代码风格,例如:

BasedOnStyle:LLVMIndentWidth:4UseTab:NeverBreakBeforeBraces:Allman
在 VS Code 中配置自动格式化:

settings.json中添加:

{"editor.formatOnSave":true,"C_Cpp.clang_format_path":"/path/to/clang-format",// clang-format 可执行文件路径"C_Cpp.clang_format_style":"file"// 使用项目中的 .clang-format 文件}

二、clangd(C/C++ 语言服务器)

1. 是什么?

clangd是 LLVM 官方推出的一个C/C++ 语言服务器,它基于 Clang/LLVM,实现了Language Server Protocol (LSP),为编辑器提供强大的代码智能支持功能。

它相当于一个“代码大脑”,能为编辑器提供:

  • 代码补全(IntelliSense)
  • 语法错误检测(实时诊断)
  • 跳转到定义/声明
  • 查找引用
  • 代码重构支持
  • 悬浮提示(鼠标放上去显示类型/文档)
  • ……

它是现代 C/C++ 开发中提升代码编写效率和质量的核心工具之一


2. 主要功能

功能说明
代码补全输入时自动提示可能的代码(函数、变量、类成员等)
错误诊断实时显示语法错误、类型不匹配、未定义变量等
跳转定义/声明Ctrl+Click 或快捷键跳转到函数/变量定义处
查找引用查看某个函数/变量在哪些地方被使用
代码重构支持重命名符号、提取函数等(部分支持)
悬浮提示鼠标悬停在代码上显示类型、注释等信息
代码格式化部分版本支持与 clang-format 联动格式化

3. 对应的 VS Code 插件

在 VS Code 中,使用官方提供的clangd 扩展来集成 clangd 语言服务器。

官方插件:
  • Clangd(由 LLVM 团队维护)
    Marketplace 链接:https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.vscode-clangd
主要功能(通过插件实现):
  • 自动启动 clangd 语言服务器。
  • 提供代码补全、错误提示、跳转、重构等 LSP 功能。
  • 支持读取compile_commands.json以正确解析项目代码(关键!)。
  • 支持自定义 clangd 启动参数(如指定编译器、头文件路径等)。

4. 如何使用 clangd?

前提条件:
  • 安装clangd(通常随 LLVM 一起安装,如sudo apt install clangd,或从 https://releases.llvm.org/ 下载预编译包)。
  • 确保你的项目有compile_commands.json(可通过 CMake 配置set(CMAKE_EXPORT_COMPILE_COMMANDS ON)生成)。
在 VS Code 中配置:
  1. 安装官方插件:Clangd
  2. (可选)在settings.json中配置 clangd 路径(如果 clangd 不在系统 PATH 中):
    {"clangd.path":"/path/to/clangd"// 例如 /usr/bin/clangd 或 ~/llvm/bin/clangd}
  3. 确保项目根目录有compile_commands.json(关键!用于 clangd 正确解析头文件和编译选项)。
  4. 打开 C/C++ 项目,clangd 会自动启动并提供智能支持。

三、clang-format 与 clangd 对比总结

工具类型核心功能是否需要编译信息(如 compile_commands.json)主要用途
clang-format代码格式化工具自动格式化代码(缩进、空格、换行、括号等)❌ 不需要统一代码风格,美化排版
clangd语言服务器(LSP)代码补全、错误检测、跳转定义、重构、悬浮提示等✅ 推荐(通过 compile_commands.json)提升编码效率,智能提示与错误检查

四、推荐搭配使用

在实际 C/C++ 开发中,推荐将两者结合使用:

  1. clangd:提供智能编码支持(补全、跳转、错误检查等),是开发时的“智能助手”。
  2. clang-format:提供代码风格统一,通常在保存文件时自动格式化,保证团队代码风格一致。

五、总结

工具作用是否必须推荐程度适用场景
clangd智能代码补全、错误检查、跳转定义等 LSP 功能✅ 强烈推荐⭐⭐⭐⭐⭐所有 C/C++ 开发者,提升编码效率与质量
clang-format自动格式化代码,统一代码风格✅ 推荐⭐⭐⭐⭐团队协作、代码规范管理

六.以trae为例手把手教你完成clangd与clang-format安装与使用

基于本地进行安装

首先可以去对应网址:https://github.com/clangd/clangd/releases/tag/19.1.2(点击即可)把对应的clangd压缩包下载下来。

  • 根据电脑系统进行下载。


  • 打开后可以看到对应可执行程序。

此时可以把它添加到对应环境变量:

  • 最后保存退出即可。

  • 此时说明已经成功安装。

对应的clang-format也是一样:https://github.com/llvm/llvm-project/releases?page=5(点击跳转)。

  • 最后安装完也是把对应路径添加到对应环境变量的PATH中。

最后回到trae进行这几个插件下载安装,可能会出问题,此时只需要配置一下对应json即可:



  • 把对应路径添加进去即可,如:"clangd.path": "/usr/bin/clangd"

以云服务器ubuntu22.04进行安装

安装clangd:

aptinstallclangd

安装clang-format:

aptinstallclang-format

  • 此时都已经安装成功。


  • 这里告诉trae在使用clangd插件的时候去云服务器这个路径去启动。

也可以通过配置json方式:

  • 把对应的clangd和clang-format的路径都贴过来。

但是如果这里安装了一些其他C++编译插件,可能会产生冲突等,可以选择禁用或者再json中表明禁用:

"C_Cpp.intelliSenseEngine":"disabled"
  • 添加这句话即可。

所以云服务器如果配置这俩直接添加对应json即可:

{"clangd.path":"your-clangd-path!!!","C_Cpp.intelliSenseEngine":"disabled","clang-format.executable":"your-clang-format-path!!!"}

注:

之后在使用cmake的时候,CMakeLists.txt文件一定要加上set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # 生成编译命令数据库

片尾小插曲:

“AI创作”这个词,最近太火了。

打开社交媒体,满屏都是“用AI写小说”“AI生成视频月入五万”“零基础做AI博主”……听起来很诱人,但更多人看完只是默默关掉页面,心里嘀咕一句:“这跟我有什么关系?我又不是程序员,也不会画画,连PPT都做得磕磕绊绊。”

于是,我们成了AI浪潮里的“旁观者”——看得热闹,却始终不敢下水。

但真相是:AI创作,从来就不是精英的专利,而是普通人的新机会。

你不需要会写代码,不需要有百万粉丝,甚至不需要“专业”的表达能力。你只需要一个动作:参与

而“参与”,恰恰是最容易被忽略的第一步。

最近,脉脉 AMA AI 创作者活动第二期上线,它没有设置高门槛的投稿要求,也没有强调“作品必须惊艳”。相反,它把“普通人如何迈出第一步”作为设计核心——只要你愿意关注、评论、提问,就能获得知识、反馈,还有实实在在的积分奖励。

这不是一场竞赛,而是一个邀请:邀请每一个觉得自己“不够格”的人,走进AI创作的真实现场。

那些最早在评论区提问的人,现在可能已经和创作者成了朋友;
那些最早尝试用AI写日报的人,现在可能被同事称为“效率达人”;
那些最早兑换30元红包的人,可能已经用这笔钱买了第一本AI工具书。

成长,从来不是等你“准备好了”才发生,而是在你“开始做了”之后悄然降临。

所以,别再问“我行不行”。

点开活动页面,关注一位你觉得有意思的创作者,留下一条真实的问题——
这就是你AI创作之路的第一步。

而这一步,比你想象中,更有价值,别再当看客了,AI这趟车,现在上车还不晚。咱们AMA活动里见 👉 AMA活动!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/2 4:16:08

她靠“冒牌”出道走红,四登春晚,被揭穿真面目后现状如何?

在娱乐圈这个光怪陆离的大舞台上,有人凭借真才实学步步登高,也有人靠“冒牌”手段意外走红,林萍便是其中颇具代表性的一位。她曾靠“冒牌”出道迅速蹿红,四度登上春晚的璀璨舞台,然而当真相被无情揭穿,她的…

作者头像 李华
网站建设 2026/5/3 7:48:10

HTML appendChild 用法详解与注意事项

在JavaScript DOM操作中,appendChild方法是向指定父节点末尾添加子节点的核心手段。它看似简单,但实际应用时若理解不深,常会导致布局错误、性能问题或难以调试的bug。掌握其正确用法和替代方案,是前端开发中实现动态内容更新的基…

作者头像 李华
网站建设 2026/5/1 9:47:15

必收藏!AI大模型应用开发工程师详解,小白程序员入门必看

当AI技术彻底走出实验室,从前沿概念迈入产业落地的核心赛场,技术研发的突破已不再是衡量其价值的唯一标尺,能否实现场景化落地、解决实际业务问题,逐渐成为定义AI技术核心竞争力的关键。 而在这场“技术落地”的变革中&#xff0…

作者头像 李华
网站建设 2026/5/9 17:36:53

如何在运用AI时保护隐私且省钱?部署本地AI助手(附教程)

如何在运用AI时保护隐私且省钱?部署本地AI助手(附教程) 在人工智能技术飞速发展的今天,AI大模型已经成为我们工作和生活中的得力帮手。然而,依赖云端服务不仅可能带来隐私泄露的风险,还可能产生高昂的费用。 如果你想…

作者头像 李华
网站建设 2026/5/10 13:16:35

基于LangChain与Ollama的API封装实战详解(含完整代码)

本文将介绍如果使用 LangChain 封装成 Api 提供给其他人使用。 环境搭建 在开始实际编码之前,首先需要搭建一个干净、稳定的开发环境。本文推荐使用 conda 管理虚拟环境,并利用 pip 安装所需的依赖包。以下将详细介绍如何创建环境并安装相关依赖。 创…

作者头像 李华