From 5ac83b84270692bf3678bf2de28fdb60181519cd Mon Sep 17 00:00:00 2001 From: Rob Lourens Date: Fri, 27 Apr 2018 14:00:57 -0700 Subject: [PATCH] #3355 - open correct settings scope when "open config file" is pressed --- .../parts/preferences/browser/settingsEditor2.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/vs/workbench/parts/preferences/browser/settingsEditor2.ts b/src/vs/workbench/parts/preferences/browser/settingsEditor2.ts index d5c0ffa18e7..b1868472b51 100644 --- a/src/vs/workbench/parts/preferences/browser/settingsEditor2.ts +++ b/src/vs/workbench/parts/preferences/browser/settingsEditor2.ts @@ -36,6 +36,7 @@ import { IProgressService } from 'vs/platform/progress/common/progress'; import { isPromiseCanceledError, getErrorMessage } from 'vs/base/common/errors'; import { ILogService } from 'vs/platform/log/common/log'; import { registerColor } from 'vs/platform/theme/common/colorRegistry'; +import { IEditor } from 'vs/platform/editor/common/editor'; const SETTINGS_ENTRY_TEMPLATE_ID = 'settings.entry.template'; const SETTINGS_GROUP_ENTRY_TEMPLATE_ID = 'settings.group.template'; @@ -213,7 +214,19 @@ export class SettingsEditor2 extends BaseEditor { openSettingsButton.label = localize('openSettingsLabel', "Open config file"); openSettingsButton.element.classList.add('open-settings-button'); - this._register(openSettingsButton.onDidClick(() => this.preferencesService.openGlobalSettings())); + this._register(openSettingsButton.onDidClick(() => this.openSettingsFile())); + } + + private openSettingsFile(): TPromise { + const currentSettingsTarget = this.settingsTargetsWidget.settingsTarget; + + if (currentSettingsTarget === ConfigurationTarget.USER) { + return this.preferencesService.openGlobalSettings(); + } else if (currentSettingsTarget === ConfigurationTarget.WORKSPACE) { + return this.preferencesService.openWorkspaceSettings(); + } else { + return this.preferencesService.openFolderSettings(currentSettingsTarget); + } } private createBody(parent: HTMLElement): void { -- GitLab