Skip to content

Commit a14cd44

Browse files
committed
microsoft#46750 Expose application scope to extensions
1 parent cfc3e0f commit a14cd44

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

src/vs/workbench/services/configuration/common/configurationExtensionPoint.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,10 @@ const configurationEntrySchema: IJSONSchema = {
3636
},
3737
scope: {
3838
type: 'string',
39-
enum: ['window', 'resource'],
39+
enum: ['application', 'window', 'resource'],
4040
default: 'window',
4141
enumDescriptions: [
42+
nls.localize('scope.application.description', "Application specific configuration, which can be configured only in User settings."),
4243
nls.localize('scope.window.description', "Window specific configuration, which can be configured in the User or Workspace settings."),
4344
nls.localize('scope.resource.description', "Resource specific configuration, which can be configured in the User, Workspace or Folder settings.")
4445
],
@@ -130,7 +131,14 @@ function validateProperties(configuration: IConfigurationNode, extension: IExten
130131
for (let key in properties) {
131132
const message = validateProperty(key);
132133
const propertyConfiguration = configuration.properties[key];
133-
propertyConfiguration.scope = propertyConfiguration.scope && propertyConfiguration.scope.toString() === 'resource' ? ConfigurationScope.RESOURCE : ConfigurationScope.WINDOW;
134+
propertyConfiguration.scope = ConfigurationScope.WINDOW;
135+
if (propertyConfiguration.scope) {
136+
if (propertyConfiguration.scope.toString() === 'application') {
137+
propertyConfiguration.scope = ConfigurationScope.APPLICATION;
138+
} else if (propertyConfiguration.scope.toString() === 'resource') {
139+
propertyConfiguration.scope = ConfigurationScope.RESOURCE;
140+
}
141+
}
134142
propertyConfiguration.notMultiRootAdopted = !(extension.description.isBuiltin || (Array.isArray(extension.description.keywords) && extension.description.keywords.indexOf('multi-root ready') !== -1));
135143
if (message) {
136144
extension.collector.warn(message);

0 commit comments

Comments
 (0)