當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript ContextKeyExpr.and方法代碼示例

本文整理匯總了TypeScript中vs/platform/contextkey/common/contextkey.ContextKeyExpr.and方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript ContextKeyExpr.and方法的具體用法?TypeScript ContextKeyExpr.and怎麽用?TypeScript ContextKeyExpr.and使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在vs/platform/contextkey/common/contextkey.ContextKeyExpr的用法示例。


在下文中一共展示了ContextKeyExpr.and方法的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: registerWebViewCommands

export function registerWebViewCommands(editorId: string): void {
    const contextKeyExpr = ContextKeyExpr.and(ContextKeyExpr.equals('activeEditor', editorId), ContextKeyExpr.not('editorFocus') /* https://github.com/Microsoft/vscode/issues/58668 */);

    const showNextFindWidgetCommand = new ShowWebViewEditorFindWidgetCommand({
        id: ShowWebViewEditorFindWidgetCommand.ID,
        precondition: contextKeyExpr,
        kbOpts: {
            primary: KeyMod.CtrlCmd | KeyCode.KEY_F,
            weight: KeybindingWeight.EditorContrib
        }
    });
    showNextFindWidgetCommand.register();

    const hideCommand = new HideWebViewEditorFindCommand({
        id: HideWebViewEditorFindCommand.ID,
        precondition: ContextKeyExpr.and(
            contextKeyExpr,
            KEYBINDING_CONTEXT_WEBVIEW_FIND_WIDGET_VISIBLE),
        kbOpts: {
            primary: KeyCode.Escape,
            weight: KeybindingWeight.EditorContrib
        }
    });
    hideCommand.register();

    const selectAllCommand = new SelectAllWebviewEditorCommand({
        id: SelectAllWebviewEditorCommand.ID,
        precondition: contextKeyExpr,
        kbOpts: {
            primary: KeyMod.CtrlCmd | KeyCode.KEY_A,
            weight: KeybindingWeight.EditorContrib
        }
    });
    selectAllCommand.register();
}
開發者ID:ramesius,項目名稱:vscode,代碼行數:35,代碼來源:webview.contribution.ts

示例2: constructor

    constructor() {
        super({
            id: 'editor.action.formatDocument.none',
            label: nls.localize('formatDocument.label.multiple', "Format Document"),
            alias: 'Format Document',
            precondition: ContextKeyExpr.and(EditorContextKeys.writable, EditorContextKeys.hasDocumentFormattingProvider.toNegated()),
            kbOpts: {
                kbExpr: ContextKeyExpr.and(EditorContextKeys.editorTextFocus, EditorContextKeys.hasDocumentFormattingProvider.toNegated()),
                primary: KeyMod.Shift | KeyMod.Alt | KeyCode.KEY_F,
                linux: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_I },
                weight: KeybindingWeight.EditorContrib,
            }
        });
    }
開發者ID:eamodio,項目名稱:vscode,代碼行數:14,代碼來源:formatActionsNone.ts

示例3: registerWindowActions

    (function registerWindowActions(): void {
        registry.registerWorkbenchAction(new SyncActionDescriptor(NewWindowAction, NewWindowAction.ID, NewWindowAction.LABEL, { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_N }), 'New Window');
        registry.registerWorkbenchAction(new SyncActionDescriptor(CloseCurrentWindowAction, CloseCurrentWindowAction.ID, CloseCurrentWindowAction.LABEL, { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_W }), 'Close Window');
        registry.registerWorkbenchAction(new SyncActionDescriptor(SwitchWindow, SwitchWindow.ID, SwitchWindow.LABEL, { primary: 0, mac: { primary: KeyMod.WinCtrl | KeyCode.KEY_W } }), 'Switch Window...');
        registry.registerWorkbenchAction(new SyncActionDescriptor(QuickSwitchWindow, QuickSwitchWindow.ID, QuickSwitchWindow.LABEL), 'Quick Switch Window...');

        KeybindingsRegistry.registerCommandAndKeybindingRule({
            id: 'workbench.action.closeWindow', // close the window when the last editor is closed by reusing the same keybinding
            weight: KeybindingWeight.WorkbenchContrib,
            when: ContextKeyExpr.and(NoEditorsVisibleContext, SingleEditorGroupsContext),
            primary: KeyMod.CtrlCmd | KeyCode.KEY_W,
            handler: accessor => {
                const windowService = accessor.get(IWindowService);
                windowService.closeWindow();
            }
        });

        KeybindingsRegistry.registerCommandAndKeybindingRule({
            id: 'workbench.action.quit',
            weight: KeybindingWeight.WorkbenchContrib,
            handler(accessor: ServicesAccessor) {
                const windowsService = accessor.get(IWindowsService);
                windowsService.quit();
            },
            when: undefined,
            mac: { primary: KeyMod.CtrlCmd | KeyCode.KEY_Q },
            linux: { primary: KeyMod.CtrlCmd | KeyCode.KEY_Q }
        });
    })();
開發者ID:joelday,項目名稱:vscode,代碼行數:29,代碼來源:main.contribution.ts

