diff --git a/extensions/image-preview/src/extension.ts b/extensions/image-preview/src/extension.ts index cbb487e094a485c4fb42e0936842f192f7c30db2..cc4eb798cfe5d15cdc0bfda0917ecf12cc3db848 100644 --- a/extensions/image-preview/src/extension.ts +++ b/extensions/image-preview/src/extension.ts @@ -23,7 +23,7 @@ export function activate(context: vscode.ExtensionContext) { const previewManager = new PreviewManager(extensionRoot, sizeStatusBarEntry, binarySizeStatusBarEntry, zoomStatusBarEntry); - context.subscriptions.push(vscode.window.registerCustomEditorProvider(PreviewManager.viewType, previewManager)); + context.subscriptions.push(vscode.window.registerCustomEditorProvider2(PreviewManager.viewType, previewManager)); context.subscriptions.push(vscode.commands.registerCommand('imagePreview.zoomIn', () => { previewManager.activePreview?.zoomIn(); diff --git a/src/vs/vscode.proposed.d.ts b/src/vs/vscode.proposed.d.ts index 2975b76cfa8a4b12f10498ff2da3796a5347fc8a..12dce38ecc611054eba66229f01b6eacf8ab1588 100644 --- a/src/vs/vscode.proposed.d.ts +++ b/src/vs/vscode.proposed.d.ts @@ -1491,6 +1491,19 @@ declare module 'vscode' { readonly editingDelegate?: CustomEditorEditingDelegate; } + namespace window { + /** + * Temporary overload for `registerCustomEditorProvider` that takes a `CustomEditorProvider`. + */ + export function registerCustomEditorProvider2( + viewType: string, + provider: CustomEditorProvider, + options?: { + readonly webviewOptions?: WebviewPanelOptions; + } + ): Disposable; + } + // #endregion //#region Custom editor move https://github.com/microsoft/vscode/issues/86146 diff --git a/src/vs/workbench/api/common/extHost.api.impl.ts b/src/vs/workbench/api/common/extHost.api.impl.ts index bc8a944bb78e2f2f0c4ba1a72d81aa84bbf2718d..054aaa0ad6b4563a8e50bffbf3ce03043156dec7 100644 --- a/src/vs/workbench/api/common/extHost.api.impl.ts +++ b/src/vs/workbench/api/common/extHost.api.impl.ts @@ -582,7 +582,11 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I registerWebviewPanelSerializer: (viewType: string, serializer: vscode.WebviewPanelSerializer) => { return extHostWebviews.registerWebviewPanelSerializer(extension, viewType, serializer); }, - registerCustomEditorProvider: (viewType: string, provider: vscode.CustomEditorProvider | vscode.CustomTextEditorProvider, options?: { webviewOptions?: vscode.WebviewPanelOptions }) => { + registerCustomEditorProvider: (viewType: string, provider: vscode.CustomTextEditorProvider, options?: { webviewOptions?: vscode.WebviewPanelOptions }) => { + return extHostWebviews.registerCustomEditorProvider(extension, viewType, provider, options?.webviewOptions); + }, + registerCustomEditorProvider2: (viewType: string, provider: vscode.CustomEditorProvider, options?: { webviewOptions?: vscode.WebviewPanelOptions }) => { + checkProposedApiEnabled(extension); return extHostWebviews.registerCustomEditorProvider(extension, viewType, provider, options?.webviewOptions); }, registerDecorationProvider(provider: vscode.DecorationProvider) {