@@ -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