Não é possível adicionar um atalho de inicialização (plug-in do Eclipse)
Pergunta
Estou criando um inicializador de aplicativo Java extra simples para Eclipse 3.2 (JBuilder 2007-8) para uso interno.
Então procurei todas as documentações relacionadas, inclusive esta A estrutura de lançamento de eclipse.org e consegui fazer todo o resto funcionar, exceto o atalho de inicialização.
Esta é a parte do meu plugin.xml.
<extension
point="org.eclipse.debug.ui.launchShortcuts">
<shortcut
category="mycompany.javalaunchext.launchConfig"
class="mycompany.javalaunchext.LaunchShortcut"
description="launchshortcutsdescription"
icon="icons/k2mountain.png"
id="mycompany.javalaunchext.launchShortcut"
label="Java Application Ext."
modes="run, debug">
<perspective
id="org.eclipse.jdt.ui.JavaPerspective">
</perspective>
<perspective
id="org.eclipse.jdt.ui.JavaHierarchyPerspective">
</perspective>
<perspective
id="org.eclipse.jdt.ui.JavaBrowsingPerspective">
</perspective>
<perspective
id="org.eclipse.debug.ui.DebugPerspective">
</perspective>
</shortcut>
O nome da configuração na seção de categoria está correto e a classe na seção de classe, acredito, está implementada corretamente.(basicamente copiado de org.eclipse.jdt.debug.ui.launchConfigurations.JavaApplicationLaunchShortcut)
Eu realmente não tenho certeza se devo escrever um acompanhamento aqui, mas deixe-me esclarecer mais minha pergunta.Estendi org.eclipse.jdt.debug.ui.launchConfigurations.JavaLaunchShortcut.Além disso, adicionei meu próprio logger aos construtores e métodos, mas a classe parece que nunca é instanciada.
Solução
Eu tive que adicionar contextualLaunch
sob org.eclipse.debug.ui.launchShortcuts
.
A maneira antiga parece estar obsoleta há muito tempo.
Para outras pessoas que estão trabalhando no mesmo assunto,
você pode querer estender org.eclipse.ui.commands
e ligações também.
Não posso escolher esta resposta, mas esta é a resposta que eu (o questionador) procurava.
Outras dicas
Sua classe deve implementar o ILaunchShortcut.Confira a Javadoc.
Que exceção você está recebendo?Verifique o log de erros.