2011-07-12 20 views
3

どのように動作するかを理解するための簡単なEclipseプラグインを開発しようとしています。エディタの内容を取得

私はこのことについて2つの質問があります

は、どのように私はアクティブなエディタの内容を得ることができますか?

ライフサイクルプラグインと共同開発についての良い文書がありますか?私はGoogleで本当に良いドキュメントを見つけることができません。

答えて

8

現在のエディタの内容に関して、これを行うにはいくつかの方法があります。次のコードは、テストされていません。

public String getCurrentEditorContent() { 
    final IEditorPart activeEditor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage() 
      .getActiveEditor(); 
    if (activeEditor == null) 
     return null; 
    final IDocument doc = (IDocument) activeEditor.getAdapter(IDocument.class); 
    if (doc == null) return null; 

    return doc.get(); 
} 
+0

それは正常に動作します。ありがとう:) – Kiva

+0

これは私を働かせずにnullを返します – Durin

+0

このコードをどこに追加しますか? –

1

私はIDEとしてEclipseを使い慣れていると仮定しています。

  • 新しいプラグインプロジェクトウィザードを使用して、新しいプラグインプロジェクトを作成します。テンプレートパネルで
  • 、「エディタでプラグイン」を選択し
  • あなたはEclipseのプラグインを書くことについて深刻なら、著書、「Eclipseのプラグインを生成したコード

を読みますエリック・クレイバーグとダン・ルーベルの著書は非常に貴重です。私は本を​​読むまで、eclipse.orgの書き込みを理解できませんでした。

9

Tonnyマドセンの答えは罰金、おそらくもう少し透明である(getAdapter()は非常に不透明である)のようなものです:

public String getCurrentEditorContent() { 
    final IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage() 
     .getActiveEditor(); 
    if (!(editor instanceof ITextEditor)) return null; 
    ITextEditor ite = (ITextEditor)editor; 
    IDocument doc = ite.getDocumentProvider().getDocument(ite.getEditorInput()); 
    return doc.get(); 
} 
+0

これは私のためのトリックでした、ありがとうございます。 –

関連する問題