将启动程序添加至平台

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

定义源定位器

对于支持调试方式的每种类型的启动配置,必须定义一种方式来查找与代码中的当前执行点相对应的源代码。ISourceLocatorIPersistableSourceLocator 定义一个接口,以从执行程序映射回源代码。

通常会实现源定位器以使用对应的启动配置和启动配置代表。因为启动配置可持久存在,所以源定位器也可以与启动配置存储在一起。这是通过将启动配置的属性设置为源定位器的标识完成的。从磁盘读取启动配置时,源定位器的标识必须映射回实现类。这是使用 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>

法律声明。