Propat - Programming Patterns Tutor

Interface Didática de um Sistema Tutor de Programação

-

Desenvolvendo Plug-ins para Eclipse


Estrutura básica de um plug-in

Antes de mais nada: caso haja alguma dúvida sobre os termos utilizados, consulte o Glossário.
Basicamente, um plug-in é um sistema que se integra ao Eclipse; o sistema é acompanhado de um arquivo plugin.xml, que define como deve ser tal integração. Esse arquivo define desde informações básicas (como nome, fornecedor) até dados importantes para a integração com o Eclipse (extensões, pontos de extensão). O sistema por sua vez costuma conter um conjunto de classes Java (para criar um editor, por exemplo), mas pode conter outras coisas, como páginas html (para estender a Ajuda) ou simples arquivos de dados.

Ambiente de Desenvolvimento de Plug-ins - PDE

Existe uma Perspectiva chamada PDE (Plug-in Development Environment) que disponibiliza uma IDE para o desenvolvimento de novos plug-ins. O PDE fornece um editor para o arquivo plugin.xml que divide as diferentes informações em várias seções (uma para os pontos de extensão, outra para o código-fonte puro do arquivo xml, etc...).

Passos para a criação de um plug-in:

  1. Abrir a perspectiva PDE: Clique em Window / Open Perspective / Plug-in Development(figura). Isso abrirá uma nova perspectiva para desenvolvimento de plug-ins
  2. Criar novo projeto (Plug-in): Clique em File / New / Project (figura). A seguir, escolha Plug-in Development / Plug-in Project (figura), e clique em Next. Escolha um nome de projeto (por exemplo, br.usp.ime.exemplo), e clique em Next. Clique em Next novamente, para aceitar a criação de um projeto em Java (caso o projeto não seja em Java, deve-se mudar o tipo de projeto antes de avançar). A partir deste ponto, nos encontramos nesta tela. Pode-se escolher dentre diversos assistentes para criação de plug-ins de exemplo, ou criar um plug-in "em branco". Para criar um novo plug-in, o melhor é escolher a opção Default Plug-in Structure e clicar em Next. Finalmente, clique em Finish para terminar o processo de criação.
  3. Adicionar extensão(ões): Após a criação do projeto, nos encontramos nesta tela, apresentando um Editor para o arquivo plugin.xml (não descreverei muito essa tela, pois ela é auto-explicativa). Clique na aba Extensions do Editor. A partir daí, basta usar o botão Add para adicionar novas extensões. Além disso, pode-se complementar extensões clicando-se sobre elas com o botão direito, e escolhendo a opção New (...). Por exemplo, vamos adicionar uma Perspective: para isso, clique em Add / Generic Wizard / Schema-based Extension / Next. Escolha o ponto de extensão org.eclipse.ui.perspectives, e preencha o Point ID com "exemplo.perspectives" (figura); a seguir clique em Finish. Agora, clique com o botão direito sobre a extensão org.eclipse.ui.perspectives (que agora aparece na lista de extensões), e escolha New / Perspective (figura). Agora, observe a View Properties: nela, aparecem sugestões de nomes para uma classe Java (br.usp.ime.exemplo.PerspectiveFactoryNN), para a extensão (br.usp.ime.exemplo.perspectiveNN) e para o seu ID (idem). Esses nomes podem (e deveriam) ser mudados, para representar melhor o seu propósito.
  4. Escrever código: quando se define uma classe para uma extensão, tal classe deverá ser implementada. No nosso exemplo, naquela View Properties, basta selecionar o campo class, e clicar na caixa que aparece no final do mesmo (figura). Isso fará com que apareça uma tela pedindo o nome de uma classe existente, ou a criação de uma nova (figura). Continuando nosso exemplo, escolha a criação de uma nova classe, e clique em Finish. Imediatamente, um Editor Java se abrirá, contendo a classe PerspectiveFactoryNN, responsável pela construção da nossa perspectiva (figura). E pronto! Agora é só preencher a classe com código; tal código definirá o que deve ser colocado na perspectiva quando esta é aberta (figura mostra um exemplo, que define uma View à esquerda da tela).

Testando o plug-in:

Para testar basta clicar em Run / Run as Runtime Workbench. Um novo ambiente Eclipse abrirá; esse ambiente é chamado de ambiente em tempo de execução (Runtime Workbench), e não está relacionado ao ambiente no qual se estava desenvolvendo o plugin, servindo apenas para testar os plugins criados. Dentro deste ambiente, abra a sua perspectiva para vê-la em ação (figura). Caso ocorram erros durante a execução desse ambiente, eles aparecerão no Console do ambiente original.


(em contínua construção - completado conforme se descobrem coisas novas)

Retornar à página principal