Seu plug-in pode adicionar tipos de configuração de ativação para a plataforma utilizando o ponto de extensão org.eclipse.debug.core.launchConfigurationTypes Esse ponto de extensão permite declarar um tipo de configuração utilizando um ID exclusivo. Você deve fornecer uma implementação correspondente de ILaunchConfigurationDelegate em seu plug-in. Você também pode especificar quais modos (execução e/ou depuração) são suportados pelo ativador e um nome que deve ser utilizado ao mostrar os ativadores desse tipo para o usuário.
A seguinte marcação mostra como as ferramentas Java declaram uma configuração de ativação Java para a ativação de programas locais 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= "execução, depuração"> </launchConfigurationType> </extension>
Para cada tipo de configuração de ativação que suporta o modo de depuração, é importante definir uma maneira de localizar o código fonte que corresponde ao atual ponto de execução no código. ISourceLocator e IPersistableSourceLocator definem uma interface para o mapeamento de um programa de execução de volta para o código fonte.
Os localizadores de origem são normalmente implementados para trabalhar com uma configuração de ativação correspondente e uma delegação de configuração de ativação. Como as configurações de ativação podem ser persistentes, os localizadores de origem também podem ser armazenados com a configuração de ativação. Isso é feito definindo um atributo da configuração de ativação para um ID de um localizador de origem. Quando uma configuração de ativação é lida a partir do disco, o ID do localizador de origem deve ser mapeado de volta para a classe de implementação. Isso é feito utilizando o ponto de extensão org.eclipse.debug.core.sourceLocators.
O ponto de extensão permite registrar a classe que implementa IPersistableSourceLocator e a associa a um ID que será armazenado com a configuração de ativação. Isso permite que o plug-in de depuração pesquise as classes do localizador de origem por ID quando for o momento de instanciar uma configuração de ativação.
A seguinte marcação origina-se das ferramentas 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>
Os plug-ins utilizam atributos e valores nomeados para armazenar dados importantes com uma configuração de ativação. Como a interpretação de qualquer atributo não é conhecida pela plataforma, um ponto de extensão é fornecido, permitindo que você estabeleça um comparador para um atributo epecífico. Esse comparador é utilizado para determinar se os atributos do nome especificado são iguais. Em muitos casos, a comparação simples de cadeias fornecida pelo java.lang.Object.equals(Object) é apropriada para a comparação de atributos. Esse método será utilizado se nenhum comparador tiver sido fornecido. No entanto, alguns valores de atributos podem precisar de tratamento especial, como valores multiplexados de espaço em branco do texto, antes da comparação de igualdade.
Contribui-se com os comparadores utilizando o ponto de extensão org.eclipse.debug.core.launchConfigurationComparators.
As ferramentas Java fornecem comparadores de configuração de lançamento para a comparação de caminhos de origem e caminhos de classe do programa.
<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>