Skip unsupported actions and menu items

Using this to skip the toggle developer tools action since there doesn't
seem to be any way to do that from the browser. There might be others we
will need to add.
This commit is contained in:
Asher
2019-02-04 11:27:36 -06:00
committed by Kyle Carberry
parent 6bb62005cb
commit ec515c0a3f
4 changed files with 47 additions and 1 deletions

View File

@@ -0,0 +1,21 @@
import { logger } from "@coder/logger";
import { IDisposable } from "vs/base/common/lifecycle";
import * as actions from "vs/platform/actions/common/actions";
import { ToggleDevToolsAction } from "vs/workbench/electron-browser/actions";
// Intercept appending menu items so we can skip items that won't work.
const originalAppend = actions.MenuRegistry.appendMenuItem.bind(actions.MenuRegistry);
actions.MenuRegistry.appendMenuItem = (id: actions.MenuId, item: actions.IMenuItem | actions.ISubmenuItem): IDisposable => {
if (actions.isIMenuItem(item)) {
switch (item.command.id) {
case ToggleDevToolsAction.ID: // There appears to be no way to toggle this programmatically.
logger.debug(`Skipping unsupported menu item ${item.command.id}`);
return {
dispose: (): void => undefined,
};
}
}
return originalAppend(id, item);
};