在intellij插件开发环境中,我想访问应该在上次激活的编辑器上提供某种堆栈的内容。
我相信这由“激活最近打开的文件”使用。
我自己建立此索引可能会因使用多种方式打开文件/标签而导致错误。
最佳方法是什么?
/**
* Note, most recent file is last in the list.
*/
public List<VirtualFile> getRecentFiles() {
return EditorHistoryManager.getInstance(project).getFileList();
}
public VirtualFile getMostRecentFile(int index) {
return getMostRecentFile(index, true);
}
public VirtualFile getMostRecentFile(int index, boolean mustBeOpen) {
List<VirtualFile> files = getRecentFiles();
int i = files.size() - index - 1;
if ( i < files.size() ) {
VirtualFile file = files.get(i);
if ( mustBeOpen && !isOpen(file) ) {
file = getMostRecentFile( index - 1, mustBeOpen );
}
return file;
}
return null;
}
getMostRecentFile(1)
将在当前活动的编辑器之前获取文件。
isOpen
丢失,但是可以通过几种方法从AnActionEvent事件中检索。