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

#28538 Let Configuration object gets the root given the resource from workspace

上级 a4b6dc95
......@@ -301,10 +301,27 @@ export class Configuration<T> {
}
private getConfigurationModel<C>(overrides: IConfigurationOverrides): ConfigurationModel<any> {
let configurationModel = overrides.resource ? this._foldersConsolidatedConfigurations.get(overrides.resource) || this._workspaceConfiguration : this._workspaceConfiguration;
let configurationModel = this.getConfigurationForResource(overrides);
return overrides.language ? configurationModel.override<T>(overrides.language) : configurationModel;
}
private getConfigurationForResource({ resource }: IConfigurationOverrides): ConfigurationModel<any> {
if (!this.workspace) {
return this._globalConfiguration;
}
if (!resource) {
return this._workspaceConfiguration;
}
const root = this._workspace.getRoot(resource);
if (!root) {
return this._workspaceConfiguration;
}
return this._foldersConsolidatedConfigurations.get(root) || this._workspaceConfiguration;
}
public toData(): IConfigurationData<any> {
return {
defaults: {
......
......@@ -161,7 +161,6 @@ export class WorkspaceConfigurationService extends Disposable implements IWorksp
}
public getConfiguration<C>(section?: string, overrides?: IConfigurationOverrides): C {
overrides = overrides && overrides.resource ? { ...overrides, resource: this.getRoot(overrides.resource) } : overrides;
return this._configuration.getValue<C>(section, overrides);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册