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 待办事项:应该对此进行扩 ...
随机推荐
- 如何添加.pch文件
1.Create a pch , call name is project+xxx.pch For example: DuoME-PrefixHeader.pch 2.在project——>Bu ...
- V模型
V模型是Kevin Forsberg & Harold Mooz在1978年提出的,V模型强调测试在系统工程各个阶段中的作用,并将系统分解和系统集成的过程通过测试彼此关联.V模型从整体上看起来 ...
- Beat our dice game and get the flag 击败我们的骰子游戏拿到旗子
文件名:ebCTF-Teaser-BIN100-Dice.exe 话不多说 用PEID一看没壳 拖进OD 让我们摇出31337这五个数字才能拿到正确的flag cmp dword ptr ss:[eb ...
- 解决浮点运算精度不准确,BigDecimal 加减乘除
package com.kflh.boxApi.utils.util; import java.math.BigDecimal; /** * @program: BoxApi * @descripti ...
- 使用Razor表达式 举数组和集合 精通ASP-NET-MVC-5-弗瑞曼
- 一文带你了解 HTTP 黑科技
这是 HTTP 系列的第三篇文章,此篇文章为 HTTP 的进阶文章. 在前面两篇文章中我们讲述了 HTTP 的入门,HTTP 所有常用标头的概述,这篇文章我们来聊一下 HTTP 的一些 黑科技. HT ...
- 团队第一次作业(By七个小矮人)
一.团队简介 1.团队名称:七个小矮人 2.团队成员列表 201731024137 马驰(队长) 201731021227 于丁 201731024114 杨汶桐 201731024125 李朋珂 2 ...
- 《即时消息技术剖析与实战》学习笔记9——IM系统如何支持消息的多终端漫游
一.什么是多终端漫游 多终端漫游是指:用户在任意一个设备登录后,都能获取到历史的聊天记录.如:QQ 默认漫游 7 天的聊天记录,开通 VIP 会员可漫游 30 天,开通 SVIP 会员可漫游 2 年. ...
- CountDownLatch CyclicBarrier和 Semaphore
CountDownLatch CyclicBarrier和 Semaphore 原理 基于AQS实现. 让需要的暂时阻塞的线程,进入一个死循环里面,得到某个条件后再退出循环,以此实现阻塞当前线程的效果 ...
- php--->自己封装的简易版mvc框架
最近根据自己的理解,封装了一个自己的框架,来重新系统化梳理自己对mvc框架的理解:后续会陆续添加各种新的功能. 欢迎指点交流. GitHub:https://github.com/Frankltf/m ...