我正在制作一个intellij插件。当我在selectionChanged
的{{1}}方法中运行一些代码时,会收到此通知。
我不知道文档所指的是什么-所有对此问题的引用都趋向于一些android bug,但是我不在android上工作,这是一个实际的intellij插件。
任何想法-我怀疑我是在应用程序编制索引时不要“运行”此代码,但我不确定如何执行此操作。
答案 0 :(得分:-3)
答案很简单-尽管,当然,intellij团队似乎想让他们的插件代码很难理解。人们为什么不理会实际文档,这只是我的事。真是可惜。
这里:
@Override
public void fileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file) {
try {
showItem(toolWindow.getComponent(), file);
} catch (IndexNotReadyException ex) {
DumbService.getInstance(project).runWhenSmart(() -> showItem(toolWindow.getComponent(), file) );
}
}
诀窍是包装在try / catch块中,然后使用“ DumbService”。这不是一个完整的解决方案,Doco神秘地警告他们使用DumbService可能需要一些检查...
...但是,如果编写文档的人不能费心表达检查内容,而编写代码的人也可以不费心力写不需要检查的代码那我在乎什么。
我的意思是,这不像核弹会爆炸,对吗?