Ian a écrit un plugin d'inspection pour IntelliJ. Pour ce plugin, j'ai besoin d'accéder depuis la classe basée sur ToolWindowFactory au code source actuel (position du curseur, etc.). Theres un chemin à travers le PSIManager, mais seulement dans les classes dérivées AnAction, pas pour les classes dérivées ToolWindowFactory. Il y a des idées?Comment accéder à la classe basée sur ToolWindowFactory au code source actuel
1
A
Répondre
1
Peut-être un com.intellij.openapi.edvent.event.CaretListener fonctionnerait-il? Vous pouvez l'enregistrer comme suit pour recevoir des événements pour tous les éditeurs ouverts.
com.intellij.openapi.editor.EditorFactory.getInstance().getEventMulticaster().addCaretListener(myCaretListener);
+0
merci, cela fonctionne. – 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);
Quel est exactement "code source en cours"? Il peut y avoir plusieurs volets séparés, chacun avec son propre éditeur. – yole
hmmm, ok. alors le dernier utilisé. – DynamicBit