外部工具规范文件

外部工具规范文件描述了一个可以从工具 > 外部 菜单中运行的工具。它指定了工具的名称、要运行的可执行文件、可选参数以及如何处理工具的输出。

文件名

<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

标签含义
externaltoolXML 文件中的根元素,用于指定外部工具。
属性含义
id一个字符串,用于识别外部工具。两个工具不能有相同的 id。必需。

描述标签

您必须指定工具的描述、显示名称和类别。您可以通过添加包含语言代码的多个 descriptiondisplaynamecategory 标签来将这些值翻译成不同的语言。

标签含义
description关于工具用途的简短一句话描述。必需。
displayname用于菜单项的工具名称。必需。
category用于显示工具的类别名称。这是放置工具的 工具 > 外部 菜单的子菜单名称。例如,指定值 "文本" 使工具显示在 工具 > 外部 > 文本 菜单中。必需。
属性含义
xml:lang用于描述、显示名称或类别的语言代码(例如,"en""de")。可选。

可执行规范标签

您必须在根标签下添加一个 executable 标签,指定要运行的可执行文件、可选参数以及如何处理输出。

标签含义
executable包含子标签,指定要运行的内容和要使用的参数。必需。
属性含义
output指定如何处理工具的标准输出流。默认为 ShowInPane。可选。
error指定如何处理工具的标准错误流。默认为 ShowInPane。可选。
modifiesdocument指定 Qt Creator 是否应该期望当前文档的更改。如果设置此标志,Qt Creator 将在运行工具之前提示用户保存对当前文档的更改,并在工具完成后默默地重新加载当前文档。可能的值是:"yes""no"(默认为 "no")。可选。

可执行标签允许以下子标签。您必须指定至少一个路径。所有子标签都可以包含特殊的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>

©2024 The Qt Company Ltd. 本文档中包含的贡献稿件归各自所有者所有。本文档根据由自由软件基金会发布的GNU自由文档许可协议第1.3版授权。Qt及其相关标识为The Qt Company Ltd在芬兰和其他国家/地区的商标。所有其他商标均为其各自所有者的财产。