Open
Description
Currently there is no way to provide diffs at the notebook level. We currently receive notebook changes in the form of notebook synchronization events.
The Notebook features that are available from TS APIs like WorkspaceEdit.set
is currently not exposed to Language Servers. Having this will allow language servers to perform notebook level "formatting" (restructuring), refactoring, insert/delete/re-order cells.
Adding NotebookEdit
support can generally allow updating notebooks via formatting, code action, or any request.
Notes:
- We will need to add
NotebookEdit
toWorkspaceEdit
, and also introduce aNotebookCellData
type since theNotebookCell
type is not sufficient to create new cells. - Core
WorkspaceEdit
API supportsNotebookEdit
: https://github.com/microsoft/vscode/blob/29e000b1e5c03e7c9a6fccf3e475f0b5a239e4d6/src/vscode-dts/vscode.d.ts#L3967 NotebookCellData
: https://github.com/microsoft/vscode/blob/29e000b1e5c03e7c9a6fccf3e475f0b5a239e4d6/src/vscode-dts/vscode.d.ts#L14869-L14911