2012-04-26 6 views
2

Eclipseのデフォルトのコードエディタにリスナーを追加します。新しいコードファイルが開いたり閉じたりするたびに起動されます。そのようなものはありますか?私は何時間もGoogleの検索をしましたが、実際の解決策を見つけることができました。Eclipseのデフォルトのコードエディタにリスナーを追加する方法は?

特に、デフォルトのJavaコードエディタに焦点を当てています。しかし、いったんこのようなエディタにフックする方法が分かれば、それを追加するのは大きな問題ではありません。私がこれまでに持っていた主な問題は、私が得ることができるIEditorDescriptorで何をすべきかわからないことです。

+0

"デフォルトの"コードエディタはありません。任意のプラグインがエディタを提供し、任意の数のプラグインをインストールできます。 –

+0

プラグインがインストールされていないとどうなりますか?それにもかかわらず利用可能なエディタがあります。それは私が推測するデフォルトのエディタでしょう。 –

+0

しかし、あなたは常にいくつかのプラグインをインストールしています。 Javaエディタ、C++エディタ、テキストエディタなどはすべてプラグインによって提供されます。これらのプラグインは、デフォルトのEclipseインストールに含まれています。 –

答えて

4

次の例のように、PartServiceでIPartListener2を登録することができます:

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().addPartListener(aListener) 

あなたはIWorkbenchPageへの参照を持っている場合たとえば、IPartListenerを登録するには、他の方法があります。

エディタが開いたり閉じたりすると、パートリスナーに通知されます。 IPartListener2については、IWorkbenchPartReferenceがあります。このエディタを使用して、どのような種類のエディタが使用されているかを確認できます。たとえば、標準のJavaエディタを検出するには、ID org.eclipse.jdt.ui.CompilationUnitEditorを確認します。

+1

ちょっとしたコメントですが、第2段落で述べたように、インターフェイスの名前はIPartListener2です(IPartChangeListener2はありません)。 – ramirogm

+0

@ramirogmありがとう - 私はそれを修正しました。 –