diff --git a/src/vs/vscode.proposed.d.ts b/src/vs/vscode.proposed.d.ts index 23519cda472..ee7d648885b 100644 --- a/src/vs/vscode.proposed.d.ts +++ b/src/vs/vscode.proposed.d.ts @@ -1829,8 +1829,6 @@ declare module 'vscode' { * All currently known notebook documents. */ export const notebookDocuments: ReadonlyArray; - - export const onDidChangeNotebookDocumentMetadata: Event; export const onDidChangeNotebookCells: Event; export const onDidChangeCellOutputs: Event; diff --git a/src/vs/workbench/api/common/extHost.api.impl.ts b/src/vs/workbench/api/common/extHost.api.impl.ts index f5a77b55ceb..9c6a45defee 100644 --- a/src/vs/workbench/api/common/extHost.api.impl.ts +++ b/src/vs/workbench/api/common/extHost.api.impl.ts @@ -949,7 +949,15 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I }; // namespace: notebook - const notebook: typeof vscode.notebook = { + const notebook: (typeof vscode.notebook & { + // to ensure that notebook extensions not break before they update APIs. + visibleNotebookEditors: vscode.NotebookEditor[]; + onDidChangeVisibleNotebookEditors: Event; + activeNotebookEditor: vscode.NotebookEditor | undefined; + onDidChangeActiveNotebookEditor: Event; + onDidChangeNotebookEditorSelection: Event; + onDidChangeNotebookEditorVisibleRanges: Event; + }) = { get onDidOpenNotebookDocument(): Event { checkProposedApiEnabled(extension); return extHostNotebook.onDidOpenNotebookDocument; @@ -966,6 +974,14 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I checkProposedApiEnabled(extension); return extHostNotebook.notebookDocuments.map(d => d.notebookDocument); }, + get visibleNotebookEditors(): vscode.NotebookEditor[] { + checkProposedApiEnabled(extension); + return extHostNotebook.visibleNotebookEditors; + }, + get onDidChangeVisibleNotebookEditors() { + checkProposedApiEnabled(extension); + return extHostNotebook.onDidChangeVisibleNotebookEditors; + }, get onDidChangeActiveNotebookKernel() { checkProposedApiEnabled(extension); return extHostNotebook.onDidChangeActiveNotebookKernel; @@ -984,6 +1000,14 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I createNotebookEditorDecorationType(options: vscode.NotebookDecorationRenderOptions): vscode.NotebookEditorDecorationType { return extHostNotebook.createNotebookEditorDecorationType(options); }, + get activeNotebookEditor(): vscode.NotebookEditor | undefined { + checkProposedApiEnabled(extension); + return extHostNotebook.activeNotebookEditor; + }, + onDidChangeActiveNotebookEditor(listener, thisArgs?, disposables?) { + checkProposedApiEnabled(extension); + return extHostNotebook.onDidChangeActiveNotebookEditor(listener, thisArgs, disposables); + }, onDidChangeNotebookDocumentMetadata(listener, thisArgs?, disposables?) { checkProposedApiEnabled(extension); return extHostNotebook.onDidChangeNotebookDocumentMetadata(listener, thisArgs, disposables); @@ -992,6 +1016,14 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I checkProposedApiEnabled(extension); return extHostNotebook.onDidChangeNotebookCells(listener, thisArgs, disposables); }, + onDidChangeNotebookEditorSelection(listener, thisArgs?, disposables?) { + checkProposedApiEnabled(extension); + return extHostNotebook.onDidChangeNotebookEditorSelection(listener, thisArgs, disposables); + }, + onDidChangeNotebookEditorVisibleRanges(listener, thisArgs?, disposables?) { + checkProposedApiEnabled(extension); + return extHostNotebook.onDidChangeNotebookEditorVisibleRanges(listener, thisArgs, disposables); + }, onDidChangeCellOutputs(listener, thisArgs?, disposables?) { checkProposedApiEnabled(extension); return extHostNotebook.onDidChangeCellOutputs(listener, thisArgs, disposables);