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>

原创造福大家,共享改变世界

献出一片爱心,温暖作者心灵


posted @ 2020-02-13 19:57  codeForFamily  阅读(687)  评论(0编辑  收藏  举报