package liveplugin.toolwindow; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFileManager; import com.intellij.openapi.vfs.newvfs.RefreshQueue; import liveplugin.Icons; import liveplugin.LivePluginAppComponent; import org.jetbrains.annotations.Nullable; @SuppressWarnings("ComponentNotRegistered") public class RefreshPluginsPanelAction extends AnAction implements DumbAware { public RefreshPluginsPanelAction() { super("Refresh Plugins Panel", "Refresh Plugins Panel", Icons.REFRESH_PLUGINS_PANEL_ICON); } public static void refreshPluginTree() { ApplicationManager.getApplication().runWriteAction(() -> { VirtualFile pluginsRoot = VirtualFileManager.getInstance().findFileByUrl("file://" + LivePluginAppComponent.pluginsRootPath()); if (pluginsRoot == null) return; RefreshQueue.getInstance().refresh(false, true, () -> PluginToolWindowManager.reloadPluginTreesInAllProjects(), pluginsRoot); }); } @Override public void actionPerformed(@Nullable AnActionEvent e) { refreshPluginTree(); } }