Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.ts
3296 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import { localize, localize2 } from '../../../../nls.js';
7
import { Action2, MenuId, registerAction2 } from '../../../../platform/actions/common/actions.js';
8
import { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';
9
import { ContextKeyExpr } from '../../../../platform/contextkey/common/contextkey.js';
10
import { Categories } from '../../../../platform/action/common/actionCommonCategories.js';
11
import { ServicesAccessor } from '../../../../platform/instantiation/common/instantiation.js';
12
13
export class ToggleRenderControlCharacterAction extends Action2 {
14
15
static readonly ID = 'editor.action.toggleRenderControlCharacter';
16
17
constructor() {
18
super({
19
id: ToggleRenderControlCharacterAction.ID,
20
title: {
21
...localize2('toggleRenderControlCharacters', "Toggle Control Characters"),
22
mnemonicTitle: localize({ key: 'miToggleRenderControlCharacters', comment: ['&& denotes a mnemonic'] }, "Render &&Control Characters"),
23
},
24
category: Categories.View,
25
f1: true,
26
toggled: ContextKeyExpr.equals('config.editor.renderControlCharacters', true),
27
menu: {
28
id: MenuId.MenubarAppearanceMenu,
29
group: '4_editor',
30
order: 5
31
}
32
});
33
}
34
35
override run(accessor: ServicesAccessor): Promise<void> {
36
const configurationService = accessor.get(IConfigurationService);
37
38
const newRenderControlCharacters = !configurationService.getValue<boolean>('editor.renderControlCharacters');
39
return configurationService.updateValue('editor.renderControlCharacters', newRenderControlCharacters);
40
}
41
}
42
43
registerAction2(ToggleRenderControlCharacterAction);
44
45