gpt4 book ai didi

java - Intellij插件开发-访问最近激活的编辑器的内部堆栈

转载 作者:行者123 更新时间:2023-12-01 14:32:46 25 4
gpt4 key购买 nike

在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)将在当前 Activity 的编辑器之前获取文件。

此处缺少 isOpenproject,但可以通过几种方法从AnActionEvent事件中检索。

关于java - Intellij插件开发-访问最近激活的编辑器的内部堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60321514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com