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)的更多相关文章

  1. qt creator源码全方面分析(3-3)

    目录 qtcreatordata.pri 定义stripStaticBase替换函数 设置自定义编译和安装 QMAKE_EXTRA_COMPILERS Adding Compilers 示例1 示例2 ...

  2. qt creator源码全方面分析(3-5)

    目录 qtcreatorlibrary.pri 使用实例 上半部 下半部 结果 qtcreatorlibrary.pri 上一章节,我们介绍了src.pro,这里乘此机会,把src目录下的所有项目文件 ...

  3. qt creator源码全方面分析(0)

    本人主攻C++和Qt. 上两天刚研究完Qt install framework(IFW)应用程序安装框架. google没发现有正儿八经的官方文档的翻译,我就进行了翻译哈!! 系列文章具体见:http ...

  4. qt creator源码全方面分析(4-0)

    Qt系统 Qt Creator源码是在Qt对象和框架基础下写的,因此,阅读Qt Creator源码,你首先对Qt得有一定的了解. Qt Core Qt Core特征: The Meta-Object ...

  5. qt creator源码全方面分析(4-2)

    目录 global头文件 global.h xx.h global头文件 插件的本质就是动态链接库,对于库,需要导出符号,供用户导入使用.在qt creator的源码中,存在固定的导入导出模式. gl ...

  6. qt creator源码全方面分析(4-5)

    目录 Qt中的字符串 QLatinString 详细介绍 源码 小结 QStringLiteral(str) 详细介绍 源码 小结 Qt中的字符串 Qt中处理字符串最常用的肯定是QString,但是在 ...

  7. qt creator源码全方面分析(4-6)

    目录 Qt插件基础 Qt插件基础 我们知道Qt Creator源码是基于插件架构的,那么我们先来介绍下插件基础知识. 相关内容如下: How to Create Qt Plugins [ - Defi ...

  8. qt creator源码全方面分析(3-2)

    目录 qtcreator.pri 判断重复包含 定义版本信息 VERSION 定义IDE名称 启用C++14 CONFIG 自定义函数 Replace Functions Test Functions ...

  9. qt creator源码全方面分析(2-7)

    目录 Completing Code 补全代码片段 编辑代码片段 添加和编辑片段 删除片段 重置片段 补全Nim代码 Completing Code 在编写代码时,Qt Creator建议使用属性,I ...

  10. qt creator源码全方面分析(2-10-1)

    目录 Getting and Building Qt Creator 获取Qt 获取和构建Qt Creator Getting and Building Qt Creator 待办事项:应该对此进行扩 ...

随机推荐

  1. Scala与Mongodb实践1-----mongodbCRUD

    目的:如何使用MongoDB之前提供有关Scala驱动程序及其异步API. 1.现有条件 IDEA中的:Scala+sbt+SDK mongodb-scala-driver的网址:http://mon ...

  2. Rust入坑指南:海纳百川

    今天来聊Rust中两个重要的概念:泛型和trait.很多编程语言都支持泛型,Rust也不例外,相信大家对泛型也都比较熟悉,它可以表示任意一种数据类型.trait同样不是Rust所特有的特性,它借鉴于H ...

  3. python集合的运算

    &  交集  | 并集    - 差集  ^ 异或集 # 在对集合做运算时,不会影响原来的集合,而是返回一个运算结果 # 创建两个集合 s = {1,2,3,4,5} s2 = {3,4,5, ...

  4. 七牛云上传视频并截取第一帧为图片(js实现)

    本文出自APICloud官方论坛, 感谢论坛版主 东冥羽的分享. 七牛云上传视频并截取第一帧作为视频的封面图. 使用js上传,模块videoPlayer截取第一帧(有专门的截图模块,但是我使用的有点问 ...

  5. python 生成器 yield语句

    生成器就是一个返回迭代器(iterator)的函数. 包含了 yield 的函数,就是一个生成器. 生成器每使用yield语句产生一个值,函数就会被冻结(暂停执行),被唤醒后(即再次调用)接着上次执行 ...

  6. C#中的委托是什么

    1.什么是委托?(方法作另一个方法的参数)delegate void MyDel(int value);    //声明委托类型和类一样,委托是用户自定义的类型,但是类是数据和方法的集合,而委托是持有 ...

  7. Unable to open debugger port (127.0.0.1:57046): java.net.SocketException "so

    原因分析: 出现这个报错的原因是因为端口被占用导致的. 解决方法: 解决方法主要两种:修改端口配置(推荐).关闭占用端口的进程(不推荐). 方式一:修改端口配置(推荐) 被占用的端口可能是本地端口,也 ...

  8. 【Java并发基础】加锁机制解决原子性问题

    前言 原子性指一个或多个操作在CPU执行的过程不被中断的特性.前面提到原子性问题产生的源头是线程切换,而线程切换依赖于CPU中断.于是得出,禁用CPU中断就可以禁止线程切换从而解决原子性问题.但是这种 ...

  9. 使用log4j把日志写到mysql数据库

    log4j可以支持将log输出到文件,数据库,甚至远程服务器,本教程以mysql数据库为例来讲解: 作者:Jesai 没有伞的孩子,只能光脚奔跑! 1.数据库设计 数据库表 表4-1日志表(log) ...

  10. 为什么你应该使用 Kubernetes(k8s)

    Kubernetes (Kube 或 K8s)越来越流行,他是市场上最好的容器编排工具之一. 1. 什么是容器? 容器就是一个包,其中包含了应用及其所有依赖. 容器中的应用与主机系统是隔离的,不关注环 ...