#46750 Expose application scope to extensions
This commit is contained in:
parent
cfc3e0ffa6
commit
a14cd440e1
1 changed files with 10 additions and 2 deletions
|
@ -36,9 +36,10 @@ const configurationEntrySchema: IJSONSchema = {
|
|||
},
|
||||
scope: {
|
||||
type: 'string',
|
||||
enum: ['window', 'resource'],
|
||||
enum: ['application', 'window', 'resource'],
|
||||
default: 'window',
|
||||
enumDescriptions: [
|
||||
nls.localize('scope.application.description', "Application specific configuration, which can be configured only in User settings."),
|
||||
nls.localize('scope.window.description', "Window specific configuration, which can be configured in the User or Workspace settings."),
|
||||
nls.localize('scope.resource.description', "Resource specific configuration, which can be configured in the User, Workspace or Folder settings.")
|
||||
],
|
||||
|
@ -130,7 +131,14 @@ function validateProperties(configuration: IConfigurationNode, extension: IExten
|
|||
for (let key in properties) {
|
||||
const message = validateProperty(key);
|
||||
const propertyConfiguration = configuration.properties[key];
|
||||
propertyConfiguration.scope = propertyConfiguration.scope && propertyConfiguration.scope.toString() === 'resource' ? ConfigurationScope.RESOURCE : ConfigurationScope.WINDOW;
|
||||
propertyConfiguration.scope = ConfigurationScope.WINDOW;
|
||||
if (propertyConfiguration.scope) {
|
||||
if (propertyConfiguration.scope.toString() === 'application') {
|
||||
propertyConfiguration.scope = ConfigurationScope.APPLICATION;
|
||||
} else if (propertyConfiguration.scope.toString() === 'resource') {
|
||||
propertyConfiguration.scope = ConfigurationScope.RESOURCE;
|
||||
}
|
||||
}
|
||||
propertyConfiguration.notMultiRootAdopted = !(extension.description.isBuiltin || (Array.isArray(extension.description.keywords) && extension.description.keywords.indexOf('multi-root ready') !== -1));
|
||||
if (message) {
|
||||
extension.collector.warn(message);
|
||||
|
|
Loading…
Reference in a new issue