Skip to content

Commit 2e4d797

Browse files
committed
Add registerCustomEditorProvider2
Create a temporary overload for testing `CustomEditor`. In finalization, we'd update `registerCustomEditorProvider` to take both types of custom editor instead
1 parent bc8b6e6 commit 2e4d797

3 files changed

Lines changed: 19 additions & 2 deletions

File tree

extensions/image-preview/src/extension.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export function activate(context: vscode.ExtensionContext) {
2323

2424
const previewManager = new PreviewManager(extensionRoot, sizeStatusBarEntry, binarySizeStatusBarEntry, zoomStatusBarEntry);
2525

26-
context.subscriptions.push(vscode.window.registerCustomEditorProvider(PreviewManager.viewType, previewManager));
26+
context.subscriptions.push(vscode.window.registerCustomEditorProvider2(PreviewManager.viewType, previewManager));
2727

2828
context.subscriptions.push(vscode.commands.registerCommand('imagePreview.zoomIn', () => {
2929
previewManager.activePreview?.zoomIn();

src/vs/vscode.proposed.d.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1491,6 +1491,19 @@ declare module 'vscode' {
14911491
readonly editingDelegate?: CustomEditorEditingDelegate<EditType>;
14921492
}
14931493

1494+
namespace window {
1495+
/**
1496+
* Temporary overload for `registerCustomEditorProvider` that takes a `CustomEditorProvider`.
1497+
*/
1498+
export function registerCustomEditorProvider2(
1499+
viewType: string,
1500+
provider: CustomEditorProvider,
1501+
options?: {
1502+
readonly webviewOptions?: WebviewPanelOptions;
1503+
}
1504+
): Disposable;
1505+
}
1506+
14941507
// #endregion
14951508

14961509
//#region Custom editor move https://github.com/microsoft/vscode/issues/86146

src/vs/workbench/api/common/extHost.api.impl.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -582,7 +582,11 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
582582
registerWebviewPanelSerializer: (viewType: string, serializer: vscode.WebviewPanelSerializer) => {
583583
return extHostWebviews.registerWebviewPanelSerializer(extension, viewType, serializer);
584584
},
585-
registerCustomEditorProvider: (viewType: string, provider: vscode.CustomEditorProvider | vscode.CustomTextEditorProvider, options?: { webviewOptions?: vscode.WebviewPanelOptions }) => {
585+
registerCustomEditorProvider: (viewType: string, provider: vscode.CustomTextEditorProvider, options?: { webviewOptions?: vscode.WebviewPanelOptions }) => {
586+
return extHostWebviews.registerCustomEditorProvider(extension, viewType, provider, options?.webviewOptions);
587+
},
588+
registerCustomEditorProvider2: (viewType: string, provider: vscode.CustomEditorProvider, options?: { webviewOptions?: vscode.WebviewPanelOptions }) => {
589+
checkProposedApiEnabled(extension);
586590
return extHostWebviews.registerCustomEditorProvider(extension, viewType, provider, options?.webviewOptions);
587591
},
588592
registerDecorationProvider(provider: vscode.DecorationProvider) {

0 commit comments

Comments
 (0)