首页 > 其他分享 >QtCreator 格式化代码

QtCreator 格式化代码

时间:2023-11-06 13:12:33浏览次数:46  
标签:缩进 格式化 代码 style QtCreator Beautifier uncrustify astyle

目录

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

标签:缩进,格式化,代码,style,QtCreator,Beautifier,uncrustify,astyle
From: https://www.cnblogs.com/hhddd-1024/p/17812399.html

相关文章

  • RGB颜色查询对照表(HTML RGB 颜色代码表,颜色对照表)
    RGB颜色查询对照表 颜色码对照表颜色英文代码形象描述十六进制RGBLightPink浅粉红#FFB6C1255,182,193Pink粉红#FFC0CB255,192,203Crimson猩红#DC143C220,20,60LavenderBlush脸红的淡紫色#FFF0F5255,240,245PaleVioletRed苍白的紫罗兰红色#DB7093219,112,147HotPink热情的粉红#FF69......
  • 成功复制CSDN博客中的代码的几种方法
    背景由于公司有规定,不能直接登陆CSDN,由于工作中时不时会参考一下CSDN的代码(主要是想一键复制),而鼠标放到代码上面则会提示登陆后复制,这就很伤心难过了。CSDN代码要登录才能复制,让这个平台的使用体验极其不太好(仅此吐槽一下而已),小编为大家整理了以下几种方法可以解决。目录1、......
  • javascript中的时间格式化的方法
     javascript中的时间格式化的方法 Date.prototype.format=function(format){varo={"M+":this.getMonth()+1,//month"d+":this.getDate(),//day"h+":this.getHours(),//hour&quo......
  • 解锁JVS低代码表单流水号配置的秘密:一步步教你如何设置
    在数字化时代,表单成为了我们日常生活和工作中不可或缺的一部分。无论是在线申请、数据录入还是业务流程管理,表单都发挥着重要的作用。为了确保数据的准确性和可追溯性,流水号的概念应运而生。流水号作为表单数据记录的唯一标识,为每一份数据赋予了独特的身份,使得数据的处理和管理更加......
  • git代码回滚方法
    方法一:1项目目录中右击菜单TortoiseGit 右键选择然后点击showlog2选中需要回退的代码版本3.右键 选择“Reset"mastertothis”4. 类型选择“hard”,点击确定5.本地代码回滚好了,线上也需要同步回滚,右键"TortoiseGit"---"push",一定要勾选上"knownchanage"(强制变......
  • 求最大公约数伪代码
    欧几里得算法欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。计算方法:gcd(a,b)=gcd(b,amodb)(不妨设a>b且r=amodb,r不为0)其中gcd指最大公约数,mod指取模运算(因为操作数为正数,看成取余),伪代码里取余写作REMhttps://baike.baidu.com/item/%E6%AC%A......
  • 请使用JavaScript比较两个日期的代码
    内容来自DOChttps://q.houxu6.top/?s=请使用JavaScript比较两个日期的代码有人能提供一种使用JavaScript比较两个日期值大于、小于和不在过去的方法吗?这些值将来自文本框。使用JavaScript比较两个日期值大于、小于和不在过去的方法如下:使用Date对象,可以为每个日期构造一个......
  • 求最大公约数伪代码
    求最大公约数伪代码1.上网查找什么是求两个数的最大公约数的欧几里得算法(辗转相除法),提交算法说明和网上链接。欧几里得算法(辗转相除法)是求两个数的最大公约数的经典算法。其基本思想是:用较大的数除以较小的数,然后用余数作为新的被除数,继续进行操作,直到余数为0,此时的除数即为最......
  • 求最大公约数伪代码(课下测试,必做)
    1.上网查找什么是求两个数的最大公约数的欧几里得算法(辗转相除法),提交算法说明和网上链接。欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b)=gcd(b,amodb)。两个整数的最大公约数是能够同时整除它们......
  • Redis创始人开源最小聊天服务器,仅200行代码,几天功夫已获2.8K Star!
    Redis创始人开源最小聊天服务器,仅200行代码,几天功夫已获2.8KStar! 中午时候,在技术交流群里聊起关于Redis创始人的一些趣事,比如离开Redis之后,去写科幻小说之类的。因为好奇科幻小说,TJ君就去搜索了一下。结果一搜,发现Redis作者最近居然又搞了个新活儿!世界上最小的聊天服务器......