monaco-editor-core
Version:
A browser based code editor
55 lines (54 loc) • 3.11 kB
JavaScript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { registerEditorAction, registerEditorCommand, registerEditorContribution } from '../../../browser/editorExtensions.js';
import { editorConfigurationBaseNode } from '../../../common/config/editorConfigurationSchema.js';
import { AutoFixAction, CodeActionCommand, FixAllAction, OrganizeImportsAction, QuickFixAction, RefactorAction, SourceAction } from './codeActionCommands.js';
import { CodeActionController } from './codeActionController.js';
import { LightBulbWidget } from './lightBulbWidget.js';
import * as nls from '../../../../nls.js';
import { Extensions } from '../../../../platform/configuration/common/configurationRegistry.js';
import { Registry } from '../../../../platform/registry/common/platform.js';
registerEditorContribution(CodeActionController.ID, CodeActionController, 3 /* EditorContributionInstantiation.Eventually */);
registerEditorContribution(LightBulbWidget.ID, LightBulbWidget, 4 /* EditorContributionInstantiation.Lazy */);
registerEditorAction(QuickFixAction);
registerEditorAction(RefactorAction);
registerEditorAction(SourceAction);
registerEditorAction(OrganizeImportsAction);
registerEditorAction(AutoFixAction);
registerEditorAction(FixAllAction);
registerEditorCommand(new CodeActionCommand());
Registry.as(Extensions.Configuration).registerConfiguration({
...editorConfigurationBaseNode,
properties: {
'editor.codeActionWidget.showHeaders': {
type: 'boolean',
scope: 5 /* ConfigurationScope.LANGUAGE_OVERRIDABLE */,
description: nls.localize('showCodeActionHeaders', "Enable/disable showing group headers in the Code Action menu."),
default: true,
},
}
});
Registry.as(Extensions.Configuration).registerConfiguration({
...editorConfigurationBaseNode,
properties: {
'editor.codeActionWidget.includeNearbyQuickFixes': {
type: 'boolean',
scope: 5 /* ConfigurationScope.LANGUAGE_OVERRIDABLE */,
description: nls.localize('includeNearbyQuickFixes', "Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),
default: true,
},
}
});
Registry.as(Extensions.Configuration).registerConfiguration({
...editorConfigurationBaseNode,
properties: {
'editor.codeActions.triggerOnFocusChange': {
type: 'boolean',
scope: 5 /* ConfigurationScope.LANGUAGE_OVERRIDABLE */,
markdownDescription: nls.localize('triggerOnFocusChange', 'Enable triggering {0} when {1} is set to {2}. Code Actions must be set to {3} to be triggered for window and focus changes.', '`#editor.codeActionsOnSave#`', '`#files.autoSave#`', '`afterDelay`', '`always`'),
default: false,
},
}
});