示例4: constructor

    constructor() {
        super({
            id: 'editor.emmet.action.expandAbbreviation',
            label: nls.localize('expandAbbreviationAction', "Emmet: Expand Abbreviation"),
            alias: 'Emmet: Expand Abbreviation',
            precondition: EditorContextKeys.writable,
            actionName: 'expand_abbreviation',
            kbOpts: {
                primary: KeyCode.Tab,
                kbExpr: ContextKeyExpr.and(
                    EditorContextKeys.editorTextFocus,
                    EditorContextKeys.tabDoesNotMoveFocus,
                    ContextKeyExpr.has('config.emmet.triggerExpansionOnTab')
                ),
                weight: KeybindingWeight.EditorContrib
            },
            menubarOpts: {
                menuId: MenuId.MenubarEditMenu,
                group: '5_insert',
                title: nls.localize({ key: 'miEmmetExpandAbbreviation', comment: ['&& denotes a mnemonic'] }, "Emmet: E&&xpand Abbreviation"),
                order: 3
            }
        });

    }
開發者ID:burhandodhy,項目名稱:azuredatastudio,代碼行數:25,代碼來源:expandAbbreviation.ts

示例5: constructor

    constructor() {
        super({
            id: 'editor.debug.action.toggleColumnBreakpointContextMenu',
            label: nls.localize('columnBreakpoint', "Add Column Breakpoint"),
            alias: 'Toggle Column Breakpoint',
            precondition: ContextKeyExpr.and(CONTEXT_IN_DEBUG_MODE, CONTEXT_NOT_IN_DEBUG_REPL, EditorContextKeys.Writable),
            menuOpts: {
                group: 'debug',
                order: 1
            }
        });
    }
開發者ID:thinhpham,項目名稱:vscode,代碼行數:12,代碼來源:debugEditorActions.ts

示例6: constructor

    constructor() {
        super({
            id: 'editor.debug.action.selectionToWatch',
            label: nls.localize('debugAddToWatch', "Debug: Add to Watch"),
            alias: 'Debug: Add to Watch',
            precondition: ContextKeyExpr.and(EditorContextKeys.HasNonEmptySelection, CONTEXT_IN_DEBUG_MODE, CONTEXT_NOT_IN_DEBUG_REPL),
            menuOpts: {
                group: 'debug',
                order: 1
            }
        });
    }
開發者ID:diarmaidm,項目名稱:vscode,代碼行數:12,代碼來源:debugEditorActions.ts

示例7: constructor

    constructor() {
        super({
            id: 'editor.debug.action.runToCursor',
            label: nls.localize('runToCursor', "Run to Cursor"),
            alias: 'Debug: Run to Cursor',
            precondition: ContextKeyExpr.and(CONTEXT_IN_DEBUG_MODE, EditorContextKeys.writable, CONTEXT_DEBUG_STATE.isEqualTo('stopped'), EditorContextKeys.editorTextFocus),
            menuOpts: {
                group: 'debug',
                order: 2
            }
        });
    }
開發者ID:burhandodhy,項目名稱:azuredatastudio,代碼行數:12,代碼來源:debugEditorActions.ts

示例8: constructor

    constructor() {
        super({
            id: 'editor.debug.action.selectionToRepl',
            label: nls.localize('debugEvaluate', "Debug: Evaluate"),
            alias: 'Debug: Evaluate',
            precondition: ContextKeyExpr.and(EditorContextKeys.hasNonEmptySelection, CONTEXT_IN_DEBUG_MODE, CONTEXT_NOT_IN_DEBUG_REPL),
            menuOpts: {
                group: 'debug',
                order: 0
            }
        });
    }
開發者ID:sameer-coder,項目名稱:vscode,代碼行數:12,代碼來源:debugEditorActions.ts

示例9: registerWorkbenchCommandFromAction

    private registerWorkbenchCommandFromAction(descriptor: SyncActionDescriptor, alias: string, category?: string, when?: ContextKeyExpr): IDisposable {
        let registrations: IDisposable[] = [];

        // command
        registrations.push(CommandsRegistry.registerCommand(descriptor.id, this.createCommandHandler(descriptor)));

        // keybinding
        const weight = (typeof descriptor.keybindingWeight === 'undefined' ? KeybindingWeight.WorkbenchContrib : descriptor.keybindingWeight);
        const keybindings = descriptor.keybindings;
        KeybindingsRegistry.registerKeybindingRule({
            id: descriptor.id,
            weight: weight,
            when: (descriptor.keybindingContext || when ? ContextKeyExpr.and(descriptor.keybindingContext, when) : null),
            primary: keybindings ? keybindings.primary : 0,
            secondary: keybindings && keybindings.secondary,
            win: keybindings && keybindings.win,
            mac: keybindings && keybindings.mac,
            linux: keybindings && keybindings.linux
        });

        // menu item
        // TODO@Rob slightly weird if-check required because of
        // https://github.com/Microsoft/vscode/blob/master/src/vs/workbench/contrib/search/electron-browser/search.contribution.ts#L266
        if (descriptor.label) {

            let idx = alias.indexOf(': ');
            let categoryOriginal = '';
            if (idx > 0) {
                categoryOriginal = alias.substr(0, idx);
                alias = alias.substr(idx + 2);
            }

            const command: ICommandAction = {
                id: descriptor.id,
                title: { value: descriptor.label, original: alias },
                category: category ? { value: category, original: categoryOriginal } : undefined
            };

            MenuRegistry.addCommand(command);

            registrations.push(MenuRegistry.appendMenuItem(MenuId.CommandPalette, { command, when }));
        }

        // TODO@alex,joh
        // support removal of keybinding rule
        // support removal of command-ui
        return combinedDisposable(registrations);
    }
開發者ID:eamodio,項目名稱:vscode,代碼行數:48,代碼來源:actions.ts


注:本文中的vs/platform/contextkey/common/contextkey.ContextKeyExpr.and方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。