Skip to content

Commit 458a4ca

Browse files
committed
feat: add the quickAccess for the Settings
1 parent 223ea3c commit 458a4ca

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed
+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import 'reflect-metadata';
2+
import { localize } from 'monaco-editor/esm/vs/nls';
3+
import { KeyMod, KeyCode } from 'mo/monaco';
4+
import { KeyChord } from 'monaco-editor/esm/vs/base/common/keyCodes';
5+
import { ISettingsService, SettingsService } from 'mo/services';
6+
import { ServicesAccessor } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation';
7+
import { container } from 'tsyringe';
8+
import { Action2, KeybindingWeight } from './common';
9+
10+
export class QuickAccessSettings extends Action2 {
11+
static readonly ID = 'workbench.action.quickAccessSettings';
12+
static readonly LABEL = localize(
13+
'quickAccessSettings.label',
14+
'Open Settings (JSON)'
15+
);
16+
private readonly settingsService: ISettingsService;
17+
18+
constructor() {
19+
super({
20+
id: QuickAccessSettings.ID,
21+
label: QuickAccessSettings.LABEL,
22+
title: QuickAccessSettings.LABEL,
23+
alias: 'Open Settings (JSON)',
24+
precondition: undefined,
25+
f1: true,
26+
keybinding: {
27+
when: undefined,
28+
weight: KeybindingWeight.WorkbenchContrib,
29+
// eslint-disable-next-line new-cap
30+
primary: KeyChord(KeyMod.CtrlCmd | KeyCode.US_COMMA),
31+
},
32+
});
33+
this.settingsService = container.resolve(SettingsService);
34+
}
35+
36+
run(accessor: ServicesAccessor) {
37+
this.settingsService.openSettingsInEditor();
38+
}
39+
}

src/provider/molecule.tsx

+2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { ID_APP } from 'mo/common/id';
1313
import { IMonacoService, MonacoService } from 'mo/monaco/monacoService';
1414
import { CommandQuickAccessViewAction } from 'mo/monaco/quickAccessViewAction';
1515
import { registerAction2 } from 'mo/monaco/common';
16+
import { QuickAccessSettings } from 'mo/monaco/quickAccessSettingsAction';
1617
import { SelectColorThemeAction } from 'mo/monaco/selectColorThemeAction';
1718

1819
export interface IMoleculeProps {
@@ -54,6 +55,7 @@ export class MoleculeProvider extends React.Component<IMoleculeProps> {
5455
);
5556
registerAction2(CommandQuickAccessViewAction);
5657
registerAction2(SelectColorThemeAction);
58+
registerAction2(QuickAccessSettings);
5759
}
5860

5961
public render() {

0 commit comments

Comments
 (0)