QtCreator 格式化代码

发布时间 2023-11-06 13:06:31作者: 黄河大道东

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 并加载插件

image

4、选择 工具 > 选项 > Beautifier 以指定美化文件的设置。

5、勾选Enable auto format on file save复选框,以使用在“工具”字段中选择的工具保存文件时自动格式化文件。

image

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添加。

image

自定义示例

#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 即可对当前文档格式化,当然默认快捷键依然可以。

三种代码格式化工具,大家可根据自身喜好任选其一使用。

参考

https://www.modb.pro/db/386030