Exemplo - Editor Java

Introdução

O exemplo do Editor Java demonstra os recursos padrão disponíveis para editores de texto personalizados.  Mostra também como  registrar um editor para um arquivo de expansão (nesse caso .jav) e como definir um provedor personalizado de Documentos para ser utilizado por esse editor. Esse exemplo é usado somente para demonstração. O suporte de edição Java é fornecido pela  Ferramenta Eclipse Java.

Recursos demonstrados no exemplo de editor

Recursos não demonstrados

Executando o exemplo de editor

  1. Criar um projeto
  2. Criar um arquivo com extensão ".jav" no projeto que acabou de criar. O exemplo de editor Java abre automaticamente.
  3. Insira o código Java. Ele se apresenta de forma colorida. O exemplo editor apresenta os seguintes elementos de idioma em cores diferentes: comentários de multilinhas, comentários de uma linha, palavras próprias da linguagem Java, cadeias e os caracteres constantes, códigos Java regulares, bem como comentários de multilinhas seguindo as diretrizes do JavaDoc. Dentro desses comentários JavaDoc, as palavras-chave do JavaDoc e as marcações estão coloridas de modo diferente.
  4. Abrir um novo comentário Java de multilinhas, inserindo "/*" do lado de fora do comentário Java. Todos os textos entre o "/*" inserido e a primeira ocorrência de "*/" ou o fim do texto altera sua cor para vermelho. Anexando outro "*". A amplitude do vermelho altera a cor para verde enquanto os comentários de multilinhas são considerados como contento o JavaDoc. Chame a assistência de código usando CTRL-ESPAÇO. A função da assistência de conteúdo é suportar o usuário código de escrita. Então, no chamamento, a assistência de conteúdo deverá listar todas as possíveis conclusões válidas na localização do chamamento. Dentro do JavaDoc, o exemplo de editor sempre busca todas as palavras-chave do JavaDoc.
  5. Fora de um comentário Java chame uma dica de conteúdo usando CTRL+SHIFT+ESPAÇO. Cinco propostas são listadas. Selecione uma e pressione ENTER. Uma pequena janela vermelha aparecera acima da linha atual exibindo a proposta selecionada. O uso antecipado das dicas de conteúdo é para permitir que o usuário expresse sua intenção, por exemplo, para digitar um chamado de método e apresentar informações de contexto que guiam o usuário a fazer o que deseja. No exemplo de editor, a proposta é considerada válida com cinco caracteres ao redor da localização do chamamento inicial. Enquanto a dica de conteúdo está visível, chame a assistência de conteúdo usando CTRL+ESPAÇO. A assistência de conteúdo chamada nessa situação de ajudar o usuário a realizar sua intenção declarada, visível na dica de conteúdo.Dentro do código regular Java, o exemplo de editor sempre busca todas as palavras-chave do Java.
  6. Salvar o código Java. Salvando as atualizações do organizador de tópico do conteúdo. O organizador de tópico do conteúdo contém dez entrada, cada uma representando um dos dez segmentos de mesmo do código Java no editor. Esse estilo de organizador de tópico do conteúdo foi escolhido para mostrar que o significado das amplitudes em destaque podem ser definidos arbitrariamente. (Consultar os próximos passos.)
  7. Selecione uma das entradas do organizador de tópico do conteúdo. As linhas correspondentes são marcadas com uma barra azul na régua vertical esquerda do editor.
  8. Agora vá para o modo de apresentação segmentada do editor Java. Para isso, certifique-se de que o editor possua o foco e pressione esse botão na barra de ferramentas do desktop cuja ajuda instantânea diga "Ativar/Desativar visualizador de origem segmentada".  O uso dessa funcionalidade é antecipado, por exemplo, para exibições de método único.
  9. Selecione uma entrada diferente no organizador de tópico do conteúdo. Agora o editor mostra somente os segmentos selecionados. Desmarcando a entrada no organizador de tópico do conteúdo, o código Java complete é mostrado novamente.
  10. Selecione uma entrada no organizador de tópico do conteúdo, selecione uma fração de texto visível e inclua a tarefa para essa seleção. A tarefa é mostrada na lista de tarefas. Modifique o código visível. Na lista de tarefas, selecione a tarefa criada anteriormente e pressione o botão "Ir para Arquivo". A tarefa é selecionada na área visível, mantendo corretamente as modificações aplicadas anteriormente na conta.
  11. Selecione outra entrada no organizador de tópico do conteúdo. Mostre a tarefa incluída anteriormente da lista de tarefas. A amplitude de destaque do editor é automaticamente ampliada para atingir a amplitude da tarefa mostrada.
  12. Abrir uma nova área de trabalho. Nessa nova área de trabalho, abra uma editor Java para o mesmo arquivo como na área de trabalho original. Modifique o conteúdo do editor. Volte para a área de trabalho original. O editor mostra as alterações feitas na outra área de trabalho. Os dois editores mostrando o mesmo arquivo estão ligados.

