Página Extensões

A página Extensões é utilizada para procurar e editar extensões de plug-in. As extensões são o mecanismo central para contribuir com o comportamento da plataforma. A menos que seu plug-in seja uma biblioteca de API Java simples disponibilizada a outros plug-ins, o novo comportamento é contribuído com uma extensão.

Os plug-ins contribuem com os pontos de extensão definidos por esses plug-ins de que eles necessitam.  A sintaxe de sua extensão deve corresponder à definição do ponto de extensão para ser processada corretamente. A lista total de pontos de extensão elegíveis é calculada pelo PDE que percorre todos os plug-ins visíveis (da área de trabalho e externos).

O assistente para extensão genérica fornecido pelo PDE simplesmente varrerá os pontos de extensão.  Se um esquema de extensão for fornecido (consulte Esquema do Ponto de Extensão), o assistente extrairá metadados do ponto de extensão e da gramática do esquema.

Além do assistente genérico, vários modelos de extensão estão disponíveis. São os mesmos modelos que podem ser utilizados para gerar conteúdo inicial do projeto de plug-in. Sua presença aqui permite que a criação da extensão seja feita por etapas. Você pode criar um plug-in com uma exibição simples, depois incluir um editor ou assistente, posteriormente.

Exemplo:  Incluindo uma extensão Conjuntos de Ações

Para ilustrar a operação da página Extensões, incluiremos uma ação 'Hello, PDE world' em nosso plug-in. Nós contribuiremos com o ponto de extensão org.eclipse.ui.actionSets.   Este exemplo assume que você já esteja familiarizado com o ponto de extensão.  

Iniciaremos pressionando o botão Incluir..., para selecionar o assistente de extensão:

Seleção do Assistente de Extensão

O assistente Extensão Baseada no Esquema é o padrão desde que ele manipule as extensões nas formas mais genéricas. Ele varrerá os plug-ins e oferecerá todos os pontos de extensão encontrados, com ou sem esquemas. Os que têm esquemas permitirão que o PDE ofereça melhor assistência. Se estiver faltando um esquema do ponto de extensão, o PDE permitirá incluir elementos e atributos à extensão, mas não será capaz de verificar se eles são válidos para o ponto de extensão selecionado.

Ao pressionar Avançar, será oferecida uma lista de pontos de extensão. Selecione org.eclipse.ui.actionSets e pressione Concluir.

Assistente baseado no esquema - seleção do ponto de extensão

O assistente incluirá a nova extensão à lista de extensões. Como essa extensão possui um esquema associado a ela, podemos editar ainda nossa definição de extensão. Selecionamos a extensão incluída recentemente e escolhemos Novo->actionSet no menu popup. Esse elemento XML foi definido como o único elemento válido que pode ser mostrado na definição de extensão. 

Para todos os atributos obrigatórios, PDE criará valores padrão.  Nós podemos alterar o nome padrão do conjunto de ações para "Conjunto de Ações de Amostra" selecionando o elemento e alterando a propriedade label na exibição Propriedades. O novo nome será mostrado na lista de extensões. 

Página do Editor de extensões

Agora precisamos definir um menu e uma ação para o conjunto de ação. Se nós selecionarmos o conjunto de ações e o abrirmos o menu na seção "Filhos do Elemento de Extensão" o menu "Novo" oferecerá duas opções:  menu e action.  Essas opções baseiam-se nas informações do esquema para a extensão do conjunto de ações.  Primeiro, nós criamos o menu.

  1. Selecione Novo->menu para criar o menu.  
  2. Selecione-o e altere suas propriedades.  Altere o id para "sampleMenu" e seu label para "Menu de Amostra."
  3. Enquanto o objeto de menu ainda está selecionado, sobreponha um menu e selecione Novo->separator. Um novo filho aparecerá.
  4. Selecione "separador" e altere seu name para "sampleGroup". Esse procedimento criará um grupo nomeado no menu que podemos utilizar para contribuir com nossa ação.

Podemos criar a ação de maneira similar:

  1. Selecione Novo->action para criar uma ação.  
  2. Selecione-o e altere suas propriedades.  Altere seu label para "&Ação de Amostra" e seu menubarPath para "sampleMenu/sampleGroup."  Isso adicionará a ação ao menu recém-definido.

A última coisa que precisamos definir é a classe Java da ação. A definição do ponto de extensão especifica que uma ação deve implementar  IWorkbenchWindowActionDelegate.   O PDE pode oferecer assistência desde que conheça as informações do esquema:

  1. Clique na propriedade classe, para colocá-la no modo de edição. Selecione o botão para abrir o diálogo do editor de célula.
  2. Selecione o botão de rádio para criar uma nova classe.
  3. Clique no botão Procurar, para escolher o contêiner de origem e escolha "Plug-in XYZ".
  4. Altere o nome da classe para "SampleAction."

Antes de pressionar Concluir, o diálogo deve estar da seguinte forma:

Editor de Atributos Java

Quando concluir, a nova classe será gerada com base na interface necessária (com uma implementação stub para cada método abstrato). Além disso, o nome da nova classe será definido para o valor da propriedade de classe. O assistente também abrirá a nova classe Java para edição por padrão. Você pode localizar o método "executar" e incluir a seguinte instrução:

      System.out.println("Hello, PDE world!");

Salve o novo código fonte e feche o editor Java.  Em seguida, retorne para a página Extensões do editor de manifesto e salve.

Continuaremos com esse exemplo quando executarmos o plug-in.

 
Copyright IBM Corporation e outros 2000, 2003