硬汉嵌入式论坛

 找回密码
 立即注册
查看: 707|回复: 2
收起左侧

[辅助工具] 使用clang-format格式化代码

[复制链接]

39

主题

198

回帖

325

积分

高级会员

积分
325
发表于 2023-8-29 19:28:28 | 显示全部楼层 |阅读模式
代码格式虽然不影响程序实际的运行效果,但是它确是程序的重要组成部分。

每个人的风格不同,有的喜欢把大括号{}和“if、switch、while”写在同一行:
[C] 纯文本查看 复制代码
if (...){
}



而有的人喜欢分行
[C] 纯文本查看 复制代码
if (...)
{
}


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

效果展示(这里将括号和关键字写在了同一行)
格式化代码.gif
例程下载:
V5-000_程序模板.7z (5.78 MB, 下载次数: 9)

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


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

在命令行输入
[C] 纯文本查看 复制代码
.\clangfile.bat

就可以格式化代码。

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


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

评分

参与人数 1金币 +100 收起 理由
eric2013 + 100 很给力!

查看全部评分

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2023-8-31 11:40:13 | 显示全部楼层
谢谢楼主分享。
回复

使用道具 举报

73

主题

1194

回帖

1413

积分

至尊会员

积分
1413
发表于 2023-8-31 17:31:00 | 显示全部楼层
astyle就足够了吧,这个有啥特别的吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-5 17:04 , Processed in 0.226281 second(s), 33 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表