运行配置管理

2017-02-07  本文已影响64人  pr488

原文链接:
http://www.jetbrains.org/intellij/sdk/docs/basics/run_configurations/run_configuration_management.html

本文档描述了用于运行配置的主要类和常见用例。

配置类型

实现任何运行配置类型的起点是ConfigurationType接口。当用户打开“编辑运行配置 ”对话框并执行“新增 ”操作时就会列出可用配置类型:

创建

这里的每种类型都可以表示为ConfigurationType的实例并可以像以下代码注册:

<configurationType implementation="org.jetbrains.plugins.gradle.service.execution.GradleExternalTaskConfigurationType" />

实现此接口的最简单的方法是使用ConfigurationTypeBase基类。为了使用它,你需要继承它并提供配置类型参数(ID、名称、描述和图标)作为构造函数的参数。 除此之外,你需要调用addFactory()方法添加配置工厂。

配置工厂

所有运行配置都由特定ConfigurationType注册的ConfigurationFactory创建。一个ConfigurationType可能有一个以上ConfigurationFactory

配置工厂

ConfigurationFactory的关键API和你需要实现的唯一方法是createTemplateConfiguration。 这个方法每个项目调用一次以创建模板运行配置。

所有实际运行配置(从工作空间加载或由用户创建)都通过createConfiguration方法克隆模板来调用。

你可以通过重写getIcongetAddIcongetName和默认设置方法自定义配置工厂的其它方面。这些额外设置是可选的。

运行配置

运行配置本身由RunConfiguration 接口表示。 这里的“运行配置 ”是一些可以执行的命名配置,如同过main()启动的应用类、测试、特定机器/端口的远程调试。

下面是为特定项目定义的Java运行配置的示例:

运行配置

当实现运行配置时,你可能需要使用以下公共基类之一:

设置编辑

常见运行配置设置可能通过以下方式修改:

RunConfiguration-specific UI。 它由SettingsEditor处理:

持久化

运行配置可以持久化,即它们可以保存到文件系统并在IDE启动时加载。这是通过相关RunConfiguration类的writeExternal()readExternal()方法执行的。

IntelliJ平台 存储的实际配置由RunnerAndConfigurationSettings类的实例表示,它将运行配置与特定于运行程序的设置相结合,以及跟踪某些运行配置标志,如"temporary"或"singleton"。

当你需要从代码创建运行配置时,处理此类的实例将变得有必要。 你可以通过以下两个步骤完成:

重构支持

大多数运行配置在设置中包含类,文件或目录的引用,当重命名或移动相应元素时通常需要更新这些设置。

为了支持这一点,你的运行配置需要实现RefactoringListenerProvider接口。

在你getRefactoringElementListener()方法的实现中,你需要检查被重构的元素是否是你的运行配置引用的,如果是,你返回一个RefactoringElementListener,根据元素的新名称和位置更新你的配置 。

从上下文创建配置

许多插件支持从上下文自动创建运行配置,以便用户只需单击应用程序或测试类便可以使用正确的运行配置类型自动运行。 为了支持这一点,你需要提供RunConfigurationProducer的实现
接口并在plugin.xml中将其注册为<runConfigurationProducer>。(请注意,此API已在IntelliJ IDEA 13中重新设计;旧的RuntimeConfigurationProducer是相同API的更混乱的版本)。

你需要实现的两个主要方法是:

注意:为了支持从上下文创建的配置的自动命名,你的配置应使用
LocatableConfigurationBase作为基类。

上一篇 下一篇

猜你喜欢

热点阅读