Commit Graph
46 Commits
Author SHA1 Message Date
Rob Lourens 25d41d15f9 Split Execution and ExecutionState services 2021-12-28 13:44:18 -08:00
Rob Lourens 33d81fdc8c Improve NotebookExecutionService and cancel executions when closing the notebook, deleting cells, and changing the kernel 2021-12-28 13:42:01 -08:00
Alex Dima c71424a61d Rename some ILanguageService methods 2021-12-08 15:06:49 +01:00
Alex Dima 91b97cec91 Debt: Rename IModeService to ILanguageService 2021-12-08 14:36:18 +01:00
Don JayamanneandGitHub 48eb908fd6 Categorize kernels in the notebook kernel picker (#135502)
* Categorize kernels in the notebook kernel picker

* rename property

* address review comments

* more changes

* fix liner

* address review comments
2021-10-25 08:23:43 -07:00
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
Rob Lourens 01643e514e Better cell execution lifecycle 2021-08-11 15:38:08 -07:00
Rob Lourens cb52f1a50e NotebookExecutionService should create execution objects
Towards #125668
2021-08-11 12:50:30 -07:00
Rob Lourens 99104943f5 Add NotebookExecutionService
Towards #125668
2021-08-11 12:50:30 -07:00
rebornix d26f97a0a2 📓 use viewmodel from test helper directly 2021-06-11 15:13:42 -07:00
Johannes Rieken 3c9e29fa75 move INotebookKernel type into kernel service file 2021-06-10 12:42:05 +02: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 654036f24f 💄 renames 2021-06-09 12:10:53 +02:00
Johannes Rieken 5cd7916219 towards https://github.com/microsoft/vscode/issues/125668 2021-06-09 11:36:49 +02:00
Johannes Rieken 2031df2653 rename hasExecutionOrder to supportsExecutionOrder 2021-05-31 16:09:05 +02:00
Johannes Rieken f2fb2b8cbe rename viewType to notebookType, https://github.com/microsoft/vscode/issues/122922 2021-05-31 15:55:15 +02:00
rebornix 40d5e6796f fix #123700. 2021-05-14 12:53:45 -07:00
Johannes Rieken f9b5f8f624 💄 2021-05-07 14:16:00 +02:00
Connor Peet d639345791 notebooks: improve renderer message passing
Fixes https://github.com/microsoft/vscode/issues/122944
2021-05-04 12:35:06 -07:00
Johannes Rieken f3cb718a80 more renamed 2021-04-26 16:25:14 +02:00
Johannes Rieken 9a43ef93f7 extract INotebookKernelMatchInfo 2021-04-26 16:14:11 +02:00
Johannes Rieken 8fac153517 💄 renames 2021-04-26 15:19:55 +02:00
Johannes Rieken 80b5eca3c1 add unit test to assert, https://github.com/microsoft/vscode/issues/122028 2021-04-23 18:40:56 +02:00
Johannes Rieken abe5e414e7 add onDidCreateNotebookDocument in addition to onDidAdd.
The extHost-sync-logic uses the create-event whereas others should use the add-event. This guarantees a correct extension host
2021-04-23 11:09:56 +02:00
Johannes Rieken ab9a916272 some 💄 and a tricky todo 2021-04-22 19:28:31 +02:00
Johannes Rieken 5390ec0e7c remove isPreferred as instance property, replace selector with only viewType, allow controller to set a notebook priority instead 2021-04-22 16:13:42 +02:00
Johannes Rieken 1df9d8902c send controller selection event when selection knowledge is restored from memento, https://github.com/microsoft/vscode/issues/121904 2021-04-22 13:14:39 +02:00
Johannes Rieken 4f9ac638ff extension contributed kernels fall back to all languages when supportedLanguages isn't set, https://github.com/microsoft/vscode/issues/121329 2021-04-21 11:34:48 +02:00
Johannes Rieken d9e4b98387 simplify notebook kernel service 2021-04-20 16:29:05 +02: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 fe7951dd7a remove kernel provider from core, adopt kernel service, merge kernel2 and kernel interface, extract context keys from kernel manager, make context key manager only for execution/cancellation 2021-04-20 11:30:31 +02:00
Johannes Rieken f9fec24b45 make INotebookKernel2 extends INotebookKernel 2021-04-19 11:56:18 +02:00
Johannes Rieken 6b9bd78998 add NotebookController#detail 2021-04-19 08:58:01 +02:00
Johannes Rieken 95932045c7 check that notebook controller are unique per id 2021-04-16 14:22:44 +02:00
Johannes Rieken bbf148b0c6 merge renderer IPC into notebook controller, remove global renderer IPC 2021-04-15 18:41:56 +02:00
Johannes Rieken ade32e71e5 add ability to bind a notebook to a kernel, add events and forward to ext-host 2021-04-13 15:19:13 +02:00
Johannes Rieken 10bf5cfd61 align kernel and kernel2 a little more 2021-04-13 14:48:55 +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
Johannes Rieken edd36fd64c add and adopt implementsExecutionOrder 2021-04-09 13:03:49 +02:00
Johannes Rieken 461f09ff78 add extension identifier to kernel 2 2021-04-08 11:22:00 +02:00
Johannes Rieken 72d772b1a1 make execution and interrupt callback instead of commands 2021-04-07 16:35:08 +02:00
Johannes Rieken 76a230d4b4 wire push-kernels into internal kernel provider API 2021-04-07 16:06:46 +02:00
Johannes Rieken 84f3054624 add local resource root and cancelCells so that Kernel2 is very similar to Kernel 2021-04-07 15:12:45 +02:00
Johannes Rieken 38e4243e2d add kernel push to proposed API 2021-04-07 12:06:38 +02:00
Johannes Rieken b47fb7a275 add kernel service and add extension host logic for it 2021-04-06 15:46:01 +02:00