Pregunta

Is it possible to get the current editor pane and edit the contents from an IntelliJ (IDEA) plugin?

I'd like to for example, select some text in the current editor and overwrite it with my own.

I've got this far;

Editor editor = FileEditorManager.getInstance(event.getProject()).getSelectedTextEditor();
VisualPosition position = editor.getCaretModel().getVisualPosition();
Document document = editor.getDocument();
document.insertString(position.column, Character.toString(text.charAt(offset)));

where event is AnActionEvent coming in from the AnAction class.

but it doesn't update the editor panel.

Any pointers much appreciated.

¿Fue útil?

Solución 2

Please see http://confluence.jetbrains.com/display/IDEADEV/IntelliJ+IDEA+Architectural+Overview for some general guidance.

It would be easier to answer your question if you specify your exact usecase.

Otros consejos

Use document.replaceString(start,end,replaceSting) to replace text in editor.

For more information, see Working with Text:

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top