这将使 VSCode 在保存 C/C++ 文件时自动运行 clang-format

  • 确保已安装 Clang-Format 扩展。你可以在 VSCode 的扩展市场中搜索并安装 Clang-Format 插件。

  • 4. 手动运行格式化

    如果不想在保存时自动格式化,可以手动运行 clang-format

    五、完整实例:在 VSCode 中自动格式化 C++ 项目

    假设你有一个简单的 C++ 项目,目录结构如下:

    project-root/
    │
    ├── main.cpp
    ├── utils.cpp
    ├── utils.h
    └── .clang-format
     class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
    1. 创建 .clang-format 文件:在 project-root/ 目录下创建 .clang-format 文件,添加以下内容:

      BasedOnStyle: LLVM
      IndentWidth: 4
      ColumnLimit: 80
      SortIncludes: true
       class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
      • 1
      • 2
      • 3
      • 4

      这将基于 LLVM 风格格式化代码,并使用 4 空格缩进,列宽限制为 80 字符。

    2. 编写示例代码:在 main.cpp 中编写一段未格式化的代码:

      #include 
      #include "utils.h"
      
      int main() {
      std::cout << "Hello, World!"<<std::endl;
      int result=add(5,10);
      std::cout<<"Result: "<<result<<std::endl;
      return 0;
      }
       class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
    3. 格式化代码:保存文件时,VSCode 会自动运行 clang-format,格式化后的代码如下:

      #include 
      #include "utils.h"
      
      int main() {
          std::cout << "Hello, World!" << std::endl;
          int result = add(5, 10);
          std::cout << "Result: " << result << std::endl;
          return 0;
      }
       class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
    六、自动化方案的优势

    使用 clang-format 自动格式化代码有以下优势:

    七、总结

    clang-format 是一个不可或缺的工具,尤其在大型团队和项目中使用时能显著提高代码质量和可维护性。通过在 VSCode 中配置 clang-format,开发者可以实现代码的自动格式化,从而专注于编写高质量代码而不是格式问题。希望本文能帮助你在项目中轻松集成 clang-format,让代码格式化变得简单而高效。

    data-report-view="{"mod":"1585297308_001","spm":"1001.2101.3001.6548","dest":"https://blog.csdn.net/Interview_TC/article/details/143590291","extend1":"pc","ab":"new"}">>
    注:本文转载自blog.csdn.net的嵌入式Jerry的文章"https://blog.csdn.net/Interview_TC/article/details/143590291"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
    复制链接

    评论记录:

    未查询到任何数据!