简介
Clang-format既是一个库,也是一个独立的工具,它的目标是根据可配置的样式指南自动重新格式化源文件,主要是处理缩进、换行、对齐、空格等排版问题。可用来格式化C/C++、Java、JavaScript、Objective-C、Protobuf、C# 等代码。其内置有几种代码风格分别是LLVM, Google, Chromium, Mozilla, WebKit, Microsoft,GNU,也可以使用自定义的样式YAML配置文件(.clang-format )来进行配置。优先使用项目中的 .clang-format文件,如果项目中不存在配置文件,会查找系统中的 .clang-format 文件。如果找不到样式文件,则使用备用风格进行格式化。
准备Clang-format
现在Keil MDK V6版本的keil已经自带Clang-format,可以在打开LLVM的Github版本下载,最新版本下载网址:https://github .com/llvm/llvm-project/releases
方法
添加格式化按钮
点击“Tools”->”Customize Tools Menu”,在弹出的窗口中输入以下内容
Menu Content新建条目,输入clang-format for current file
Command中输入clang-format.exe所在位置,比如D:\Keil_v5\KEIL_20251216\ARM\ARMCLANG\bin\clang-format.exe
Arguments中输入--style=file -fallback-style=Google-i !E,可以根据自己想要的风格改,把Google改成下面的风格即可
Clang-format自带六种配置:
LLVM:这是默认配置,遵循 LLVM 项目的代码风格。
Google:遵循 Google 的 C++ 代码风格。
Chromium:遵循 Chromium 项目的代码风格。
Microsoft:遵循 Microsoft 的 C++ 代码风格。
Mozilla:遵循 Mozilla 项目的代码风格。
WebKit:遵循 WebKit 项目的代码风格
点击OK确认即可
图表 11添加格式化按钮
附:
!:带扩展名和当前文件夹的相对路径说明的文件名
E: 当前焦点所在的编辑器文件名
添加格式化快捷键
- 点击“edit”->“Configuration”,在弹出的窗口中选择“Shortcut Keys”。
- 选择上一步新建的项“Tools:clang-format for current file”。
- 点击“Create Shortcut“,在弹出窗口后按下快捷键,如Alt+Shift+F,或其他,点击“OK”即可创建快捷键。
图表 12新建快捷键
使用
保存完修改的源文件后,点击Tools菜单栏的“clang-format current file”按钮或者使用快捷键均可格式化文件。格式化时会在“Build Output”窗口输出一些信息,如果格式化出错,会在这里提示。
参考链接
https://zhuanlan.zhihu.com/p/647281361