2016-05-30 3 views
1

IntelliJの検査プラグインを作成しています。このプラグインでは、ToolWindowFactoryベースのクラスから現在のソースコード(カーソル位置など)にアクセスする必要があります。 PSIManagerを経由する方法ですが、AnAction派生クラスのみであり、ToolWindowFactory派生クラスではありません。アイデアはありますか?ToolWindowFactoryベースのクラスから現在のソースコードにアクセスする方法

+0

まさに "現在のソースコード" とは何ですか?複数の分割ペインが開いていて、それぞれに独自のエディタがあります。 – yole

+0

hmmm、ok。最後に使用されます。 – DynamicBit

答えて

1

おそらくcom.intellij.openapi.editor.event.CaretListenerは機能しますか?開いているすべてのエディタのイベントを受け取るには、次のように登録することができます。

com.intellij.openapi.editor.EditorFactory.getInstance().getEventMulticaster().addCaretListener(myCaretListener); 
+0

ありがとう、これは動作します。 – DynamicBit

0
 CaretListener listener = new CaretAdapter() { 
     @Override 
     public void caretPositionChanged(CaretEvent e) { 
      System.out.println(e.getNewPosition()); 
     } 
    }; 
    com.intellij.openapi.editor.EditorFactory.getInstance().getEventMulticaster().addCaretListener(listener); 
関連する問題