Princípios par criar editores de texto personalizados

Os seguintes passo normalmente são necessário para desenvolver um editor de texto personalizado.
  1. Criar um provedor de documente. Um provedor de documento (consulte IDocumentProvider) produz e gerencia documentos (consulte IDocument) que contêm representações textuais dos elementos de entrada do editor. Isso é importante para decidir como a conversão entre o elemento e representação textual ocorre e se o provedor do documento deve ser compartilhado entre vários editores ou não. Consulte a classe FileDocumentProvider exemplo de editor Java.
  2. Criar um documento partitivo. Um documento partitivo (consulte IDocumentPartitioner) divide um documente em regiões desconexas. A partitividade atribui a cada região um tipo de conteúdo fora dos tipos de conjunto de conteúdo predefinidos pela partição. Em cada documento alterado, a partição do documento deve ser atualizada. Consulte a classe JavaPartitioner no exemplo de editor Java. O JavaPartitioner determina as regiões dos tipos de comentários multilinhas, comentários JavaDoc e etc. Deve ser garantido que o provedor de documento é definido em cada documento produzido pelo provedor de documento.
  3. Determinar quais plug-ins do visualizador de origem deve ser fornecido. Entre outros plug-ins suportados estão as estratégias auto recuadas; dê um clique duplo em estratégias formatador de conteúdo e reconciliador de apresentação de texto. A descrição subseqüente será restrita ao reconciliador de apresentação de texto (consulte IPresentationReconciler). No exemplo de editor Java, o reconciliador de apresentação de texto é utilizado para implementar o destaque da sintaxe.
  4. Criar para todos os plug-ins do visualizador de origem as extensões apropriadas para cada tipo de conteúdo suportado. Como foi visto acima, a partição do documento define os tipos de conteúdo suportados. A implementação padrão do IPresentationReconciler suporta o IPresentationDamagers o IPresentationRepairers como extensões. Essas extensões são consideradas específicas para um tipo de conteúdo em particular. Portanto, para um editor personalizado, o usuário deve primeiro selecionar um subconjunto de tipos de conteúdo suportados. As regiões de um tipo sendo um membro dos subconjuntos selecionado será, por exemplo, a sintaxe em destaque. Para cada um desses tipos as extensões devem ser implementadas. Consulte o JavaDamagerRepairer e JavaDocDamagerRepairer no exemplo de editor.
  5. Construir uma configuração de visualizador de origem usando os plug-ins e as extensões criadas anteriormente. Consulte JavaSourceViewerConfiguration no exemplo de editor.
  6. Personalizar a classe TextEditor ou AbstractTextEditor com a partição do documento desenvolvido e a configuração do visualizador de origem. Incluir ou substituir ações e adaptar a construção do menu de contexto do editor. Na versão atual, essa personalização deve ser feita em uma classe filha. Consulte JavaEditor no exemplo de editor.
  7. Defina um contribuinte da barra de ação apropriado que contribua com as ações relacionadas ao editor para os menus e a barra de ferramentas do desktop. Consulte JavaActionContributor no exemplo de editor.
  8. Estenda o arquivo de configuração XML do plug-in do editor, assim o editor registra-se no ponto de extensão do editor predefinido para um conjunto de extensões de arquivo predefinido. Defina também o contribuinte da barra de ação no arquivo XML. Consulte o plugin.xml desse exemplo.

Organização do código do exemplo

O código do exemplo é organizado em quatro pacotes:
 

Copyright IBM Corporation e outros 2000, 2003