Qt Creator 本身默认支持代码格式化,具体格式化快捷键为:Ctrl+i 。可以选择部分或全部选择后执行 Ctrl+i 操作完成代码格式化。但只限于缩进格式化,不会对大括号位置、小括号前后空格、运算符前后空格等进行格式化操作,显然使用起来并不是那么的舒心。
那么如何优雅的实现全面的代码风格格式化?这就需要利用 Qt Creator 内置的 Beautifier 插件。
Beautifier 插件
借助 Beautifier 插件,我们可以通过以下外部工具来格式化源代码:
-
Artistic Style
-
ClangFormat
-
Uncrustify
Beautifier 可以对代码的赋值语句、if块、循环等,按照 Beautifier 选项中指定的格式对其进行格式化。可以使用预定义的样式,也可以定义我们自己的样式。
如何使用 Beautifier ?
要使用Beautifier插件:
下载并安装用于格式化源代码的工具(三者选其一):
-
Artistic Style
-
ClangFormat
-
Uncrustify
选择 帮助 > 关于插件 > C ++ > Beautifier 以启用该插件。
选择 立即重新启动 以重新启动 Qt Creator 并加载插件。
选择工具 > 选项 > Beautifier 以指定美化文件的设置。
勾选“Enable auto format on file save”复选框,以使用在“工具”字段中选择的工具保存文件时自动格式化文件。
配置 ArtisiticStyle 方式
首选需要下载 Artisitic 。
// 下载地址
http://astyle.sourceforge.net/
根据个人所使用的系统版本选择对应的下载文件,无论编译器是 vs 还是 mingw 均可用;如果是linux需要自行编译。
下载完成后,在 Qt Creator 中配置如下:
-
在 Beautifier 配置选择为 Artisitic Style ;
-
在 Artisitic 配置页面设置 Artisitic的exe文件路径。
自定义编码风格
Astyle 提供了一系列现成的风格,具体参见:
http://astyle.sourceforge.net/astyle.html
//google 风格样式
http://astyle.sourceforge.net/astyle.html#_style=google
除此以外还可以进行自定义,需要在Artisitic style的use custom style中通过Add添加。
使用
通过过工具 -> Beautifier -> Artisitic style -> Fomat 即可对当前文档格式化。或者在文档修改保存时会自动格式化。
配置 Clang-format 方式
首选需要下载 clang-format 可执行文件。同样需要根据个人所使用的系统版本选择对应的下载文件。
// Pre-Built Binaries:
https://releases.llvm.org/download.html
下载安装完成后,在 Qt Creator 中配置如下:
-
在 Beautifier 配置选择为 Clang-format ;
- 在 Clang-format 配置页面设置 Clang-format 的exe文件路径。
自定义编码风格
Clang-format 提供了一系列现成的风格,如Google C++ 风格,具体参见:
// Clang-format 官方文档
https://clang.llvm.org/docs/ClangFormatStyleOptions.html
除此以外还可以进行自定义,点击配置页最下方 Use customized style -> Add ,在弹出窗口中写入你想要的代码格式化样式,可以通过Github上在搜索自定义配置。
使用
通过过工具 -> Beautifier -> ClangFormat -> Format Current File 即可对当前文档格式化,当然默认快捷键依然可以。
配置 uncrustify 方式
首选需要下载 uncrustify 。
// 下载最新版本即可,下载完成后解压到一个指定目录
https://sourceforge.net/projects/uncrustify/files/uncrustify/
下载解压完成后,在 Qt Creator 中配置如下:
-
在 Beautifier 配置选择为 uncrustify ;
-
在 uncrustify 配置页面设置 uncrustify 的可执行文件路径。
配置方式基本与上两种工具类似,这里节省篇幅就不贴图了。
自定义编码风格
与上两种方式配置基本相同,也支持Goolge的代码风格。大家也可以在Github搜索自己喜欢的风格应用。
使用
通过过工具 -> Beautifier -> uncrustify -> Format 即可对当前文档格式化,当然默认快捷键依然可以。
三种代码格式化工具,大家可根据自身喜好任选其一使用。