Plugin do Eclipse para monitorar granularmente as alterações do editor

Então, estou procurando desenvolver um plug-in para o Eclipse 4.2 que monitore as edições que um usuário faz em seus arquivos.

Este é o meu primeiro plug-in do Eclipse e, para me preparar, percorri a folha de dicas de desenvolvimento de plug-in do Eclipse (HelloWorld) e passei muitas horas em help.eclipse.org examinando a documentação e a API. Eu acho que tenho uma ideia de quais ferramentas eu preciso, mas não tenho certeza de como juntar essas ferramentas para fazer o que eu quero.

Resultados desejados: Tenha um plugin que seja mantido informado de cada nova letra adicionada a um editor (Java) e todas e quaisquer exclusões. Isso inclui coisas que o Eclipse faz (variáveis ​​de preenchimento automático, chaves), bem como o que o usuário digita.

Ferramentas que podem ajudar: Estou pensando que umIResourceChangeListener vai ajudar, pois me dá umIResourceChangeEvent, com um acessoIResourceDelta que representa as alterações do espaço de trabalho. Além disso, como os editores estendem o EditorPart, estou pensando em adicionar umIPropertyChangeListener para o editor relevante pode ser útil também.

Acho que tenho as ferramentas certas, mas não tenho ideia de como montá-las para fazer o que desejar.

Questões:
As ferramentas listadas acima são as adequadas para o trabalho?
Como posso obter uma lista de todos os editores abertos ou que serão abertos e adicionar ouvintes a eles?
Alguma dica adicional para recursos em aprender como programar plugins do Eclipse?

questionAnswers(2)

yourAnswerToTheQuestion