qt creator源码全方面分析(2-3)
External Tool Specification Files
外部工具规范文件描述了可以从工具>外部菜单运行的工具。 它指定工具的名称,要运行的可执行文件,可选参数以及如何处理工具的输出。
文件名
<yourtoolname>.xml
位置
用户指定工具位于Mac和Linux上的$HOME/.config/QtProject/qtcreator/externaltools中,以及Windows上的%APPDATA%\QtProject\qtcreator\externaltools中。
系统级别工具位于Windows和Linux上的<Qt Creator install>/share/qtcreator/externaltools中,以及在Mac上的Qt Creator.app/Contents/Resources/externaltools中。
文件格式
外部工具规范是具有以下结构的XML文件。
主要标签
根标签是externaltool。 它具有强制属性id。
| 标签 | 含义 |
|---|---|
| externaltool | XML文件中的根元素,指定外部工具 |
| 属性 | 含义 |
|---|---|
| id | 标识外部工具的字符串。两个工具不能具有相同的ID。要求项 |
描述标签
您必须为该工具指定描述,显示名称和类别。 您可以通过添加包含语言代码的多个描述,显示名称和类别标签,来将其值转换为不同的语言。
| 标签 | 含义 |
|---|---|
| description | 关于工具用途的简短的单行描述。要求项。 |
| displayname | 要显示在工具菜单项中的名称。要求项。 |
| category | 显示工具所在类别的名称。这是放置工具的工具>外部菜单的子菜单的名称。例如,指定值text以显示在工具>外部>text菜单中。要求项。 |
| 属性 | 含义 |
|---|---|
| xml:lang | 用于描述,显示名称或类别的语言的语言代码(例如"en"或"de")。可选项。 |
可执行规范标签
您必须在根标签下添加一个可执行标签,该标签指定要运行的可执行文件,可选参数,以及如何处理输出。
| 标签 | 含义 |
|---|---|
| executable | 包含多个子标签,用于指定运行的程序和使用的参数。要求项。 |
| 属性 | 含义 |
|---|---|
| output | 指定如何处理工具的标准输出流。默认为ShowInPane。可选项。 |
| error | 指定如何处理工具的标准错误流。默认为ShowInPane。可选项。 |
| modifiesdocument | 指定Qt Creator是否应期望对当前文档进行更改。如果设置了此标志,则Qt Creator会提示用户在运行该工具之前,将更改保存到当前文档中,并在该工具完成后无提示地重新加载当前文档。 可能的值为:"yes"或"no"(默认为"no")。可选项。 |
executable标签允许以下子标签。 您必须至少指定一个path子标签。 所有子标签都可以包含特殊的Qt Creator变量。
| 子标签 | 含义 |
|---|---|
| path | 要运行的可执行文件的文件路径,包括文件名。 如果您指定可执行文件名不带路径,则Qt creator将在检查系统PATH环境变量用作可执行文件的路径。 您可以多次指定路径。Qt Creator尝试以给定的顺序解析引用,并运行它找到的第一个可执行文件。要求项。 |
| arguments | 可执行文件的命令行参数。以工具所在系统平台命令行相同的格式指定字符串(例如,有关引号和参数拆分)。可选项。 |
| workingdirectory | 可执行文件工作目录。可选项。 |
| input | 潜在多行字符串,通过标准输入流传递给工具。 |
示例
<?xml version="1.0" encoding="UTF-8"?>
<externaltool id="sort">
<description>Sorts the selected text</description>
<description xml:lang="de">Sortiert den ausgewaehlten Text</description>
<displayname>Sort Selection</displayname>
<displayname xml:lang="de">Auswahl Sortieren</displayname>
<category>Text</category>
<category xml:lang="de">Text</category>
<executable output="replaceselection" error="ignore">
<path>sort</path>
<input>%{CurrentDocument:Selection}</input>
<workingdirectory>%{CurrentDocument:Path}</workingdirectory>
</executable>
</externaltool>
原创造福大家,共享改变世界
献出一片爱心,温暖作者心灵

