2013-07-29 33 views

回答

9

在什么情况下?如果你是一个动作里,你可以简单地把一切都要从动作事件,例如:

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

(当E是AnActionEvent)。

否则,您可以从项目中得到它:

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

相关问题:如果你想要当前打开的文件的文件名,你必须通过一些额外的环节跳转: – rob74

9

万一有人找这一点 - 如果你想文件名当前打开的文件的,你必须通过一些跳附加箍筋:

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

(在Github的搜索中输入“文件名getSelectedTextEditor”发现了这个 - 有时你需要的是在正确的方向指向...)

+1

我有点想做同样的事情,但得不到项目:'public void actionPerformed(AnActionEvent e){Project project = e.getProject(); ......' - 不知何故,它是空的。我究竟做错了什么? – t1gor

+0

'ProjectManager.getInstance()。getOpenProjects()'应该有帮助... – Simon

相关问题