扩展 Qt Creator 用户手册

Qt Creator 是一个针对 Qt 开发者需求定制的跨平台集成开发环境 (IDE)。

Qt Creator 可以以多种方式扩展。例如,Qt Creator 的架构基于插件加载器,这意味着所有超出插件加载的功能都由插件实现。然而,您可以在不依赖 C++ 编程和实现此类插件的情况下,扩展和调整 Qt Creator 的许多部分。

本文档为您概述了扩展 Qt Creator 的多种方式,根据您想要实现的目标,并指向相关的文档。

生成特定领域代码和模板

如果您经常需要编写相同的代码,无论是少量的代码片段、整个文件或分布在多个文件中的类,或者完整的项目,您可以为这些目的创建代码片段、模板和向导。

代码片段

通常,片段由几行代码(尽管它们也可以是纯文本)组成,您希望将其插入到更大的代码体中,但不需要每次都输入。例如,`while` 和 `for` 循环、`if-else` 和 `try-catch` 构造,以及类骨架。片段的触发方式与正常代码完成相同。Qt Creator 包含一组预配置的片段组,您可以向其中添加自己的片段。

文件和项目模板

您可以通过为它们编写 JSON 定义文件,用自己的文件和项目模板扩展 文件 > 新建文件新建项目 中的向导。

自定义向导

如果上述代码片段和模板的方法不能满足您的用例,您可以创建一个自定义 Qt Creator 插件。虽然这给了您对向导的完全控制,但这也要求您自己编写大部分 UI 和逻辑。

支持附加文件类型

如果您有 Qt Creator 默认不处理的扩展名或 MIME 类型文件,您可以编辑 MIME 类型定义,添加突出显示定义文件,并创建自己的文本编辑器。

MIME 类型

您可能发现,如果 Qt Creator 知道您文件的内容类型,它可能可以处理您的某些文件。例如,拥有 Qt Creator 未知扩展名的 C++ 头文件或源文件。您可以通过添加或删除文件扩展名并指定魔法头,来适应 Qt Creator 中的 MIME 类型定义以符合您特定的设置。

文本高亮和缩进

对于文本文件,Qt Creator 提供了一种简单的方法来为其默认不知道的文件类型添加高亮显示和缩进。基于 Kate 编辑器提供的突出显示定义文件,提供通用高亮显示。您可以为使用 Qt Creator 创建自己的定义文件。

自定义文本编辑器

如果您需要的功能比上述的MIME类型和突出显示功能更高级,例如自定义文本补全或依赖于语义分析的功能,那么您可以通过自己的文本编辑器扩展Qt Creator。Qt Creator为文本编辑器提供了一个特殊API,这为您提供了一个基础,可以在此基础上构建,从而减少了从头实现文本编辑器的痛苦。

其他自定义编辑器

您也可以添加一个完全自定义的编辑器,以获取对其外观和行为的完全控制。

运行外部工具

大多数软件开发项目和开发流程都需要各种外部工具。几个外部工具,如流行的版本控制系统和构建工具链已集成到Qt Creator中。然而,单个工具不可能涵盖所有用例,因此您可以将其他工具集成到Qt Creator中。

简单外部工具

在Qt Creator中,您可以指定您可以从菜单或使用您分配的快捷键运行的工具。这使您可以完成几件事情,但也有一些限制。您指定要运行的命令、运行它的参数和输入,以及如何处理输出。要指定值,您可以使用一系列内部Qt Creator变量,例如当前文档或项目的文件名,或文本编辑器中当前选中的文本。如果您发现缺少变量,请不要犹豫,提出功能建议。工具描述以XML文件保存,您可以共享这些文件。

复杂外部工具

当您计划集成更复杂的工具时,仔细考虑紧密集成该工具到Qt Creator是否真的比通过主要提供一种启动该工具的参数来松散集成有优势。

松散集成工具

如果Qt Creator与外部工具之间不需要交互,那么只使用具有自己用户界面的外部应用程序启动是比较好的。这样就可以避免Qt Creator UI的拥挤,并且即使不使用Qt Creator,该工具也可以提供漂亮的界面。

通常,您可以使用外部工具指定文件来启动该工具。如果启动工具和处理其输出需要更复杂的逻辑,您可以在Qt Creator中添加一个菜单项(通过插件)。如果您需要在Qt Creator中配置该工具,您可以为它添加一个选项页面。

与工具输出交互

在某些情况下,运行外部工具不需要与Qt Creator紧密集成,但调查工具输出将从中受益。例如,一些工具会在项目的文件中生成问题列表,而一些工具会创建与代码相关的输出。对于这些工具,在交互式地在输出和相应的代码之间切换是有用的。

处理这种情况的一种方法是由该工具创建一个输出文件,然后在Qt Creator中打开该文件。您提供了一个编辑器(可能是只读的)来处理这个文件。对于问题列表,请考虑创建任务列表文件,这些文件在问题中显示。

Lua 扩展

如果您有上述方法未涵盖的更具体需求,但又不需要完整的插件,您可以使用 Lua 扩展来扩展 Qt Creator。

全部主题

©2024 Qt 公司 Ltd. 本文件中包含的文档贡献是该相关权利所有者的版权。提供的文档是根据 Free Software Foundation 发布的《GNU 自由文档许可证》1.3 版本许可的。Qt及其相应标志是芬兰和/或全球其他地区的 Qt 公司的商标。所有其他商标均为其相应权利所有者的财产。