As folhas de dicas permitem que os usuários de Eclipse visualizem tutoriais interativos dentro do Eclipse Workbench para aprender a executar tarefas complexas no Eclipse. (Consulte "Building cheat sheets in Eclipse" para obter uma introdução abrangente sobre a criação de folha de dicas). As folhas de dicas são uma ótima maneira de guiar os usuários dos seus plug-ins Eclipse ou produtos baseados em Eclipse nas etapas que devem executar para usar seu software. O Eclipse V3.2 aprimora a tecnologia de folhas de dicas tornando-as mais fáceis de serem construídas e mais versáteis para os usuários.
Procurar no conteúdo de folhas de dicas
O mecanismo de procura da Ajuda do Eclipse foi bastante aprimorado. Uma das melhorias é que as folhas de dicas agora são indexadas, de forma que os resultados da procura na Ajuda incluem conteúdo correspondente nas folhas de dicas. Por exemplo, se quisermos ajuda para criar um plug-in, uma procura na Ajuda pelo termo "plug-in" retornará, entre outros conteúdos, folhas de dicas que correspondam à sua consulta. Uma procura por "plug-in" retorna quase 500 resultados em uma instalação básica do Eclipse V3.2, como mostrado na Figura 1.
Figura 1. Procura por "plug-in"
Com todos esses resultados, ainda pode ser difícil localizar as folhas de dicas que têm a ver com plug-ins. Refinar sua procura com o acréscimo dos termos "folha de dicas" à consulta pode reduzir demais os resultados e excluir conteúdo útil. Felizmente, é possível mostrar explicitamente os resultados em folhas de dicas se os resultados da procura forem exibidos em categorias, usando o botão de categoria mostrado na Figura 2.
Figura 2. Categorizando os resultados da procura
Abrir folhas de dicas a partir de arquivos de conteúdo
Até agora, as folhas de dicas eram ativadas a partir da página de abertura ou de uma lista na caixa de diálogo Cheat Sheet Selection. A caixa de diálogo Cheat Sheet Selection foi atualizada para permitir a abertura de um arquivo de conteúdo diretamente no sistema de arquivos (veja a Figura 3). Isso é útil principalmente ao escrever e revisar uma folha de dicas. Não é necessário implementá-la como um plug-in ou iniciar um ambiente de trabalho de tempo de execução para ver o resultado do seu trabalho. Basta abri-la como está, fornecendo o caminho completo para seu arquivo de conteúdo na área de trabalho.
Figura 3. Abrindo folhas de dicas a partir de um arquivo de conteúdo
Embora esse seja um recurso interessante para a visualização de resultados à medida que se desenvolve o conteúdo, há uma restrição: todos os comandos e ações referenciados nesse arquivo de conteúdo devem ser carregados na instância do Eclipse na qual o conteúdo é aberto. Ou seja, se desenvolvermos nossas próprias ações de folha de dicas e comandos de Eclipse em nosso plug-in de folha de dicas, não será possível carregá-los e usá-los simplesmente abrindo o arquivo de conteúdo. A plataforma exibirá um erro, informando que o plug-in ou classe referenciado ainda não foi carregado, como mostrado na Figura 4.
Figura 4. Erro ao tentar executar uma ação
Nesse caso, é necessário voltar ao modo antigo: implementar seu plug-in ou iniciar um ambiente de trabalho de tempo de execução para carregar seu código.
Integrar links de comando em conteúdo de assistência ao usuário
Com o Eclipse V3.2, é possível integrar comandos Eclipse a folhas de dicas. Isso acrescenta outra alternativa para automatizar seus tutoriais. A Listagem 1 mostra como integrar um comando.
Listagem 1. Comandos integrados
<?xml version="1.0" encoding="UTF-8"?>
<cheatsheet title="Open Browser">
<intro>
<description>This cheat sheet helps you to launch a browser via an
embedded command.</description>
</intro>
<item title="Open Browser">
<description>Use the following embedded command to launch the Eclipse Web site
in a browser</description>
<command serialization=
"org.eclipse.ui.browser.openBrowser(url=http://www.eclipse.org)"/>
</item>
</cheatsheet>>
|
O elemento command é um novo filho do elemento item . Ele permite especificar um comando serializado que usa o atributo serialization . Em geral, essa é apenas uma serialização String do ID de comando. Dependendo do comando, a serialização pode ter parâmetros adicionais. O elemento command pode especificar os atributos confirm e when , que são manipulados da mesma maneira que um elemento action .
O comando integrado na Listagem 1 simplesmente ativa o navegador do Eclipse e abre o Web site Eclipse.org passando a URL como parâmetro. Alguns comandos podem ter um valor de retorno, que pode ser designado a uma variável de folha de dicas usando o atributo returns . O valor retornado pode ser então usado como entrada de condição ou ser simplesmente apresentado ao usuário. Para obter mais informações sobre o elemento command , veja a especificação do formato de arquivo de conteúdo de folha de dicas (veja Recursos).
Acrescentar mensagens de conclusão
As folhas de dicas agora suportam mensagens de conclusão para itens e tarefas. Isso é especialmente útil para mostrar ao usuário que um procedimento complexo foi concluído. A mensagem de conclusão é uma sequência de texto simples que pode conter tags de formatação, como <b>/</b>. Veja a especificação do formato de arquivo de conteúdo de folha de dicas para obter mais informações (veja Recursos).
A mensagem pode conter referências a variáveis de folha de dicas a fim de exibir seu conteúdo. O código abaixo mostra uma mensagem de conclusão simples que exibe o conteúdo da variável.
<onCompletion>The content of the \
cheat sheet variable is ${variableName}.</onCompletion>
|
Desenvolvimento de folhas de dicas compostas
Um novo recurso interessante do Eclipse V3.2 é a capacidade de desenvolver folhas de dicas compostas, que permitem estruturar as folhas de dicas como árvores. Uma folha de dicas composta consiste em tarefas, e cada tarefa representa uma folha de dicas. As tarefas são agrupadas em grupos de tarefas.
Registrando uma folha de dicas composta
O ponto de extensão para o registro de uma folha de dicas composta é o mesmo que para uma simples. Contudo, um novo atributo composite aparece e ele marca se a folha de dicas é simples ou composta.
Listagem 2. Registrando uma folha de dicas composta
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<extension
point="org.eclipse.ui.cheatsheets.cheatSheetContent">
<cheatsheet
composite="true"
contentFile="content/content.xml"
id="devworks.tutorial.cheatsheets.updated.composite"
name="Composite Cheat Sheet"/>
</extension>
</plugin>
|
Como acontece com as folhas de dicas simples, uma composta recebe um ID, nome e arquivo de conteúdo. O atributo composite deve ser configurado como true. Contudo, os arquivos de conteúdo das folhas de dicas compostas seguem uma especificação de esquema XML totalmente diferente.
A Listagem 3 mostra como as tarefas e os grupos de tarefas são usados em uma folha de dicas composta e também explica atributos e elementos adicionais.
Listagem 3. Folha de dicas composta
<?xml version="1.0" encoding="UTF-8"?>
<compositeCheatsheet name="Work with the Eclipse Platform">
<taskGroup name="Work with the Eclipse Platform" kind="choice">
<intro>
This cheat sheet offers different groups of tasks. Choose
one or more groups and complete them.
</intro>
<onCompletion>
Great! You have completed one or more task groups.
</onCompletion>
<taskGroup name="Java Development Tools" kind="sequence">
<intro>
Creating a Java project and a SWT Application.
<br />
You need to first complete the Java project task before
you can start with the SWT Application.
</intro>
<onCompletion>
Congratulations you have built both Java applications.
</onCompletion>
<task kind="cheatsheet" name="A Java project"
id="createJavaProject">
...
</task>
<task kind="cheatsheet" name="A simple SWT application"
id="createSWTApplication">
...
</task>
</taskGroup>
<taskGroup name="Other tutorials" kind="set">
<intro>
This group contains several different tutorials. Just
complete them in any order.
</intro>
<onCompletion>
Great! You have completed all tutorials
</onCompletion>
<task kind="cheatsheet" name="Simple Plug-in tutorial"
skip="true">
...
</task>
<task kind="cheatsheet" name="An other tutorial">
...
</task>
</taskGroup>
</taskGroup>
</compositeCheatsheet>
|
O conteúdo da folha de dicas na Listagem 3 define um grupo de tarefas raiz que contém dois grupos de subtarefas, cada qual contendo duas tarefas. Use o elemento taskgroup para definir os grupos de tarefas. Em geral, os grupos de tarefas são usados para agrupar um conjunto de folhas de dicas relacionadas. Use o atributo kind para configurar o grupo de tarefas como um de três tipos:
set-- As folhas de dicas contidas podem ser concluídas em qualquer ordem. Contudo, todas devem ser concluídas para que o grupo seja concluído.sequence-- As folhas de dicas contidas devem ser todas concluídas na ordem em que estão listadas.choice-- Qualquer folha de dicas pode ser concluída em qualquer ordem.
O atributo skip deve ser configurado como true se todo o grupo de tarefas puder ser ignorado. O atributo name especifica o nome exibido para esse grupo de tarefas. Os elementos adicionais intro e onCompletion são utilizados da mesma maneira que para folhas de dicas simples e resultam em mensagens de introdução e de conclusão, respectivamente, para o grupo de tarefa.
A Listagem 3 compõe folhas de dicas para guiar o usuário por alguns tutoriais em áreas diferentes da plataforma Eclipse. Um tópico importante são as Java™ Development Tools, no primeiro grupo de tarefas, e os outros tópicos importantes são outros tutoriais que talvez sejam de interesse do usuário. (Note que essa é apenas uma amostra e não uma visão geral completa dos tutoriais em Eclipse).
O grupo de tarefas raiz é do tipo choice , o que significa que o usuário pode selecionar qualquer grupo de subtarefa e concluí-lo. O grupo de tarefas para as Java Development Tools é definido como sequence, de modo que o usuário deve primeiro concluir o tutorial do projeto Java antes de criar um aplicativo SWT simples. O último grupo de tarefas é definido como set, de modo que o usuário fica livre para concluir as subtarefas em qualquer ordem. A Figura 5 mostra a estrutura em árvore da folha de dicas.
Figura 5. Estrutura da folha de dicas composta
Na Figura 5, note que diferentes ícones representam diferentes tipos de grupos de tarefas. Além disso, a segunda tarefa no grupo Java Development Tools está esmaecida porque não pode ser iniciada antes de a primeira tarefa ser concluída.
Uma tarefa representa uma folha de dicas implementada usando o elemento task . A Listagem 4 explica isso com um pouco mais de detalhes.
Listagem 4. Elemento task
<task kind="cheatsheet" name="A Java project"
id="createJavaProject">
<param name="id" value="org.eclipse.pde.helloworld" />
<param name="showIntro" value="false" />
<intro>
This tutorial guides you through the creation of a Java project.
</intro>
<onCompletion>
Finished creating a Java project.
</onCompletion>
</task>
|
Atribua a cada tarefa um nome e ID. O nome é exibido na árvore da folha de dicas, como mostrado acima na Figura 5. Use o valor do atributo ID para fazer referência a uma tarefa, por exemplo, ao declarar dependências entre tarefas ou grupos de tarefas. É possível configurar o skip opcional como true se o usuário puder ignorar a tarefa. Como acontece com grupos de tarefas, é possível usar os elementos intro e onCompletion para exibir uma mensagem de introdução e de conclusão da tarefa. O elemento parameter é usado para fazer referência a uma folha de dicas. Em geral, a folha de dicas é referenciada por seu ID, como mostrado na Listagem 4. O elemento parameter contém atributos de name e value .
A Tabela 1 mostra os parâmetros atualmente definidos.
| nome | valor |
|---|---|
id | O ID (como definido na extensão org.eclipse.ui.cheatsheets.cheatSheetContent ) da folha de dicas que deve ser associado à tarefa. |
path | Pode ser uma URL absoluta do arquivo de conteúdo de outra folha de dicas ou uma URL do arquivo de conteúdo relativo ao arquivo de conteúdo do arquivo de conteúdo composto. Note que apenas um dos parâmetros ID e path deve ser especificado, não os dois. |
showIntro | Se for configurado como false, a introdução da folha de dicas será suprimida. |
Se uma tarefa ou grupo de tarefas depender da conclusão de outra tarefa ou grupo de tarefas, é possível usar o elemento dependency para conseguir isso. Ele simplesmente contém o atributo task , que especifica o ID da tarefa ou grupo de tarefas que deve ser concluído antes de iniciá-lo.
Um exemplo é uma tarefa que só pode ser executada se um projeto Java tiver sido criado primeiro. Essa tarefa teria uma dependência na tarefa mostrada na Listagem 4. O código abaixo mostra o elemento dependency com uma referência à tarefa que cria um projeto Java.
<dependency task="createJavaProject"/> |
Este artigo apresentou uma breve visão geral das novidades sobre folhas de dicas no Eclipse V3.2, incluindo o recurso de folhas de dicas compostas. As folhas de dicas são um conceito-chave na assistência ao usuário do Eclipse e estão se tornando cada vez mais importantes. A tecnologia vai passar por mais melhorias. Alguns recursos adicionais estão em estado provisório para o Eclipse V3.2.
Dê uma olhada na documentação do ponto de extensão org.eclipse.ui.cheatsheets.cheatSheetContent para saber mais sobre os conceitos do taskEditor e taskExplorer (veja Recursos).
Aprender
-
Veja o tutorial "Building cheat sheets in Eclipse" para saber sobre os recursos básicos das folhas de dicas.
-
Dê uma olhada na documentação sobre folhas de dicas Eclipse para obter uma visão geral e indicações de outros recursos.
-
A especificação do arquivo de conteúdo de folhas de dicas compostas pode ser encontrada no Eclipse Platform Plug-in Developer Guide.
-
Saiba sobre comandos parametrizados com a especificação da API ParameterizedCommand .
-
Leia Cheat sheet authoring guidelines para obter mais dicas a fim de fornecer folhas de dicas eficazes.
-
Consulte a documentação do ponto de extensão
org.eclipse.ui.cheatsheets.cheatSheetContentpara saber sobretaskEditoretaskExplorer, dois novos recursos de folha de dicas atualmente em desenvolvimento. -
Leia as mais recentes notícias e dicas sobre Eclipse da parte de especialistas em Planet Eclipse.
-
Para uma excelente introdução à plataforma Eclipse, leia "Getting started with the Eclipse Platform."
-
Amplie suas qualificações em Eclipse visitando, no IBM developerWorks, recursos do projeto Eclipse.
-
Navegue em todo conteúdo do Eclipse no developerWorks.
-
Visite a zona de software livre para obter extensas informações de instruções, ferramentas e atualizações de projeto para ajudar você a desenvolver com tecnologias de software livre e usá-las com produtos IBM.
-
Fique por dentro dos eventos técnicos e webcasts do developerWorks.
Obter produtos e tecnologias
-
Faça o download da versão mais recente do Eclipse em Eclipse.org.
-
Callisto é um conjunto de 10 projetos Eclipse com muitos recursos úteis, incluindo um editor XML para criar seus arquivos de conteúdo de folha de dicas.
-
Confira os mais recentes downloads da tecnologia Eclipse no alphaWorks da IBM.
-
Inove seu próximo projeto de desenvolvimento de software livre com
Versão de teste do software IBM, disponível para download ou em DVD.
Discutir
-
Visite a comunidade Eclipse para saber mais e discutir problemas relacionados ao Eclipse.
-
O Newsgroup do Eclipse tem muitos recursos para pessoas interessadas em usar e ampliar o Eclipse.
-
Participe da comunidade do developerWorks acessando os blogs do developerWorks.

Philipp Tiedt é engenheiro de software do Laboratório de Desenvolvimento da IBM em Boeblingen, Alemanha. Ele é bacharel em ciência da computação pela Open University. Antes de entrar para a IBM Alemanha em 2004, ele concluiu seu bacharelado no T.J. Watson Research Center da IBM em Hawthorne, Nova York. Suas áreas de interesse são Eclipse, design de interface com o usuário, tecnologia Java e arquitetura orientada a serviços.