IntelliJ插件从当前打开的文件中获取代码

时间:2013-07-29 03:38:56

标签: intellij-idea intellij-plugin

基本上,我想知道如何在IntelliJ中执行此操作(Eclipse Plugin Get Code from Current Open File

2 个答案:

答案 0 :(得分:11)

以防有人正在寻找这个 - 如果你想要当前打开文件的文件名,你必须跳过一些额外的箍:

Document currentDoc = FileEditorManager.getInstance(project).getSelectedTextEditor().getDocument();
VirtualFile currentFile = FileDocumentManager.getInstance().getFile(currentDoc);
String fileName = currentFile.getPath()

(通过在Github搜索中输入“getSelectedTextEditor filename”找到这个 - 有时你只需要一个指向正确方向的指针......)

答案 1 :(得分:10)

在什么情况下?如果你在一个动作中,你可以简单地从ActionEvent中获取所有内容,例如:

e.getData(LangDataKeys.EDITOR).getDocument().getText();

(当e是AnActionEvent时)。

否则,您可以从项目中获取它:

FileEditorManager.getInstance(project).getSelectedTextEditor().getDocument().getText();