Unconditionally enable the proposed API To test run an extension that uses the proposed API (i.e. https://github.com/microsoft/vscode-extension-samples/tree/ddae6c0c9ff203b4ed6f6b43bfacdd0834215f83/proposed-api-sample) We also override isProposedApiEnabled in case an extension does not declare the APIs it needs correctly (the Jupyter extension had this issue). Index: code-server/lib/vscode/src/vs/workbench/services/extensions/common/extensions.ts =================================================================== --- code-server.orig/lib/vscode/src/vs/workbench/services/extensions/common/extensions.ts +++ code-server/lib/vscode/src/vs/workbench/services/extensions/common/extensions.ts @@ -312,10 +312,7 @@ function extensionDescriptionArrayToMap( } export function isProposedApiEnabled(extension: IExtensionDescription, proposal: ApiProposalName): boolean { - if (!extension.enabledApiProposals) { - return false; - } - return extension.enabledApiProposals.includes(proposal); + return true } export function checkProposedApiEnabled(extension: IExtensionDescription, proposal: ApiProposalName): void { Index: code-server/lib/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts =================================================================== --- code-server.orig/lib/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts +++ code-server/lib/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts @@ -31,7 +31,7 @@ export class ExtensionsProposedApi { this._envEnabledExtensions = new Set((_environmentService.extensionEnabledProposedApi ?? []).map(id => ExtensionIdentifier.toKey(id))); - this._envEnablesProposedApiForAll = + this._envEnablesProposedApiForAll = true || !_environmentService.isBuilt || // always allow proposed API when running out of sources (_environmentService.isExtensionDevelopment && productService.quality !== 'stable') || // do not allow proposed API against stable builds when developing an extension (this._envEnabledExtensions.size === 0 && Array.isArray(_environmentService.extensionEnabledProposedApi)); // always allow proposed API if --enable-proposed-api is provided without extension ID