Commit Graph

327 Commits

Author SHA1 Message Date
Johannes
8783c56eb7 fix https://github.com/microsoft/vscode/issues/147711 2022-04-20 11:30:37 +02:00
Johannes
bf9929206a add commands vscode.executeNotebookToData and vscode.executeDataToNotebook to execute notebook serializers by type, https://github.com/microsoft/vscode/issues/125757 2022-04-01 10:24:17 +02:00
Johannes
bf0b4ac976 remove old notebook events from API proposal and implementation 2022-03-28 14:47:56 +02:00
Johannes Rieken
daf029dfac extract marshalling id into its own file and untable uri from it, https://github.com/microsoft/vscode/issues/142476 2022-02-22 12:38:57 +01:00
Johannes Rieken
4a130c40ed enable @typescript-eslint/member-delimiter-style, https://github.com/microsoft/vscode/issues/140391 2022-02-02 14:35:33 +01:00
Rob Lourens
f944a56538 Remove runState from cell internalMetadata. Expose execution state data from service.
For #125668
2021-12-29 15:46:36 -08:00
Matt Bierner
8b6547aa2c Transfer notebook output as VSBuffer (#130452)
* Transfer notebook output data as a VSBuffer

This PR transfers notebook output as an VSBuffer instead of as a array of numbers. This significantly reduces the message size as well as the serialize/deserialize times

To accomplish this, I've introduced a new `SerializableObjectWithBuffers` type. This specially marks rpc objects that contain VSBuffers. This is needed as our current RPC implementation can only efficently transfer VSBuffers that appears as top level arguments. The rpcProtocol now can also identify top level `SerializableObjectWithBuffers` arguments and ensure these are serialized more efficently.

This is easier than trying to extract the `VSBuffer` proeprties to top level arguments. It also lets us easily support return types that may contain buffers

* use SerializableObjectWithBuffers when dealing with (old) notebook controllers

Co-authored-by: Johannes Rieken <johannes.rieken@gmail.com>
2021-08-17 09:57:57 -07:00
Connor Peet
751f8729dc protocol: refactor to use enum for marshalled object ids 2021-06-22 18:47:25 -07:00
Johannes Rieken
d0cc52143b change IOutputItemDto to use real bytes, add many dedicated dto-types for transporting output (which cannot be bytes), remove metadata2 from renderer 2021-06-10 11:18:46 +02:00
Johannes Rieken
8006b8c9a4 make getEditorById strict 2021-06-07 17:47:34 +02:00
Johannes Rieken
a31c6c3550 extract ExtHostNotebookDocumentsShape into its own thing 2021-06-07 17:41:12 +02:00
Johannes Rieken
10442e00b4 extract ExtHostNotebookEditorShape into its own thing 2021-06-07 16:25:03 +02:00
Johannes Rieken
0b6e70302f remove deprecated API 2021-06-02 09:24:43 +02:00
Rob Lourens
872bbcc8c1 Update provideCellStatusBarItems 2021-06-01 15:47:55 -07:00
Johannes Rieken
545b931b96 remove dedicated types for notebook and cell metadata 2021-06-01 14:50:53 +02:00
Johannes Rieken
e6dd819bf0 first cut of "bytes only" output items 2021-05-21 09:51:37 +02:00
Johannes Rieken
9716c27e06 slightly better uri for untitled notebooks, https://github.com/microsoft/vscode/issues/121974 2021-05-19 18:44:01 +02:00
Johannes Rieken
53352a2954 add API to open an untitled notebook, https://github.com/microsoft/vscode/issues/121974 2021-05-19 15:27:23 +02:00
Johannes Rieken
a1e4f1b91c validate NotebookCellData before passing it to renderer 2021-05-10 15:17:23 +02:00
Rob Lourens
4a76f0b19a registerNotebookCellStatusBarItemProvider should use viewType instead of NotebookSelector
Fix #122347
2021-05-07 15:23:19 -07:00
Johannes Rieken
fa378cd02a move NotebookCellExecutionTask into extHostNotebookKernels, fyi @roblourens 2021-05-07 14:27:07 +02:00
Johannes Rieken
b177753668 check that a cell is still "alive" and only iff so start executing it, fixes https://github.com/microsoft/vscode/issues/123269 2021-05-07 14:14:14 +02:00
Johannes Rieken
6764639ce6 store extension identifier with NotebookProviderInfo 2021-05-07 09:48:40 +02:00
Johannes Rieken
f5b2c93911 Allow to pass NotebookRegistrationData when registering serializer or content provider, https://github.com/microsoft/vscode/issues/122733 2021-05-06 16:26:57 +02:00
Johannes Rieken
23a6935a25 slim-down NotebookProviderInfo 2021-05-05 11:55:30 +02:00
Rob Lourens
8e51485f45 Debounce cell output edits from EH
Fix #119832
2021-04-22 12:48:38 -07:00
Johannes Rieken
e2c9703995 prefix api object with api-prefix, like apiCell 2021-04-21 15:34:44 +02:00
Johannes Rieken
5c3383251a unique working copy type id, stricter view types 2021-04-21 09:06:32 +02:00
Rob Lourens
64282aa6b7 Use new cell statusbar for execution items.
Support color and icon info on cell statusbar items.
2021-04-20 17:57:25 -07:00
Johannes Rieken
b2b45e1005 execute by cell-handle, kernel manager has only execute/cancel cells, also "fix" isNotebookCellData fyi @rebornix 2021-04-20 14:39:19 +02:00
Johannes Rieken
b06388f501 Merge branch 'joh/clean-kernel' into notebook/dev 2021-04-20 11:33:41 +02:00
rebornix
d415fc0d0e adopt notebookSelector in status bar API. 2021-04-19 10:15:26 -07:00
Johannes Rieken
11c3ba58af remove NotebookKernelProvider API and its implementation 2021-04-19 16:19:23 +02:00
Johannes Rieken
8877d8ca94 hook up execution task cancellation from controllers 2021-04-16 10:51:45 +02:00
rebornix
8629b48030 rename transientMetadata to transientCellMetadata. 2021-04-15 17:24:47 -07:00
rebornix
662ea12128 NotebookCellRange is now NotebookRange. 2021-04-15 13:09:37 -07:00
Johannes Rieken
bbf148b0c6 merge renderer IPC into notebook controller, remove global renderer IPC 2021-04-15 18:41:56 +02:00
Johannes Rieken
b6cee1ca22 add cancellation to NotebookSerializer, https://github.com/microsoft/vscode/issues/121329 2021-04-15 16:21:06 +02:00
Johannes Rieken
afa4a2df2c rename to serializeNotebook and deserializeNotebook, https://github.com/microsoft/vscode/issues/121329 2021-04-15 16:19:06 +02:00
Rob Lourens
3e5c20b762 Change execution duration to startTime/endTime 2021-04-14 17:21:05 -07:00
Rob Lourens
3e40e14bc4 Cell statusbar API (#121215)
Implement provider-based notebook cell statusbar API
2021-04-14 11:26:23 -07:00
Johannes Rieken
9c0300872e simpler storing of ExtHostNotebookEditor 2021-04-14 18:43:12 +02:00
Johannes Rieken
02f0f4a0c8 make createNotebookRendererCommunication independent of controller, make it renderer first 2021-04-14 18:33:14 +02:00
Johannes Rieken
d6ae97cf97 add Kernel2#createNotebookRendererCommunication 2021-04-14 15:09:06 +02:00
Johannes Rieken
fcd005ce8c fix compile errors, evolve internal API about kernel selection 2021-04-13 14:29:46 +02:00
Connor Peet
60a7c6a925 notebooks: add initial kernel/renderer constraints
See https://github.com/microsoft/vscode/issues/119899

Backwards compatible, initially. The implementation should be
pretty unsurprising. Some churn from data wiring.

This does the bulk of the work. The only remaining item is caching
the last renderer used for notebooks in the workspace to avoid running
selection again if the user reopens/reloads the window.
2021-04-12 16:30:39 -07:00
rebornix
f7e5a67039 NotebookDocumentShowOptions#selections. 2021-04-12 16:05:34 -07:00
Johannes Rieken
e200749f88 remove NotebookEditor#onDidDispose 2021-04-09 13:27:29 +02:00
Matt Bierner
e1f0f8f513 Add override keyword in codebase (#120755)
For #120675

This uses a script to add the override keyword to places that need it in the codebase

Note that we can't enable the --noImplicitOverride setting yet since there are still around 200 errors that require further attention
2021-04-08 10:05:20 -07:00
Johannes Rieken
fca1144d00 remove NotebookDocument#cells in favor of cellsAt, getCells, and cellCount 2021-04-06 11:50:48 +02:00