Ответ довольно прост - хотя, конечно, команда 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 могут потребоваться некоторые проверки ...
... но если люди, написавшие документацию, не смогут выразить, что такое проверки, и люди, написавшие код, не смогут написать код, который не нуждается в проверках тогда какое мне дело.
Я имею в виду, что ядерная бомба не взорвется, верно?