私は Eclipse 用のプラグインを作成していますが、アクティブなエディターのエディター テキスト変更イベントをリッスンする方法を考えています。
基本的に、開いているエディターのいずれかでテキストが変更されたときに、リスナー イベントを発生させたいと考えています。
私は Eclipse 用のプラグインを作成していますが、アクティブなエディターのエディター テキスト変更イベントをリッスンする方法を考えています。
基本的に、開いているエディターのいずれかでテキストが変更されたときに、リスナー イベントを発生させたいと考えています。
Document
エディターに関連付けられた JFaceオブジェクトにアクセスして、 を追加するIDocumentListener
必要があります。
本当に珍しいですね。また、非常に邪魔で危険です。エディターでの入力を聞きたいのはなぜですか? 行わないことを強くお勧めします。それは、同じモデル (IEditorInput) の一連のエディターに限定されるべきではありませんか?
IWorkbenchPage page = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getActivePage();
IEditorReference[] editorReferences = page.getEditorReferences();
editorReferences から、リスナーを追加する方法を見つけてください。IEditorReference はハンドルです。エディターがアクティブになっているわけではありません。Eclipse を開くと、エディターは遅延してアクティブ化されます (エディターをクリックして開くと)。そのため、開いているすべてのエディターをアクティブ化すると、パフォーマンスの問題が発生する可能性もあります。