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 待办事项:应该对此进行扩 ...
随机推荐
- C# 使用nuget.exe发布类库及更新类库
前景:在开发学习阶段希望一些重复使用代码或者算法代码积累.能够在VS中下载安装方便使用. 准备工作: 1.Nuget登录账号(可 Microsoft 账号).Nuget官网 2.Nuget.exe程序 ...
- Task 线程重用导致等待!
测试代码: ; i < ; i++) { var d = DateTime.Now; Task.Run(() => { Console.WriteLine($"{Thread.C ...
- html转成pdf 下载,支持后台保存
最近有个需求,需要将html转换成pdf并支持下载 1.需要两个js库 下载 提取码: vab7 <script type="text/javascript" src=&qu ...
- Java入门 - 高级教程 - 01.数据结构
原文地址:http://www.work100.net/training/java-data-structure.html 更多教程:光束云 - 免费课程 数据结构 序号 文内章节 视频 1 概述 2 ...
- [LOJ#3044][动态DP]「ZJOI2019」Minimax 搜索
题目传送门 容易想到一种暴力 DP:先转化成对于每个 \(k\) 求出 \(\max_{i\in S}|i-w_i|\le k\) 的方案数,最后差分 然后问题转化成每个叶子的权值有个取值区间,注意这 ...
- 解决python爬虫requests.exceptions.SSLError: HTTPSConnectionPool(host='XXX', port=443)问题
爬虫时报错如下: requests.exceptions.SSLError: HTTPSConnectionPool(host='某某某网站', port=443): Max retries exce ...
- ContractPattern 面向面向契约模式
- nodejs 执行 最近 发现 nodejs 执行的 是非等待的。
上一步结果 没有完成 下一步就执行了 结果就 不行
- JavaFx图形界面开发
相关学习教程:http://www.javafxchina.net/blog/docs/ ,makery写的教程:https://code.makery.ch/zh-cn/library/javafx ...
- [校内训练20_01_22]ABC
1.给出序列A,求序列B,使得bi|ai,lcm(b1,b2,...,bn)=lcm(a1,a2,...,an)且字典序最小. 可以发现,对于某个质数p,它有一个最大的次数k,将pk放在尽可能靠后且能 ...