https://blog.csdn.net/qq_22207951/article/details/80220393
Qt高级——QtCreator代码格式化
一、QtCreator代码格式化简介
QtCreator提供了一个Beautifier插件,用于加载外部工具(Artistic Style、ClangFormat、Uncrustify)对代码进行格式化。
Beautifier会将源代码解析为结构模块,如赋值语句、IF语句块、循环体等等,并用Beautifier指定的选项对模块进行格式化。
Beautifier可以使用预定义和自定义风格对代码进行格式化
开启Beautifier插件支持
Qtcreator进入Help->About Plugins -> C++ -> Beautifier选中复选框,之后重启。
再进入Tools->Options,会看到Beautifier的选项。
看下图的配置:
三、Artistic Style
1、Artistic Style简介
Artistic Style是一个支持C、C++, C++/CLI, Objective-C, C#, Java语言的代码格式化工具。
官方网站:
http://astyle.sourceforge.net/
下载地址:
https://sourceforge.net/projects/astyle/files/
2、Artistic Style安装
解压astyle_3.1_linux.tar.gz
tar -zxvf astyle_3.1_linux.tar.gz
进入astyle/build目录
cd astyle/build
使用CMake生成MakeFile
cmake ../
编译
make
将编译生成的astyle拷贝到/usr/local/bin目录
sudo cp -rf astyle /usr/local/bin
在命令行测试:
astyle -h
3、Artistic Style配置
打开QtCreator4.6,点击菜单栏“Help > About Plugins > C++ > Beautifier ”菜单项。
确认Beautifier插件已经被选中。
打开“Tools > Options > Beautifier”配置Artistic-Style工具。
选中“Enable auto format on file save”,选择Tool为“ClangFormat”。
在Artistic Style选项页,选择Artistic Style命令程序所在的路径:/usr/local/bin/astyle。
选中“Use customized style”,点击Add按钮,增加一种自定义风格:
使用ansi风格,在运算符两侧增加空格作为风格。
在打开“Tools > Options > Environment->Keyboard->ArtisticStyle->FormatFile”,设置“Key sequence”为Ctrl+Alt+A。
4、Artistic Style预定义风格
Artistic Style预定义了多种代码缩进风格,如allman、kr、java、stroustrup、whitesmith、vtk、gnu、linux、horstmann、google、mozilla、lisp、pico、ansi等风格。可以使用--style参数指定。
5、Artistic Style使用
使用QtCreator编辑文件时,保存文件时或是使用快捷键Ctrl+Alt+A,Artistic Style都会自动格式化当前编辑的文件。
6、Artistic Style自定义风格
Artistic Style自定义风格通常在预定义风格基础上进行修改。
使用astyle -h可以查看Artistic Style的所有选项参数。
最简单的自定义风格如下:
--style=google
pad-oper # -p 操作符前后填充空格
indent=spaces=2 # 缩进采用2个空格
--fill-empty-lines # -E
#delete-empty-lines # -xe 删除多余空行
align-pointer=name # *、&这类字符靠近变量名字
#align-pointer=type *、&这类字符靠近类型
具体选项参数的含义查看http://astyle.sourceforge.net/astyle.html。
=================================设置完毕=================================
以下为Artistic Stype选项参数的含义:
Artistic Style 3.1
Maintained by: Jim Pattee
Original Author: Tal Davidson
Usage:
------
astyle [OPTIONS] File1 File2 File3 [...]
astyle [OPTIONS] < Original > Beautified
When indenting a specific file, the resulting indented file RETAINS
the original file-name. The original pre-indented file is renamed,
with a suffix of '.orig' added to the original filename.
Wildcards (* and ?) may be used in the filename.
A '