2013-07-29 34 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

相關問題