您的插件可以使用 org.eclipse.debug.core.launchConfigurationTypes 扩展点将启动配置类型添加至平台。 此扩展点允许您使用唯一标识声明配置类型。 必须在插件中提供相应的 ILaunchConfigurationDelegate 实现。也可以指定启动器支持哪些方式(运行和/或调试),以及对用户显示此类型的启动器时应使用的名称。
以下标记显示 Java 工具如何声明用于启动本地 Java 程序的 Java 启动配置:
<extension point = "org.eclipse.debug.core.launchConfigurationTypes"> <launchConfigurationType id="org.eclipse.jdt.launching.localJavaApplication" name="%localJavaApplication" delegate="org.eclipse.jdt.internal.launching.JavaLocalApplicationLaunchConfigurationDelegate" modes= "run, debug"> </launchConfigurationType> </extension>
对于支持调试方式的每种类型的启动配置,必须定义一种方式来查找与代码中的当前执行点相对应的源代码。ISourceLocator 和 IPersistableSourceLocator 定义一个接口,以从执行程序映射回源代码。
实现源定位器通常是为了使用相应的启动配置和启动配置代理。因为启动配置可能持续,所以可将源定位器与启动配置存储在一起。这是通过将启动配置的属性设置为源定位器的标识完成的。当从磁盘读取启动配置时,必须将源定位器的标识映射回实现类。这是通过使用 org.eclipse.debug.core.sourceLocators 扩展点完成的。
该扩展点允许您注册实现 IPersistableSourceLocator 的类并将其与将与启动配置存储在一起的标识相关联。这将允许调试插件在实例化启动配制时按标识查找源定位器类。
以下标记来自 Java 工具:
<extension point = "org.eclipse.debug.core.sourceLocators"> <sourceLocator id = "org.eclipse.jdt.debug.ui.javaSourceLocator" class="org.eclipse.jdt.debug.ui.JavaUISourceLocator" name="%javaSourceLocator"/> </extension>
插件使用命名属性和值来将重要数据与启动配置存储在一起。因为平台不知道任何属性的解释,所以提供了一个扩展点,它允许您为特定属性提供比较器。此比较器用来确定指定名称的属性是否相同。在许多情况下,java.lang.Object.equals(Object) 提供的简单字符串比较适合于比较属性。如果尚未提供比较器,将使用此方法。但是,在比较等同性之前,一些属性值可能需要进行特殊处理(如从文本中除去空格值)。
使用 org.eclipse.debug.core.launchConfigurationComparators 扩展点添加比较器。
Java 工具提供启动配置比较器以比较程序源路径和类路径。
<extension point = "org.eclipse.debug.core.launchConfigurationComparators"> <launchConfigurationComparator id = "org.eclipse.jdt.launching.classpathComparator" class = "org.eclipse.jdt.internal.launching.RuntimeClasspathEntryListComparator" attribute = "org.eclipse.jdt.launching.CLASSPATH"/> <launchConfigurationComparator id = "org.eclipse.jdt.launching.sourcepathComparator" class = "org.eclipse.jdt.internal.launching.RuntimeClasspathEntryListComparator" attribute = "org.eclipse.jdt.launching.SOURCE_PATH"/> </extension>