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

#75079 Use URI for keybindings path

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