会飞的猪_2020 发表于 2023-8-29 19:28:28

使用clang-format格式化代码

代码格式虽然不影响程序实际的运行效果,但是它确是程序的重要组成部分。

每个人的风格不同,有的喜欢把大括号{}和“if、switch、while”写在同一行:
if (...){
}


而有的人喜欢分行
if (...)
{
}

有的人喜欢参数后面加空格,有的人不喜欢加。
如果一个团队有多人进行开发,那么风格不统一会看着很难受,这时候就可以使用clang-format来统一团队内的代码风格。

效果展示(这里将括号和关键字写在了同一行)

例程下载:


说明
我也是根据网络上的资料整理出来的,每个配置是什么效果并没有全部尝试。大家可以自行摸索。后面也给出了我参考资料的链接。


打开例程,进入user文件夹内,相比于原工程多了三个文件。
1.clang-format.exe
这个文件我是从MDK5的目录下面拷贝过来的,它原来的路径在 C:\Keil_v5\ARM\ARMCLANG\bin\clang-format.exe
2..clang-format
这个是格式化规则的配置文件
3.clangfile.bat
这个是格式化当前目录下的代码的脚本。

在命令行输入
.\clangfile.bat
就可以格式化代码。

如果子文件和父文件目录下都存在.clang-format文件,那么以子文件目录下为准。
在源代码中可以使用下面的注释,来局部打开关闭clang -format
// clang-format off
...
...
...
// clang-format on

参考链接
1.clang-format文件每个配置的具体含义可以参考:.clangformat文件的每个配置的作用
2.官方文档:官方文档
3.MDK里如何使用:MDK插件配置clang-format
4.我是参考这个仓库抄的bat脚本:https://gitee.com/bigearrabbit/clang-format

eric2013 发表于 2023-8-31 11:40:13

谢谢楼主分享。

wdliming 发表于 2023-8-31 17:31:00

astyle就足够了吧,这个有啥特别的吗?
页: [1]
查看完整版本: 使用clang-format格式化代码