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

相关推荐
小小龙学IT15 小时前
Qt 元对象系统(Meta-Object System)深度解析:从 MOC 到反射式编程
数据库·qt
小王C语言16 小时前
QT 基础:QT SDK 下载、配置、新建项目、项目代码解释
开发语言·qt
张人玉20 小时前
基于 Python + PyQt5 的水果目标检测与分割可视化系统——水果深度学习识别可视化大屏
python·深度学习·qt·目标检测·sqlite·echarts
程与留2 天前
12_常用控件速查(下):QSpinBox、QSlider、QProgressBar、QCheckBox
c++·qt
秋田君2 天前
QT_HTTP协议编程
qt·http·iphone
码农客栈2 天前
Qt 打包为可执行文件发布
qt
布莱克6053 天前
单例模式详解:什么是单例模式,它能解决哪些问题?
开发语言·qt·单例模式
qq762118223 天前
windows Qt mingw 编译libzip
开发语言·windows·qt
skr爱码士3 天前
10_Qt Designer 与 UI 文件(.ui 原理、uic 编译、动态加载)
c++·qt·ui·客户端
IT爱学堂3 天前
QT原理与源码分析可以学到什么 QT视频课程 QT课程推荐 最新推荐
开发语言·qt