Skip to content

Commit d4f6fe3

Browse files
committed
notebooks: deprecate viewType for renderers, prefer renderer ID
1 parent 83bea8f commit d4f6fe3

3 files changed

Lines changed: 18 additions & 7 deletions

File tree

extensions/vscode-notebook-tests/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
],
6363
"notebookOutputRenderer": [
6464
{
65-
"viewType": "notebookCoreTestRenderer",
65+
"id": "notebookCoreTestRenderer",
6666
"displayName": "Notebook Core Test Renderer",
6767
"entrypoint": "./src/customRenderer.js",
6868
"mimeTypes": [

src/vs/workbench/contrib/notebook/browser/extensionPoint.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,15 @@ export interface INotebookEditorContribution {
2525

2626
namespace NotebookRendererContribution {
2727
export const viewType = 'viewType';
28+
export const id = 'id';
2829
export const displayName = 'displayName';
2930
export const mimeTypes = 'mimeTypes';
3031
export const entrypoint = 'entrypoint';
3132
}
3233

3334
export interface INotebookRendererContribution {
34-
readonly [NotebookRendererContribution.viewType]: string;
35+
readonly [NotebookRendererContribution.id]?: string;
36+
readonly [NotebookRendererContribution.viewType]?: string;
3537
readonly [NotebookRendererContribution.displayName]: string;
3638
readonly [NotebookRendererContribution.mimeTypes]?: readonly string[];
3739
readonly [NotebookRendererContribution.entrypoint]: string;
@@ -94,18 +96,23 @@ const notebookProviderContribution: IJSONSchema = {
9496
const notebookRendererContribution: IJSONSchema = {
9597
description: nls.localize('contributes.notebook.renderer', 'Contributes notebook output renderer provider.'),
9698
type: 'array',
97-
defaultSnippets: [{ body: [{ viewType: '', displayName: '', mimeTypes: [''] }] }],
99+
defaultSnippets: [{ body: [{ id: '', displayName: '', mimeTypes: [''] }] }],
98100
items: {
99101
type: 'object',
100102
required: [
101-
NotebookRendererContribution.viewType,
103+
NotebookRendererContribution.id,
102104
NotebookRendererContribution.displayName,
103105
NotebookRendererContribution.mimeTypes,
104106
NotebookRendererContribution.entrypoint,
105107
],
106108
properties: {
109+
[NotebookRendererContribution.id]: {
110+
type: 'string',
111+
description: nls.localize('contributes.notebook.renderer.viewType', 'Unique identifier of the notebook output renderer.'),
112+
},
107113
[NotebookRendererContribution.viewType]: {
108114
type: 'string',
115+
deprecationMessage: nls.localize('contributes.notebook.provider.viewType.deprecated', 'Rename `viewType` to `id`.'),
109116
description: nls.localize('contributes.notebook.renderer.viewType', 'Unique identifier of the notebook output renderer.'),
110117
},
111118
[NotebookRendererContribution.displayName]: {

src/vs/workbench/contrib/notebook/browser/notebookServiceImpl.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -293,17 +293,21 @@ export class NotebookService extends Disposable implements INotebookService, ICu
293293
continue;
294294
}
295295

296+
const id = notebookContribution.id ?? notebookContribution.viewType;
297+
if (!id) {
298+
console.error(`Notebook renderer from ${extension.description.identifier.value} is missing an 'id'`);
299+
continue;
300+
}
301+
296302
this.notebookRenderersInfoStore.add(new NotebookOutputRendererInfo({
297-
id: notebookContribution.viewType,
303+
id,
298304
extension: extension.description,
299305
entrypoint: notebookContribution.entrypoint,
300306
displayName: notebookContribution.displayName,
301307
mimeTypes: notebookContribution.mimeTypes || [],
302308
}));
303309
}
304310
}
305-
306-
// console.log(this.notebookRenderersInfoStore);
307311
});
308312

309313
this._editorService.registerCustomEditorViewTypesHandler('Notebook', this);

0 commit comments

Comments
 (0)