使用Clang格式化代码

Posted hustcpp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Clang格式化代码相关的知识,希望对你有一定的参考价值。

在写c/c++ 代码的时候,经常需要格式化代码,提高可读性, 这里介绍几种方法方便格式化

安装工具

Clang( 附带安装clang-tidy,git-clang-format,clang-tidy-format)

$clang-format -version
clang-format version 10.0.0 

which clang-format   
/usr/bin/clang-format

使用

clang-format  -i -style=file test.cpp

-i 表示覆盖文件,否则会把格式化的文件打印出来
-style 是风格设置, file 时会在工作目录查找.clang-format 文件,这个文件可以在官网下载,然后自己根据需要修改。

vscode 集成

  1. 安装c/c++ 插件后,配置settings.json
    // "C_Cpp.errorSquiggles": "Disabled", // 因为有clang的lint,所以关掉
    // "C_Cpp.clang_format_sortIncludes": true, // 格式化时调整include的顺序(按字母排序)
    // "C_Cpp.clang_format_path": "/usr/bin/clang-format",
    // "C_Cpp.clang_format_style": "file"
  1. 配置save 时进行格式化

git 集成

clang 提供了 git-clang-format 的工具, 当stage 文件之后, 执行 git-clang-format 可以格式化代提交的代码, 比起vscode 的自动格式化,这种效率比较高

git-clang-format                                          
changed files:
    test/test.cpp

当没有文件stage 时

$git-clang-format
clang-format did not modify any files

以上是关于使用Clang格式化代码的主要内容,如果未能解决你的问题,请参考以下文章

clang-format代码格式化风格选项详细说明

clang-format代码格式化风格选项详细说明

vscode配置clang-format自动格式化代码

vscode配置clang-format自动格式化代码

vscode配置clang-format自动格式化代码

vscode配置clang-format自动格式化代码