mirror of
https://github.com/Microsoft/vscode
synced 2024-10-01 08:50:48 +00:00
parent
86d5fc5eba
commit
07025f0b0d
|
@ -8,7 +8,6 @@
|
|||
},
|
||||
"include": [
|
||||
"src/**/*",
|
||||
"../../src/vscode-dts/vscode.d.ts",
|
||||
"../../src/vscode-dts/vscode.proposed.notebookEditorEdit.d.ts",
|
||||
"../../src/vscode-dts/vscode.d.ts"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -294,7 +294,7 @@ const apiTestContentProvider: vscode.NotebookContentProvider = {
|
|||
await provideCalled;
|
||||
|
||||
const edit = new vscode.WorkspaceEdit();
|
||||
edit.replaceNotebookCellMetadata(notebook.uri, 0, { inputCollapsed: true });
|
||||
edit.set(notebook.uri, [vscode.NotebookEdit.updateCellMetadata(0, { inputCollapsed: true })]);
|
||||
await vscode.workspace.applyEdit(edit);
|
||||
await provideCalled;
|
||||
});
|
||||
|
|
|
@ -173,7 +173,7 @@ suite('Notebook Document', function () {
|
|||
// inserting two new cells
|
||||
{
|
||||
const edit = new vscode.WorkspaceEdit();
|
||||
edit.replaceNotebookCells(document.uri, new vscode.NotebookRange(0, 0), [{
|
||||
edit.set(document.uri, [vscode.NotebookEdit.replaceCells(new vscode.NotebookRange(0, 0), [{
|
||||
kind: vscode.NotebookCellKind.Markup,
|
||||
languageId: 'markdown',
|
||||
metadata: undefined,
|
||||
|
@ -185,7 +185,7 @@ suite('Notebook Document', function () {
|
|||
metadata: undefined,
|
||||
outputs: [],
|
||||
value: 'new_code'
|
||||
}]);
|
||||
}])]);
|
||||
|
||||
const success = await vscode.workspace.applyEdit(edit);
|
||||
assert.strictEqual(success, true);
|
||||
|
@ -198,8 +198,10 @@ suite('Notebook Document', function () {
|
|||
// deleting cell 1 and 3
|
||||
{
|
||||
const edit = new vscode.WorkspaceEdit();
|
||||
edit.replaceNotebookCells(document.uri, new vscode.NotebookRange(0, 1), []);
|
||||
edit.replaceNotebookCells(document.uri, new vscode.NotebookRange(2, 3), []);
|
||||
edit.set(document.uri, [
|
||||
vscode.NotebookEdit.replaceCells(new vscode.NotebookRange(0, 1), []),
|
||||
vscode.NotebookEdit.replaceCells(new vscode.NotebookRange(2, 3), [])
|
||||
]);
|
||||
const success = await vscode.workspace.applyEdit(edit);
|
||||
assert.strictEqual(success, true);
|
||||
}
|
||||
|
@ -210,7 +212,7 @@ suite('Notebook Document', function () {
|
|||
// replacing all cells
|
||||
{
|
||||
const edit = new vscode.WorkspaceEdit();
|
||||
edit.replaceNotebookCells(document.uri, new vscode.NotebookRange(0, 1), [{
|
||||
edit.set(document.uri, [vscode.NotebookEdit.replaceCells(new vscode.NotebookRange(0, 1), [{
|
||||
kind: vscode.NotebookCellKind.Markup,
|
||||
languageId: 'markdown',
|
||||
metadata: undefined,
|
||||
|
@ -222,7 +224,7 @@ suite('Notebook Document', function () {
|
|||
metadata: undefined,
|
||||
outputs: [],
|
||||
value: 'new2_code'
|
||||
}]);
|
||||
}])]);
|
||||
const success = await vscode.workspace.applyEdit(edit);
|
||||
assert.strictEqual(success, true);
|
||||
}
|
||||
|
@ -233,7 +235,7 @@ suite('Notebook Document', function () {
|
|||
// remove all cells
|
||||
{
|
||||
const edit = new vscode.WorkspaceEdit();
|
||||
edit.replaceNotebookCells(document.uri, new vscode.NotebookRange(0, document.cellCount), []);
|
||||
edit.set(document.uri, [vscode.NotebookEdit.replaceCells(new vscode.NotebookRange(0, document.cellCount), [])]);
|
||||
const success = await vscode.workspace.applyEdit(edit);
|
||||
assert.strictEqual(success, true);
|
||||
}
|
||||
|
@ -246,7 +248,7 @@ suite('Notebook Document', function () {
|
|||
assert.strictEqual(document.cellCount, 1);
|
||||
|
||||
const edit = new vscode.WorkspaceEdit();
|
||||
edit.replaceNotebookCells(document.uri, new vscode.NotebookRange(0, 0), [{
|
||||
edit.set(document.uri, [vscode.NotebookEdit.replaceCells(new vscode.NotebookRange(0, 0), [{
|
||||
kind: vscode.NotebookCellKind.Markup,
|
||||
languageId: 'markdown',
|
||||
metadata: undefined,
|
||||
|
@ -258,7 +260,7 @@ suite('Notebook Document', function () {
|
|||
metadata: undefined,
|
||||
outputs: [],
|
||||
value: 'new_code'
|
||||
}]);
|
||||
}])]);
|
||||
|
||||
const event = utils.asPromise<vscode.NotebookDocumentChangeEvent>(vscode.workspace.onDidChangeNotebookDocument);
|
||||
|
||||
|
@ -287,7 +289,7 @@ suite('Notebook Document', function () {
|
|||
const document = await vscode.workspace.openNotebookDocument(uri);
|
||||
|
||||
const edit = new vscode.WorkspaceEdit();
|
||||
edit.replaceNotebookCellMetadata(document.uri, 0, { inputCollapsed: true });
|
||||
edit.set(document.uri, [vscode.NotebookEdit.updateCellMetadata(0, { inputCollapsed: true })]);
|
||||
const success = await vscode.workspace.applyEdit(edit);
|
||||
assert.strictEqual(success, true);
|
||||
assert.strictEqual(document.cellAt(0).metadata.inputCollapsed, true);
|
||||
|
@ -300,7 +302,7 @@ suite('Notebook Document', function () {
|
|||
const edit = new vscode.WorkspaceEdit();
|
||||
const event = utils.asPromise<vscode.NotebookDocumentChangeEvent>(vscode.workspace.onDidChangeNotebookDocument);
|
||||
|
||||
edit.replaceNotebookCellMetadata(document.uri, 0, { inputCollapsed: true });
|
||||
edit.set(document.uri, [vscode.NotebookEdit.updateCellMetadata(0, { inputCollapsed: true })]);
|
||||
const success = await vscode.workspace.applyEdit(edit);
|
||||
assert.strictEqual(success, true);
|
||||
const data = await event;
|
||||
|
@ -338,7 +340,7 @@ suite('Notebook Document', function () {
|
|||
assert.strictEqual(notebook.notebookType, 'notebook.nbdtest');
|
||||
|
||||
const edit = new vscode.WorkspaceEdit();
|
||||
edit.replaceNotebookCells(notebook.uri, new vscode.NotebookRange(0, 0), [{
|
||||
edit.set(notebook.uri, [vscode.NotebookEdit.replaceCells(new vscode.NotebookRange(0, 0), [{
|
||||
kind: vscode.NotebookCellKind.Markup,
|
||||
languageId: 'markdown',
|
||||
metadata: undefined,
|
||||
|
@ -350,7 +352,7 @@ suite('Notebook Document', function () {
|
|||
metadata: undefined,
|
||||
outputs: [],
|
||||
value: 'new_code'
|
||||
}]);
|
||||
}])]);
|
||||
|
||||
const success = await vscode.workspace.applyEdit(edit);
|
||||
assert.strictEqual(success, true);
|
||||
|
@ -399,7 +401,7 @@ suite('Notebook Document', function () {
|
|||
assert.strictEqual(document.isDirty, false);
|
||||
|
||||
const edit = new vscode.WorkspaceEdit();
|
||||
edit.replaceNotebookCells(document.uri, new vscode.NotebookRange(0, document.cellCount), []);
|
||||
edit.set(document.uri, [vscode.NotebookEdit.replaceCells(new vscode.NotebookRange(0, document.cellCount), [])]);
|
||||
assert.ok(await vscode.workspace.applyEdit(edit));
|
||||
|
||||
assert.strictEqual(document.isDirty, true);
|
||||
|
@ -414,7 +416,7 @@ suite('Notebook Document', function () {
|
|||
assert.strictEqual(document.isDirty, false);
|
||||
|
||||
const edit = new vscode.WorkspaceEdit();
|
||||
edit.replaceNotebookCells(document.uri, new vscode.NotebookRange(0, document.cellCount), []);
|
||||
edit.set(document.uri, [vscode.NotebookEdit.replaceCells(new vscode.NotebookRange(0, document.cellCount), [])]);
|
||||
assert.ok(await vscode.workspace.applyEdit(edit));
|
||||
|
||||
assert.strictEqual(document.isDirty, true);
|
||||
|
|
|
@ -406,7 +406,7 @@ const apiTestContentProvider: vscode.NotebookContentProvider = {
|
|||
|
||||
// Delete executing cell
|
||||
const edit = new vscode.WorkspaceEdit();
|
||||
edit.replaceNotebookCells(cell!.notebook.uri, new vscode.NotebookRange(cell!.index, cell!.index + 1), []);
|
||||
edit.set(cell!.notebook.uri, [vscode.NotebookEdit.replaceCells(new vscode.NotebookRange(cell!.index, cell!.index + 1), [])]);
|
||||
await vscode.workspace.applyEdit(edit);
|
||||
|
||||
assert.strictEqual(executionWasCancelled, true);
|
||||
|
|
|
@ -4,20 +4,18 @@
|
|||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { DisposableStore, dispose } from 'vs/base/common/lifecycle';
|
||||
import { equals } from 'vs/base/common/objects';
|
||||
import { URI, UriComponents } from 'vs/base/common/uri';
|
||||
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
|
||||
import { EditorActivation } from 'vs/platform/editor/common/editor';
|
||||
import { getNotebookEditorFromEditorPane, INotebookEditor, INotebookEditorOptions } from 'vs/workbench/contrib/notebook/browser/notebookBrowser';
|
||||
import { INotebookEditorService } from 'vs/workbench/contrib/notebook/browser/services/notebookEditorService';
|
||||
import { ExtHostContext, ExtHostNotebookEditorsShape, ICellEditOperationDto, INotebookDocumentShowOptions, INotebookEditorViewColumnInfo, MainThreadNotebookEditorsShape, NotebookEditorRevealType } from '../common/extHost.protocol';
|
||||
import { ICellRange } from 'vs/workbench/contrib/notebook/common/notebookRange';
|
||||
import { ILogService } from 'vs/platform/log/common/log';
|
||||
import { URI, UriComponents } from 'vs/base/common/uri';
|
||||
import { EditorActivation } from 'vs/platform/editor/common/editor';
|
||||
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
|
||||
import { IEditorGroupsService } from 'vs/workbench/services/editor/common/editorGroupsService';
|
||||
import { columnToEditorGroup, editorGroupToColumn } from 'vs/workbench/services/editor/common/editorGroupColumn';
|
||||
import { equals } from 'vs/base/common/objects';
|
||||
import { NotebookDto } from 'vs/workbench/api/browser/mainThreadNotebookDto';
|
||||
import { IEditorGroupsService } from 'vs/workbench/services/editor/common/editorGroupsService';
|
||||
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
|
||||
import { IExtHostContext } from 'vs/workbench/services/extensions/common/extHostCustomers';
|
||||
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
|
||||
import { ExtHostContext, ExtHostNotebookEditorsShape, INotebookDocumentShowOptions, INotebookEditorViewColumnInfo, MainThreadNotebookEditorsShape, NotebookEditorRevealType } from '../common/extHost.protocol';
|
||||
|
||||
class MainThreadNotebook {
|
||||
|
||||
|
@ -43,7 +41,6 @@ export class MainThreadNotebookEditors implements MainThreadNotebookEditorsShape
|
|||
constructor(
|
||||
extHostContext: IExtHostContext,
|
||||
@IEditorService private readonly _editorService: IEditorService,
|
||||
@ILogService private readonly _logService: ILogService,
|
||||
@INotebookEditorService private readonly _notebookEditorService: INotebookEditorService,
|
||||
@IEditorGroupsService private readonly _editorGroupService: IEditorGroupsService,
|
||||
@IConfigurationService private readonly _configurationService: IConfigurationService
|
||||
|
@ -99,23 +96,6 @@ export class MainThreadNotebookEditors implements MainThreadNotebookEditorsShape
|
|||
}
|
||||
}
|
||||
|
||||
async $tryApplyEdits(editorId: string, modelVersionId: number, cellEdits: ICellEditOperationDto[]): Promise<boolean> {
|
||||
const wrapper = this._mainThreadEditors.get(editorId);
|
||||
if (!wrapper) {
|
||||
return false;
|
||||
}
|
||||
const { editor } = wrapper;
|
||||
if (!editor.textModel) {
|
||||
this._logService.warn('Notebook editor has NO model', editorId);
|
||||
return false;
|
||||
}
|
||||
if (editor.textModel.versionId !== modelVersionId) {
|
||||
return false;
|
||||
}
|
||||
//todo@jrieken use proper selection logic!
|
||||
return editor.textModel.applyEdits(cellEdits.map(NotebookDto.fromCellEditOperationDto), true, undefined, () => undefined, undefined, true);
|
||||
}
|
||||
|
||||
async $tryShowNotebookDocument(resource: UriComponents, viewType: string, options: INotebookDocumentShowOptions): Promise<string> {
|
||||
const editorOptions: INotebookEditorOptions = {
|
||||
cellSelections: options.selections,
|
||||
|
|
|
@ -978,7 +978,6 @@ export interface MainThreadNotebookEditorsShape extends IDisposable {
|
|||
$tryShowNotebookDocument(uriComponents: UriComponents, viewType: string, options: INotebookDocumentShowOptions): Promise<string>;
|
||||
$tryRevealRange(id: string, range: ICellRange, revealType: NotebookEditorRevealType): Promise<void>;
|
||||
$trySetSelections(id: string, range: ICellRange[]): void;
|
||||
$tryApplyEdits(editorId: string, modelVersionId: number, cellEdits: ICellEditOperationDto[]): Promise<boolean>;
|
||||
}
|
||||
|
||||
export interface MainThreadNotebookDocumentsShape extends IDisposable {
|
||||
|
|
|
@ -3,74 +3,12 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { ICellEditOperationDto, MainThreadNotebookEditorsShape } from 'vs/workbench/api/common/extHost.protocol';
|
||||
import * as extHostTypes from 'vs/workbench/api/common/extHostTypes';
|
||||
import { illegalArgument } from 'vs/base/common/errors';
|
||||
import { MainThreadNotebookEditorsShape } from 'vs/workbench/api/common/extHost.protocol';
|
||||
import * as extHostConverter from 'vs/workbench/api/common/extHostTypeConverters';
|
||||
import { CellEditType } from 'vs/workbench/contrib/notebook/common/notebookCommon';
|
||||
import * as extHostTypes from 'vs/workbench/api/common/extHostTypes';
|
||||
import * as vscode from 'vscode';
|
||||
import { ExtHostNotebookDocument } from './extHostNotebookDocument';
|
||||
import { illegalArgument } from 'vs/base/common/errors';
|
||||
|
||||
interface INotebookEditData {
|
||||
documentVersionId: number;
|
||||
cellEdits: ICellEditOperationDto[];
|
||||
}
|
||||
|
||||
class NotebookEditorCellEditBuilder implements vscode.NotebookEditorEdit {
|
||||
|
||||
private readonly _documentVersionId: number;
|
||||
|
||||
private _finalized: boolean = false;
|
||||
private _collectedEdits: ICellEditOperationDto[] = [];
|
||||
|
||||
constructor(documentVersionId: number) {
|
||||
this._documentVersionId = documentVersionId;
|
||||
}
|
||||
|
||||
finalize(): INotebookEditData {
|
||||
this._finalized = true;
|
||||
return {
|
||||
documentVersionId: this._documentVersionId,
|
||||
cellEdits: this._collectedEdits
|
||||
};
|
||||
}
|
||||
|
||||
private _throwIfFinalized() {
|
||||
if (this._finalized) {
|
||||
throw new Error('Edit is only valid while callback runs');
|
||||
}
|
||||
}
|
||||
|
||||
replaceMetadata(value: { [key: string]: any }): void {
|
||||
this._throwIfFinalized();
|
||||
this._collectedEdits.push({
|
||||
editType: CellEditType.DocumentMetadata,
|
||||
metadata: value
|
||||
});
|
||||
}
|
||||
|
||||
replaceCellMetadata(index: number, metadata: Record<string, any>): void {
|
||||
this._throwIfFinalized();
|
||||
this._collectedEdits.push({
|
||||
editType: CellEditType.PartialMetadata,
|
||||
index,
|
||||
metadata
|
||||
});
|
||||
}
|
||||
|
||||
replaceCells(from: number, to: number, cells: vscode.NotebookCellData[]): void {
|
||||
this._throwIfFinalized();
|
||||
if (from === to && cells.length === 0) {
|
||||
return;
|
||||
}
|
||||
this._collectedEdits.push({
|
||||
editType: CellEditType.Replace,
|
||||
index: from,
|
||||
count: to - from,
|
||||
cells: cells.map(extHostConverter.NotebookCellData.from)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export class ExtHostNotebookEditor {
|
||||
|
||||
|
@ -136,11 +74,6 @@ export class ExtHostNotebookEditor {
|
|||
get viewColumn() {
|
||||
return that._viewColumn;
|
||||
},
|
||||
edit(callback) {
|
||||
const edit = new NotebookEditorCellEditBuilder(this.document.version);
|
||||
callback(edit);
|
||||
return that._applyEdit(edit.finalize());
|
||||
},
|
||||
};
|
||||
|
||||
ExtHostNotebookEditor.apiEditorsToExtHost.set(this._editor, this);
|
||||
|
@ -171,40 +104,4 @@ export class ExtHostNotebookEditor {
|
|||
_acceptViewColumn(value: vscode.ViewColumn | undefined) {
|
||||
this._viewColumn = value;
|
||||
}
|
||||
|
||||
private _applyEdit(editData: INotebookEditData): Promise<boolean> {
|
||||
|
||||
// return when there is nothing to do
|
||||
if (editData.cellEdits.length === 0) {
|
||||
return Promise.resolve(true);
|
||||
}
|
||||
|
||||
const compressedEdits: ICellEditOperationDto[] = [];
|
||||
let compressedEditsIndex = -1;
|
||||
|
||||
for (let i = 0; i < editData.cellEdits.length; i++) {
|
||||
if (compressedEditsIndex < 0) {
|
||||
compressedEdits.push(editData.cellEdits[i]);
|
||||
compressedEditsIndex++;
|
||||
continue;
|
||||
}
|
||||
|
||||
const prevIndex = compressedEditsIndex;
|
||||
const prev = compressedEdits[prevIndex];
|
||||
|
||||
const edit = editData.cellEdits[i];
|
||||
if (prev.editType === CellEditType.Replace && edit.editType === CellEditType.Replace) {
|
||||
if (prev.index === edit.index) {
|
||||
prev.cells.push(...(editData.cellEdits[i] as any).cells);
|
||||
prev.count += (editData.cellEdits[i] as any).count;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
compressedEdits.push(editData.cellEdits[i]);
|
||||
compressedEditsIndex++;
|
||||
}
|
||||
|
||||
return this._proxy.$tryApplyEdits(this.id, editData.documentVersionId, compressedEdits);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -737,40 +737,20 @@ export class WorkspaceEdit implements vscode.WorkspaceEdit {
|
|||
|
||||
// --- notebook
|
||||
|
||||
replaceNotebookMetadata(uri: URI, value: Record<string, any>, metadata?: vscode.WorkspaceEditEntryMetadata): void {
|
||||
private replaceNotebookMetadata(uri: URI, value: Record<string, any>, metadata?: vscode.WorkspaceEditEntryMetadata): void {
|
||||
this._edits.push({ _type: FileEditType.Cell, metadata, uri, edit: { editType: CellEditType.DocumentMetadata, metadata: value }, notebookMetadata: value });
|
||||
}
|
||||
|
||||
replaceNotebookCells(uri: URI, range: vscode.NotebookRange, cells: vscode.NotebookCellData[], metadata?: vscode.WorkspaceEditEntryMetadata): void;
|
||||
replaceNotebookCells(uri: URI, start: number, end: number, cells: vscode.NotebookCellData[], metadata?: vscode.WorkspaceEditEntryMetadata): void;
|
||||
replaceNotebookCells(uri: URI, startOrRange: number | vscode.NotebookRange, endOrCells: number | vscode.NotebookCellData[], cellsOrMetadata?: vscode.NotebookCellData[] | vscode.WorkspaceEditEntryMetadata, metadata?: vscode.WorkspaceEditEntryMetadata): void {
|
||||
let start: number | undefined;
|
||||
let end: number | undefined;
|
||||
let cellData: vscode.NotebookCellData[] = [];
|
||||
let workspaceEditMetadata: vscode.WorkspaceEditEntryMetadata | undefined;
|
||||
|
||||
if (NotebookRange.isNotebookRange(startOrRange) && NotebookCellData.isNotebookCellDataArray(endOrCells) && !NotebookCellData.isNotebookCellDataArray(cellsOrMetadata)) {
|
||||
start = startOrRange.start;
|
||||
end = startOrRange.end;
|
||||
cellData = endOrCells;
|
||||
workspaceEditMetadata = cellsOrMetadata;
|
||||
} else if (typeof startOrRange === 'number' && typeof endOrCells === 'number' && NotebookCellData.isNotebookCellDataArray(cellsOrMetadata)) {
|
||||
start = startOrRange;
|
||||
end = endOrCells;
|
||||
cellData = cellsOrMetadata;
|
||||
workspaceEditMetadata = metadata;
|
||||
}
|
||||
|
||||
if (start === undefined || end === undefined) {
|
||||
throw new Error('Invalid arguments');
|
||||
}
|
||||
private replaceNotebookCells(uri: URI, startOrRange: vscode.NotebookRange, cellData: vscode.NotebookCellData[], metadata?: vscode.WorkspaceEditEntryMetadata): void {
|
||||
const start = startOrRange.start;
|
||||
const end = startOrRange.end;
|
||||
|
||||
if (start !== end || cellData.length > 0) {
|
||||
this._edits.push({ _type: FileEditType.CellReplace, uri, index: start, count: end - start, cells: cellData, metadata: workspaceEditMetadata });
|
||||
this._edits.push({ _type: FileEditType.CellReplace, uri, index: start, count: end - start, cells: cellData, metadata });
|
||||
}
|
||||
}
|
||||
|
||||
replaceNotebookCellMetadata(uri: URI, index: number, cellMetadata: Record<string, any>, metadata?: vscode.WorkspaceEditEntryMetadata): void {
|
||||
private replaceNotebookCellMetadata(uri: URI, index: number, cellMetadata: Record<string, any>, metadata?: vscode.WorkspaceEditEntryMetadata): void {
|
||||
this._edits.push({ _type: FileEditType.Cell, metadata, uri, edit: { editType: CellEditType.PartialMetadata, index, metadata: cellMetadata } });
|
||||
}
|
||||
|
||||
|
|
|
@ -43,7 +43,6 @@ export const allApiProposals = Object.freeze({
|
|||
notebookDebugOptions: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookDebugOptions.d.ts',
|
||||
notebookDeprecated: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookDeprecated.d.ts',
|
||||
notebookEditor: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookEditor.d.ts',
|
||||
notebookEditorEdit: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookEditorEdit.d.ts',
|
||||
notebookKernelSource: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookKernelSource.d.ts',
|
||||
notebookLiveShare: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookLiveShare.d.ts',
|
||||
notebookMessaging: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookMessaging.d.ts',
|
||||
|
|
|
@ -1,56 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
declare module 'vscode' {
|
||||
|
||||
// https://github.com/microsoft/vscode/issues/106744
|
||||
|
||||
export interface WorkspaceEdit {
|
||||
replaceNotebookMetadata(uri: Uri, value: { [key: string]: any }): void;
|
||||
|
||||
/**
|
||||
* @deprecated Please migrate to the new `notebookWorkspaceEdit` proposed API.
|
||||
*/
|
||||
replaceNotebookCells(uri: Uri, range: NotebookRange, cells: NotebookCellData[], metadata?: WorkspaceEditEntryMetadata): void;
|
||||
|
||||
/**
|
||||
* @deprecated Please migrate to the new `notebookWorkspaceEdit` proposed API.
|
||||
*/
|
||||
replaceNotebookCellMetadata(uri: Uri, index: number, cellMetadata: { [key: string]: any }, metadata?: WorkspaceEditEntryMetadata): void;
|
||||
}
|
||||
|
||||
export interface NotebookEditorEdit {
|
||||
/**
|
||||
* @deprecated Please migrate to the new `notebookWorkspaceEdit` proposed API.
|
||||
*/
|
||||
replaceMetadata(value: { [key: string]: any }): void;
|
||||
|
||||
/**
|
||||
* @deprecated Please migrate to the new `notebookWorkspaceEdit` proposed API.
|
||||
*/
|
||||
replaceCells(start: number, end: number, cells: NotebookCellData[]): void;
|
||||
|
||||
/**
|
||||
* @deprecated Please migrate to the new `notebookWorkspaceEdit` proposed API.
|
||||
*/
|
||||
replaceCellMetadata(index: number, metadata: { [key: string]: any }): void;
|
||||
}
|
||||
|
||||
export interface NotebookEditor {
|
||||
/**
|
||||
* Perform an edit on the notebook associated with this notebook editor.
|
||||
*
|
||||
* The given callback-function is invoked with an {@link NotebookEditorEdit edit-builder} which must
|
||||
* be used to make edits. Note that the edit-builder is only valid while the
|
||||
* callback executes.
|
||||
*
|
||||
* @deprecated Please migrate to the new `notebookWorkspaceEdit` proposed API.
|
||||
*
|
||||
* @param callback A function which can create edits using an {@link NotebookEditorEdit edit-builder}.
|
||||
* @return A promise that resolves with a value indicating if the edits could be applied.
|
||||
*/
|
||||
edit(callback: (editBuilder: NotebookEditorEdit) => void): Thenable<boolean>;
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "vscode-automation",
|
||||
"version": "1.54.0",
|
||||
"version": "1.71.0",
|
||||
"description": "VS Code UI automation driver",
|
||||
"author": {
|
||||
"name": "Microsoft Corporation"
|
||||
|
@ -33,4 +33,4 @@
|
|||
"npm-run-all": "^4.1.5",
|
||||
"watch": "^1.0.2"
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue