提交 45b37707 编写于 作者: M Martin Aeschlimann

Auto detect color scheme sets one theme for all open windows despite different...

Auto detect color scheme sets one theme for all open windows despite different preferred schemes set in workspaces. Fixes #107855
上级 ddf1c354
......@@ -378,7 +378,8 @@ export class WorkbenchThemeService implements IWorkbenchThemeService {
if (themeSettingId) {
const theme = await this.colorThemeRegistry.findThemeBySettingsId(themeSettingId, undefined);
if (theme) {
return this.setColorTheme(theme.id, ConfigurationTarget.USER);
const configurationTarget = this.settings.findAutoConfigurationTarget(settingId);
return this.setColorTheme(theme.id, configurationTarget);
}
}
return null;
......
......@@ -298,6 +298,18 @@ export class ThemeConfiguration {
return theme;
}
public findAutoConfigurationTarget(key: string) {
let settings = this.configurationService.inspect(key);
if (!types.isUndefined(settings.workspaceFolderValue)) {
return ConfigurationTarget.WORKSPACE_FOLDER;
} else if (!types.isUndefined(settings.workspaceValue)) {
return ConfigurationTarget.WORKSPACE;
} else if (!types.isUndefined(settings.userRemote)) {
return ConfigurationTarget.USER_REMOTE;
}
return ConfigurationTarget.USER;
}
private async writeConfiguration(key: string, value: any, settingsTarget: ConfigurationTarget | 'auto' | undefined): Promise<void> {
if (settingsTarget === undefined) {
return;
......@@ -305,15 +317,7 @@ export class ThemeConfiguration {
let settings = this.configurationService.inspect(key);
if (settingsTarget === 'auto') {
if (!types.isUndefined(settings.workspaceFolderValue)) {
settingsTarget = ConfigurationTarget.WORKSPACE_FOLDER;
} else if (!types.isUndefined(settings.workspaceValue)) {
settingsTarget = ConfigurationTarget.WORKSPACE;
} else if (!types.isUndefined(settings.userRemote)) {
settingsTarget = ConfigurationTarget.USER_REMOTE;
} else {
settingsTarget = ConfigurationTarget.USER;
}
settingsTarget = this.findAutoConfigurationTarget(key);
}
if (settingsTarget === ConfigurationTarget.USER) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册