this view is not available until indices are built 解决方案

在jetbrains插件开发过程中经常遇到下面这个问题,启动IDE后项目需要同步,插件需要等待项目同步完成才能显示,明明插件和项目同步没有关系的。

this view is not available until indices are built

怎么去解决这个问题呢。在jetbrains论坛找到了解决方案。实现ToolWindowFactory接口的同时还需要实现DumbAware接口,这样就不需要等项目同步完成了。

public class DevToolFactory implements ToolWindowFactory, DumbAware {  
    @Override
    public void createToolWindowContent(@NotNull Project project, @NotNull ToolWindow toolWindow) {
        MainComponent.getInstance(project).initView(toolWindow);
    }
}

参考文档