提交 cf7b5675 编写于 作者: S Sandeep Somavarapu

#75079 Use URI for keybindings path

上级 d77341bf
...@@ -98,7 +98,7 @@ export interface IEnvironmentService { ...@@ -98,7 +98,7 @@ export interface IEnvironmentService {
appQuality?: string; appQuality?: string;
appSettingsHome: URI; appSettingsHome: URI;
settingsResource: URI; settingsResource: URI;
appKeybindingsPath: string; keybindingsResource: URI;
machineSettingsHome: string; machineSettingsHome: string;
machineSettingsPath: string; machineSettingsPath: string;
......
...@@ -133,7 +133,7 @@ export class EnvironmentService implements IEnvironmentService { ...@@ -133,7 +133,7 @@ export class EnvironmentService implements IEnvironmentService {
get settingsSearchUrl(): string | undefined { return product.settingsSearchUrl; } get settingsSearchUrl(): string | undefined { return product.settingsSearchUrl; }
@memoize @memoize
get appKeybindingsPath(): string { return path.join(this.appSettingsHome.fsPath, 'keybindings.json'); } get keybindingsResource(): URI { return resources.joinPath(this.appSettingsHome, 'keybindings.json'); }
@memoize @memoize
get isExtensionDevelopment(): boolean { return !!this._args.extensionDevelopmentPath; } get isExtensionDevelopment(): boolean { return !!this._args.extensionDevelopmentPath; }
......
...@@ -141,7 +141,7 @@ class CodeRendererMain extends Disposable { ...@@ -141,7 +141,7 @@ class CodeRendererMain extends Disposable {
environmentService.args = { _: [] }; environmentService.args = { _: [] };
environmentService.appSettingsHome = toResource('/web/settings'); environmentService.appSettingsHome = toResource('/web/settings');
environmentService.settingsResource = this.configuration.settingsUri; environmentService.settingsResource = this.configuration.settingsUri;
environmentService.appKeybindingsPath = '/web/settings/keybindings.json'; environmentService.keybindingsResource = toResource('/web/settings/keybindings.json');
environmentService.logsPath = '/web/logs'; environmentService.logsPath = '/web/logs';
environmentService.debugExtensionHost = { environmentService.debugExtensionHost = {
port: null, port: null,
......
...@@ -198,7 +198,7 @@ export class SimpleWorkbenchEnvironmentService implements IWorkbenchEnvironmentS ...@@ -198,7 +198,7 @@ export class SimpleWorkbenchEnvironmentService implements IWorkbenchEnvironmentS
appQuality?: string; appQuality?: string;
appSettingsHome: URI; appSettingsHome: URI;
settingsResource: URI; settingsResource: URI;
appKeybindingsPath: string; keybindingsResource: URI;
machineSettingsHome: string; machineSettingsHome: string;
machineSettingsPath: string; machineSettingsPath: string;
settingsSearchBuildId?: number; settingsSearchBuildId?: number;
......
...@@ -385,7 +385,7 @@ class PreferencesActionsContribution extends Disposable implements IWorkbenchCon ...@@ -385,7 +385,7 @@ class PreferencesActionsContribution extends Disposable implements IWorkbenchCon
dark: URI.parse(require.toUrl(`vs/workbench/contrib/preferences/browser/media/preferences-editor-inverse.svg`)) dark: URI.parse(require.toUrl(`vs/workbench/contrib/preferences/browser/media/preferences-editor-inverse.svg`))
} }
}, },
when: ResourceContextKey.Resource.isEqualTo(URI.file(environmentService.appKeybindingsPath).toString()), when: ResourceContextKey.Resource.isEqualTo(environmentService.keybindingsResource.toString()),
group: 'navigation', group: 'navigation',
order: 1 order: 1
}); });
......
...@@ -44,7 +44,7 @@ export class KeybindingsEditingService extends Disposable implements IKeybinding ...@@ -44,7 +44,7 @@ export class KeybindingsEditingService extends Disposable implements IKeybinding
public _serviceBrand: any; public _serviceBrand: any;
private queue: Queue<void>; private queue: Queue<void>;
private resource: URI = URI.file(this.environmentService.appKeybindingsPath); private resource: URI = this.environmentService.keybindingsResource;
constructor( constructor(
@ITextModelService private readonly textModelResolverService: ITextModelService, @ITextModelService private readonly textModelResolverService: ITextModelService,
......
...@@ -305,7 +305,7 @@ export class WorkbenchKeybindingService extends AbstractKeybindingService { ...@@ -305,7 +305,7 @@ export class WorkbenchKeybindingService extends AbstractKeybindingService {
this._cachedResolver = null; this._cachedResolver = null;
this._firstTimeComputingResolver = true; this._firstTimeComputingResolver = true;
this.userKeybindings = this._register(new ConfigWatcher(environmentService.appKeybindingsPath, { defaultConfig: [], onError: error => onUnexpectedError(error) })); this.userKeybindings = this._register(new ConfigWatcher(environmentService.keybindingsResource.fsPath, { defaultConfig: [], onError: error => onUnexpectedError(error) }));
keybindingsExtPoint.setHandler((extensions) => { keybindingsExtPoint.setHandler((extensions) => {
......
...@@ -66,7 +66,7 @@ suite('KeybindingsEditing', () => { ...@@ -66,7 +66,7 @@ suite('KeybindingsEditing', () => {
instantiationService = new TestInstantiationService(); instantiationService = new TestInstantiationService();
instantiationService.stub(IEnvironmentService, <IEnvironmentService>{ appKeybindingsPath: keybindingsFile, settingsResource: URI.file(path.join(testDir, 'settings.json')) }); instantiationService.stub(IEnvironmentService, <IEnvironmentService>{ keybindingsResource: URI.file(keybindingsFile), settingsResource: URI.file(path.join(testDir, 'settings.json')) });
instantiationService.stub(IConfigurationService, ConfigurationService); instantiationService.stub(IConfigurationService, ConfigurationService);
instantiationService.stub(IConfigurationService, 'getValue', { 'eol': '\n' }); instantiationService.stub(IConfigurationService, 'getValue', { 'eol': '\n' });
instantiationService.stub(IConfigurationService, 'onDidUpdateConfiguration', () => { }); instantiationService.stub(IConfigurationService, 'onDidUpdateConfiguration', () => { });
...@@ -146,7 +146,7 @@ suite('KeybindingsEditing', () => { ...@@ -146,7 +146,7 @@ suite('KeybindingsEditing', () => {
test('edit a default keybinding to a non existing keybindings file', () => { test('edit a default keybinding to a non existing keybindings file', () => {
keybindingsFile = path.join(testDir, 'nonExistingFile.json'); keybindingsFile = path.join(testDir, 'nonExistingFile.json');
instantiationService.get(IEnvironmentService).appKeybindingsPath = keybindingsFile; instantiationService.get(IEnvironmentService).keybindingsResource = URI.file(keybindingsFile);
testObject = instantiationService.createInstance(KeybindingsEditingService); testObject = instantiationService.createInstance(KeybindingsEditingService);
const expected: IUserFriendlyKeybinding[] = [{ key: 'alt+c', command: 'a' }, { key: 'escape', command: '-a' }]; const expected: IUserFriendlyKeybinding[] = [{ key: 'alt+c', command: 'a' }, { key: 'escape', command: '-a' }];
......
...@@ -273,7 +273,7 @@ export class PreferencesService extends Disposable implements IPreferencesServic ...@@ -273,7 +273,7 @@ export class PreferencesService extends Disposable implements IPreferencesServic
this.telemetryService.publicLog('openKeybindings', { textual }); this.telemetryService.publicLog('openKeybindings', { textual });
if (textual) { if (textual) {
const emptyContents = '// ' + nls.localize('emptyKeybindingsHeader', "Place your key bindings in this file to override the defaults") + '\n[\n]'; const emptyContents = '// ' + nls.localize('emptyKeybindingsHeader', "Place your key bindings in this file to override the defaults") + '\n[\n]';
const editableKeybindings = URI.file(this.environmentService.appKeybindingsPath); const editableKeybindings = this.environmentService.keybindingsResource;
const openDefaultKeybindings = !!this.configurationService.getValue('workbench.settings.openDefaultKeybindings'); const openDefaultKeybindings = !!this.configurationService.getValue('workbench.settings.openDefaultKeybindings');
// Create as needed and open in editor // Create as needed and open in editor
......
...@@ -787,7 +787,7 @@ export class TextFileEditorModel extends BaseTextEditorModel implements ITextFil ...@@ -787,7 +787,7 @@ export class TextFileEditorModel extends BaseTextEditorModel implements ITextFil
} }
// Check for keybindings file // Check for keybindings file
if (isEqual(this.resource, URI.file(this.environmentService.appKeybindingsPath), !isLinux)) { if (isEqual(this.resource, this.environmentService.keybindingsResource, !isLinux)) {
return 'keybindings'; return 'keybindings';
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册