QT5 - 添加Astyle外部格式化工具

文章目录

QT5 - 添加Astyle外部格式化工具

概述

QT5自带格式化插件,但是设置参数不好设置。看控制台提示信息,没生效。

自己添加外部工具Astyle方便一些,直观。

笔记

添加外部工具

添加工具

将最新下载的Astyle-3.6.16-x64放到自己的工具目录

为了参数配置方便,只填写exe名称和配置文件名称。参数都写在配置文件中。

bash 复制代码
D:\AStyle\bin\AStyle.exe
--options=D:\AStyle\bin\my_style.cfg %{CurrentDocument:FilePath}

在配置文件中,按照Astyle语法写上规则就行了。

bash 复制代码
# @file my_style.cfg
# @brief 
# on qt 外部工具配置 --options=D:\AStyle\bin\my_style.cfg %{CurrentDocument:FilePath}

--style=1tbs
--indent=spaces=4

设置快捷键

QtCreator没有简单方法将配置的外部工具放到顶层菜单或者顶层工具条上,折中来说,设置快捷键就是最简单的了。

快捷键冲突的解决。

我用的CTRL + I 原来是自动缩进的快捷键。

可以搜索 "CTRL + I", 将变红的这个快捷键都找出来,删掉自己不用的快捷键就好了。

备注

剩下的事情,就是看ASytle新版文档,将需要的格式化参数加入D:\AStyle\bin\my_style.cfg

整理后的Astyle规则文件如下:

bash 复制代码
# @file my_style.cfg
# @brief 
# on qt 外部工具配置 --options=D:\AStyle\bin\my_style.cfg %{CurrentDocument:FilePath}

--style=1tbs
--indent=spaces=4
--attach-namespaces
--attach-classes
--attach-inlines
--attach-extern-c
--attach-closing-while
--indent-switches
--indent-cases
--indent-namespaces
--indent-labels
--indent-preproc-block
--indent-preproc-define
--indent-col1-comments
--min-conditional-indent=0 # 一行过长需要折成多行时,折行的行和第一个关键字对齐,不要缩进
--max-continuation-indent=40
--indent-lambda
--break-blocks
--pad-comma
--pad-include
--unpad-paren
--unpad-brackets
--delete-empty-lines
--squeeze-lines=1
--align-pointer=type
--align-reference=type
--break-one-line-headers
--add-braces
--attach-return-type
# --keep-one-line-blocks # 保留单行块
--close-templates
--remove-comment-prefix
--max-code-length=80
--break-after-logical
--squeeze-ws    # 用于压缩参数列表中多余的空格

备注

自己添加的外部工具会自动存为一个.xml, QtCreator启动时会自动载入这个.xml.

在QtCreator中不好改外部工具的命名,可以自己找到这个xml进行修改。

文件位置如下:

bash 复制代码
C:\Users\chenx>echo %APPDATA%\QtProject\qtcreator\externaltools\
C:\Users\chenx\AppData\Roaming\QtProject\qtcreator\externaltools\

END

相关推荐
用户8055336980315 小时前
不止三件套:QObject 属性系统全关键字与运行时反射!
c++·qt
xcyxiner15 小时前
DicomViewer (vcpkg Windows和ubuntu编译)7
qt
Quz6 天前
QML Hello World 入门示例
qt
xcyxiner9 天前
DicomViewer (dcmtk读取dcm文件)5
qt
xcyxiner9 天前
DicomViewer (后台线程处理文件)4
qt
xcyxiner10 天前
DicomViewer (添加模型类)3
qt
xcyxiner10 天前
DicomViewer (目录调整) 2
qt
xcyxiner10 天前
dcmtk vtk vtk-dicom(gdcm) 编译(debug) v2
qt
桥田智能12 天前
桥田智能 QT-650S:面向白车身焊装的 800kg 重载快换解决方案
开发语言·qt·系统架构
森G12 天前
75、服务器源码解析---------云视频服务项目
linux·服务器·网络·c++·qt