File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -31,6 +31,7 @@ export interface IProductConfiguration {
3131 exeBasedExtensionTips : { [ id : string ] : any ; } ;
3232 extensionKeywords : { [ extension : string ] : string [ ] ; } ;
3333 extensionAllowedBadgeProviders : string [ ] ;
34+ extensionAllowedProposedApi : string [ ] ;
3435 keymapExtensionTips : string [ ] ;
3536 crashReporter : {
3637 companyName : string ;
Original file line number Diff line number Diff line change @@ -58,6 +58,7 @@ import { ExtHostDecorations } from 'vs/workbench/api/node/extHostDecorations';
5858import { toGlobPattern , toLanguageSelector } from 'vs/workbench/api/node/extHostTypeConverters' ;
5959import { ExtensionActivatedByAPI } from 'vs/workbench/api/node/extHostExtensionActivator' ;
6060import { ILogService } from 'vs/platform/log/common/log' ;
61+ import { isFalsyOrEmpty } from 'vs/base/common/arrays' ;
6162
6263export interface IExtensionApiFactory {
6364 ( extension : IExtensionDescription ) : typeof vscode ;
@@ -128,8 +129,14 @@ export function createApiFactory(
128129
129130 const EXTENSION_ID = extension . id ;
130131
131- if ( extension . enableProposedApi && ! extension . isBuiltin ) {
132+ if ( ! isFalsyOrEmpty ( product . extensionAllowedProposedApi )
133+ && product . extensionAllowedProposedApi . indexOf ( extension . id ) >= 0
134+ ) {
135+ // fast lane -> proposed api is available to all extensions
136+ // that are listed in product.json-files
137+ extension . enableProposedApi = true ;
132138
139+ } else if ( extension . enableProposedApi && ! extension . isBuiltin ) {
133140 if (
134141 ! initData . environment . enableProposedApiForAll &&
135142 initData . environment . enableProposedApiFor . indexOf ( extension . id ) < 0
You can’t perform that action at this time.
0 commit comments