在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);
}
}