9

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

4

2 回答 2

15

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

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

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

于 2013-11-05T22:24:19.733 回答
11

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

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

(当 e 是 AnActionEvent 时)。

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

FileEditorManager.getInstance(project).getSelectedTextEditor().getDocument().getText();
于 2013-07-29T17:49:15.203 回答