您的插件可以使用 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>