qt creator源码全方面分析(2-3)的更多相关文章
- qt creator源码全方面分析(3-3)
目录 qtcreatordata.pri 定义stripStaticBase替换函数 设置自定义编译和安装 QMAKE_EXTRA_COMPILERS Adding Compilers 示例1 示例2 ...
- qt creator源码全方面分析(3-5)
目录 qtcreatorlibrary.pri 使用实例 上半部 下半部 结果 qtcreatorlibrary.pri 上一章节,我们介绍了src.pro,这里乘此机会,把src目录下的所有项目文件 ...
- qt creator源码全方面分析(0)
本人主攻C++和Qt. 上两天刚研究完Qt install framework(IFW)应用程序安装框架. google没发现有正儿八经的官方文档的翻译,我就进行了翻译哈!! 系列文章具体见:http ...
- qt creator源码全方面分析(4-0)
Qt系统 Qt Creator源码是在Qt对象和框架基础下写的,因此,阅读Qt Creator源码,你首先对Qt得有一定的了解. Qt Core Qt Core特征: The Meta-Object ...
- qt creator源码全方面分析(4-2)
目录 global头文件 global.h xx.h global头文件 插件的本质就是动态链接库,对于库,需要导出符号,供用户导入使用.在qt creator的源码中,存在固定的导入导出模式. gl ...
- qt creator源码全方面分析(4-5)
目录 Qt中的字符串 QLatinString 详细介绍 源码 小结 QStringLiteral(str) 详细介绍 源码 小结 Qt中的字符串 Qt中处理字符串最常用的肯定是QString,但是在 ...
- qt creator源码全方面分析(4-6)
目录 Qt插件基础 Qt插件基础 我们知道Qt Creator源码是基于插件架构的,那么我们先来介绍下插件基础知识. 相关内容如下: How to Create Qt Plugins [ - Defi ...
- qt creator源码全方面分析(3-2)
目录 qtcreator.pri 判断重复包含 定义版本信息 VERSION 定义IDE名称 启用C++14 CONFIG 自定义函数 Replace Functions Test Functions ...
- qt creator源码全方面分析(2-7)
目录 Completing Code 补全代码片段 编辑代码片段 添加和编辑片段 删除片段 重置片段 补全Nim代码 Completing Code 在编写代码时,Qt Creator建议使用属性,I ...
- qt creator源码全方面分析(2-10-1)
目录 Getting and Building Qt Creator 获取Qt 获取和构建Qt Creator Getting and Building Qt Creator 待办事项:应该对此进行扩 ...
随机推荐
- try catch 自定义捕获异常
当我们完成一个程序时,如果没有异常捕获的话,用户使用时会出现许多bug.而加入异常捕获之后便会提醒用户使用时避免产生不必要的错误.具体操作实现如下: 首先创造一个MyException类,继承自Exc ...
- Scala实践6
1 if表达式 Scala中if...else..表达式是有返回值的,如果if和else返回值类型不一样,则返回Any类型. scala> val a3=10 a3: Int = 10 sca ...
- a标签点击触发 layer open 只显示背景解决
问题:公司网站突然说有个查看信息的点击不好使了,有时候点击无反应,但是href执行了,有时候弹出只有背景,不显示内容.网上找了a标签的各种方法尝试后,均不能解决. 代码:类似如下,method()方法 ...
- 打造m3u8视频(流视频)下载解密合并器(kotlin)
本文是对我原创工具m3u8视频下载合并器关键代码解析及软件实现的思路的讲解,想要工具的请跳转链接 1.思路说明 思路挺简单,具体步骤如下: 下载m3u8文件 解析m3u8文件获得ts文件列表 根据文件 ...
- vuex使用面板报 Unexpected token错误
Module build failed: SyntaxError: D:/frontend/webtest/src/components/mutations.vue: Unexpected token ...
- C#中的委托是什么
1.什么是委托?(方法作另一个方法的参数)delegate void MyDel(int value); //声明委托类型和类一样,委托是用户自定义的类型,但是类是数据和方法的集合,而委托是持有 ...
- Redux 一步到位
简介 Redux 是 JavaScript 状态容器,提供可预测化的状态管理 Redux 除了和 React 一起用外,还支持其它库( jquery ... ) 它体小精悍(只有2kB,包括依赖) 由 ...
- 归一化 (Normalization)、标准化 (Standardization)和中心化/零均值化 (Zero-centered)
博主学习的源头,感谢!https://www.jianshu.com/p/95a8f035c86c 归一化 (Normalization).标准化 (Standardization)和中心化/零均值化 ...
- 洛谷 P5424 [USACO19OPEN]Snakes
题目链接 题目描述 传说,数千年前圣帕特里克消灭了哞尔兰所有的蛇.然而,蛇们现在卷土重来了!圣帕特里克节是在每年的3月17日,所以Bessie要用彻底清除哞尔兰所有的蛇来纪念圣帕特里克. Bessie ...
- ORM基础3 在python脚本里调用Django环境
1.查询 1.# all获取所有的object,结果QuerySet,列表 print('all'.center(80, '=')) ret = models.Person.objects.all() ...