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

Intellij idea IntelliJ插件从当前打开的文件获取代码,intellij-idea,intellij-plugin,Intellij Idea,Intellij Plugin,基本上,我想知道如何在IntelliJ中()执行此操作。在什么上下文中?如果您在某个动作中,您可以简单地获取ActionEvent中的所有内容,例如: e.getData(LangDataKeys.EDITOR).getDocument().getText(); (当e是一个动作事件时) 否则,您可以从项目中获取: FileEditorManager.getInstance(project).getSelectedTextEditor().getDocument().getText(); 以

基本上,我想知道如何在IntelliJ中()执行此操作。

在什么上下文中?如果您在某个动作中,您可以简单地获取ActionEvent中的所有内容,例如:

e.getData(LangDataKeys.EDITOR).getDocument().getText();
(当e是一个动作事件时)

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

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

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

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

(通过在Github搜索中输入“getSelectedTextEditor文件名”发现了这一点-有时您所需要的只是一个指向正确方向的指针…

我也在尝试这样做,但在获取项目时失败:
public void actionPerformed(AnActionEvent e){project project=e.getProject()…
-不知何故,它是空的。我做错了什么?