QtCreator 格式化代码
Beautifier 插件介绍
Qt Creator 本身默认支持代码格式化,具体格式化快捷键为:Ctrl+i
。可以选择部分或全部选择后执行 Ctrl+i
操作完成代码格式化。但只限于缩进格式化,不会对大括号位置、小括号前后空格、运算符前后空格等进行格式化操作,显然使用起来并不是那么的舒心。
要优雅的实现全面的代码风格格式化就需要利用 Qt Creator 内置的 Beautifier
插件,这个插件可以通过以下外部三种工具来格式化源代码:
- Artistic Style
- ClangFormat
- Uncrustify
Beautifier 可以对代码的赋值语句、if块、循环等,按照 Beautifier 选项中指定的格式对其进行格式化。可以使用预定义的样式,也可以定义自己的样式。
配置Beautifier步骤
1、下载并安装用于格式化源代码的工具(三种任选其一)
- Artistic Style(推荐)
- ClangFormat
- Uncrustify
2、选择 帮助 > 关于插件 > C ++ > Beautifier
勾选以启用该插件
3、重新启动 Qt Creator
并加载插件
4、选择 工具 > 选项 > Beautifier
以指定美化文件的设置。
5、勾选Enable auto format on file save
复选框,以使用在“工具”字段中选择的工具保存文件时自动格式化文件。
1、使用 ArtisiticStyle
中文文档:https://www.codenong.com/cs107035023/
下载
http://astyle.sourceforge.net/
https://jaist.dl.sourceforge.net/project/astyle/astyle/astyle%203.4/astyle-3.4.10.zip
根据个人所使用的系统版本选择对应的下载文件,无论编译器是 vs 还是 mingw 均可用;如果是linux需要自行编译。
配置 Beautifier
-
在 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添加。
自定义示例
#ANSI标准的文件格式,
#--style=ansi :ANSI 风格格式和缩进
#--style=kr :Kernighan&Ritchie 风格格式和缩进
#--style=linux :Linux 风格格式和缩进
#--style=gnu :gnu 风格格式和缩进
--style=kr
indent=spaces=4 # 缩进采用4个空格
indent-switches # -S 设置 switch 整体缩进
indent-cases # -K 设置 cases 整体缩进
indent-namespaces # -N 设置 namespace 整体缩进
indent-preproc-block # -xW 设置预处理模块缩进
indent-preproc-define # -w 设置宏定义模块缩进
pad-oper # -p 操作符前后填充空格
delete-empty-lines # -xe 删除多余空行
add-braces # -j 单行语句加上大括号
align-pointer=name # *、&这类字符靠近变量名字
#align-pointer=type *、&这类字符靠近类型
使用
通过过工具 -> Beautifier -> Artisitic style -> Fomat 即可对当前文档格式化。或者在文档修改保存时会自动格式化。
2、使用Clang-format
下载
https://releases.llvm.org/download.html
配置 Beautifier
-
在 Beautifier 配置选择为 Clang-format
-
在 Clang-format 配置页面设置 Clang-format 的 exe 文件路径。
自定义编码风格
# Clang-format 官方文档
https://clang.llvm.org/docs/ClangFormatStyleOptions.html
除此以外还可以进行自定义,点击配置页最下方 Use customized style -> Add ,在弹出窗口中写入你想要的代码格式化样式,可以通过Github上在搜索自定义配置。
使用
通过过工具 -> Beautifier -> ClangFormat -> Format Current File 即可对当前文档格式化,当然默认快捷键依然可以。
3、使用 uncrustify
下载
https://sourceforge.net/projects/uncrustify/files/uncrustify/
配置 Beautifier
- 在 Beautifier 配置选择为 uncrustify ;
- 在 uncrustify 配置页面设置 uncrustify 的可执行文件路径。
配置方式基本与上两种工具类似,这里节省篇幅就不贴图了。
自定义编码风格
与上两种方式配置基本相同,也支持Goolge的代码风格。大家也可以在Github搜索自己喜欢的风格应用。
使用
通过过工具 -> Beautifier -> uncrustify -> Format 即可对当前文档格式化,当然默认快捷键依然可以。
三种代码格式化工具,大家可根据自身喜好任选其一使用。