1

私は Eclipse 用のプラグインを作成していますが、アクティブなエディターのエディター テキスト変更イベントをリッスンする方法を考えています。

基本的に、開いているエディターのいずれかでテキストが変更されたときに、リスナー イベントを発生させたいと考えています。

4

2 に答える 2

2

Documentエディターに関連付けられた JFaceオブジェクトにアクセスして、 を追加するIDocumentListener必要があります。

于 2012-05-19T03:48:22.960 に答える
0

本当に珍しいですね。また、非常に邪魔で危険です。エディターでの入力を聞きたいのはなぜですか? 行わないことを強くお勧めします。それは、同じモデル (IEditorInput) の一連のエディターに限定されるべきではありませんか?

IWorkbenchPage page = PlatformUI.getWorkbench()
            .getActiveWorkbenchWindow().getActivePage();
    IEditorReference[] editorReferences = page.getEditorReferences();

editorReferences から、リスナーを追加する方法を見つけてください。IEditorReference はハンドルです。エディターがアクティブになっているわけではありません。Eclipse を開くと、エディターは遅延してアクティブ化されます (エディターをクリックして開くと)。そのため、開いているすべてのエディターをアクティブ化すると、パフォーマンスの問題が発生する可能性もあります。

于 2012-05-20T18:42:24.083 に答える