Path: blob/main/src/vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.ts
3296 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { AbstractGotoLineQuickAccessProvider } from '../../../contrib/quickAccess/browser/gotoLineQuickAccess.js';6import { Registry } from '../../../../platform/registry/common/platform.js';7import { IQuickAccessRegistry, Extensions } from '../../../../platform/quickinput/common/quickAccess.js';8import { ICodeEditorService } from '../../../browser/services/codeEditorService.js';9import { GoToLineNLS } from '../../../common/standaloneStrings.js';10import { Event } from '../../../../base/common/event.js';11import { EditorAction, registerEditorAction, ServicesAccessor } from '../../../browser/editorExtensions.js';12import { EditorContextKeys } from '../../../common/editorContextKeys.js';13import { KeyMod, KeyCode } from '../../../../base/common/keyCodes.js';14import { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';15import { IQuickInputService } from '../../../../platform/quickinput/common/quickInput.js';1617export class StandaloneGotoLineQuickAccessProvider extends AbstractGotoLineQuickAccessProvider {1819protected readonly onDidActiveTextEditorControlChange = Event.None;2021constructor(@ICodeEditorService private readonly editorService: ICodeEditorService) {22super();23}2425protected get activeTextEditorControl() {26return this.editorService.getFocusedCodeEditor() ?? undefined;27}28}2930export class GotoLineAction extends EditorAction {3132static readonly ID = 'editor.action.gotoLine';3334constructor() {35super({36id: GotoLineAction.ID,37label: GoToLineNLS.gotoLineActionLabel,38alias: 'Go to Line/Column...',39precondition: undefined,40kbOpts: {41kbExpr: EditorContextKeys.focus,42primary: KeyMod.CtrlCmd | KeyCode.KeyG,43mac: { primary: KeyMod.WinCtrl | KeyCode.KeyG },44weight: KeybindingWeight.EditorContrib45}46});47}4849run(accessor: ServicesAccessor): void {50accessor.get(IQuickInputService).quickAccess.show(StandaloneGotoLineQuickAccessProvider.PREFIX);51}52}5354registerEditorAction(GotoLineAction);5556Registry.as<IQuickAccessRegistry>(Extensions.Quickaccess).registerQuickAccessProvider({57ctor: StandaloneGotoLineQuickAccessProvider,58prefix: StandaloneGotoLineQuickAccessProvider.PREFIX,59helpEntries: [{ description: GoToLineNLS.gotoLineActionLabel, commandId: GotoLineAction.ID }]60});616263