基本上,我想知道如何在IntelliJ中执行此操作(Eclipse Plugin Get Code from Current Open File。
答案 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();