# Backlog - Engineering @rebornix - [x] Green CI & mergeable https://github.com/microsoft/vscode/pull/86632 - [x] Unit test setup - [ ] Scalability tests - [x] Basic telemetry - [x] :runner: UI integration test - Editor Core @rebornix - [x] Webview polish https://github.com/microsoft/vscode/issues/91800, https://github.com/microsoft/vscode/issues/91506 - [x] Cell editor view states management https://github.com/microsoft/vscode/issues/92115 - [x] Cell/range reveal API - [x] Decoration API (wrapper for code and markdown cells) - [x] Cursor movement across cells ( `notebookCursorUp` , `notebookCursorDown` ) - [x] `postMessage` inside webview to allow cell output code to talk to the notebook provider extension https://github.com/microsoft/vscode/issues/92955 - [x] Polish focus management (keyboard focus always requires cell focus) - [x] Make sure notebooks work in the web - [ ] Selection management across cells - [ ] Minimap - [x] Customizable scrollbar (find results, diagnostics, etc)https://github.com/microsoft/vscode/issues/96442 @rebornix - [ ] Secure modes - [x] Trusted/untrusted (no output rendered, no execution is allowed) - [ ] Sandboxed output cells - Editor Contributions (ships in the box, based on editor core) - [x] Find/replace across cells https://github.com/microsoft/vscode/issues/91327 @rebornix - [x] Find & Reveal - [x] Replace/ReplaceAll - [x] New cells (toolbar between cells) - [x] Navigate between cells @rebornix - [x] Execute cells and navigate/new @roblourens - [x] Read-only cells @rebornix - [x] Deletable cells @rebornix - [x] Find occurrences - [x] Clear output - [x] Folding cell (infrastructure) - [x] :runner: Hide cell (based on metadata) - Notebook UI - [x] Cell toolbar @roblourens - [x] Execute @roblourens - [x] Change cell type - [x] Delete cell (commands, cell toolbar) - [x] Move cells (commands, cell toolbar) - [x] :runner: Create cell (commands, cell toolbar, hover toolbar) - [x] Running cells: Show placeholder with elapsed time immediately - [x] Change code cell language - [x] Cell statusbar - [x] Notebook theme support - [x] Drag'n drop cells (including autoscroll) - [x] Notebook toolbar / global state (needs UX discussion) <!-- - [ ] :black_circle: Cell decoration (may be combined with cell execution, see AzureML notebooks: execution right above run button) --> - Workbench integration (builds on experiences gained with custom editors) - [x] Expose all actions as commands to make them available for keymaps @roblourens - [x] Save - [x] :runner: notebook level and cross cell undo/redo https://github.com/microsoft/vscode/issues/92811 @rebornix - [x] Auto-save @rebornix - [x] Revert - [x] Hot exit - [x] Save as - API - [x] Create new empty notebook (low bar: create a new file with the right extension and open it) - [x] Command contribution (cell toolbar) - [x] Change the metadata for a cell or the notebook? - [x] Output renderer (also static contribution) - [x] :runner: renderer webview API @connor4312 #95361 - [x] Cell status indications/actions - [x] :runner: Notebook manipulation (new cell, move cell, delete cell, update the content of a cell/output) - [x] Reveal cell - [x] Cell metadata - [x] Notebook metadata - [ ] API to create the LSP/DAP documents from a notebook - Improved markdown editing - [x] Double click to enter edit mode - [x] Keep markdown cells in edit mode (i.e. they only flip on run) - [x] Preview - [ ] Formatting - [x] On par with built-in Markdown support - Language Features @jrieken - [x] Go to definition - [x] Find all references - [x] Rename - [x] Code actions - [x] Formatting inside and across cells - [x] :runner: Outline - [ ] Support for polyglot notebooks - [ ] :runner: Integration with existing language extensions (ensure we don't make built-in assumptions about what documents the LS or the debugger sees) - [ ] Code lenses - [ ] Workspace symbols - [x] Source actions - Marketplace integration - [x] Suggest/find notebook provider extensions (based on file extension, based on notebook metadata) - [ ] Suggest find extensions that provide output renderers for a specific mime type - [ ] Accessibility https://github.com/microsoft/vscode/issues/90408 - [x] :runner: support high-level tab-out from output cell - [ ] notebook tab order - [ ] :runner: F6 support - Debugging support @weinand - Notebook UX explorations https://github.com/microsoft/vscode/issues/95154 @misolori - [x] keyboard focus versus cell focus - [x] cell statusbar - [x] change cell type - [x] Folding indicators and folding UX (Jupyter's model makes a lot of sense.) - [x] overall polish: spacing, color, ... - [x] switcher for output renderers - [x] drag 'n drop to reorder cells - [x] placeholder for outputs with elapsed time when running a cell - [x] How does the current focus indication go together with SCM decorations? - [x] What does a minimap for notebooks look like? - [x] notebook diffing - [x] global notebook state and actions - Higher-level workbench integrations - [x] :runner: [Jupyter keymap](https://github.com/microsoft/notebook-extension-samples/tree/master/jupyter-keymap) @rebornix - [x] Notebook diff: diff presentation rather than file content, this should also happen in SCM - [ ] Search across files https://github.com/microsoft/vscode/issues/95275 - what is a match in markdown cells? - do we search in output cells? - [x] liveshare support - Renderer Development (renderers) @connor4312 - [x] development process - [x] ensure renderers can run in the browser (should not have node dependencies) - [ ] discuss: renderer toolkit for tables, trees, and lists - [ ] each output is also available as a text-based output for accessibility - [ ] unit tests for renderers - [ ] Notebook snippets (this can be implemented by an extension but should ship out of the box) - [ ] Explore Terminal-based output renderer # April (from above) - [x] UX explorations @misolori - [x] Make sure notebooks work in the web (https://github.com/microsoft/vscode/issues/95560) @rebornix - [x] Focus management @roblourens - [x] Folding and Hiding cells (infra) @rebornix - [x] Cell statusbar: Running, language mode - [x] :runner: Undo/redo - [x] auto-save - [x] revert - [x] Markdown: Double click to enter edit mode; don't leave edit mode on focus loss - [x] Renderer development process @connor4312 - [ ] :runner: Improved language support @jrieken - [x] :runner: Debug exploration @weinand - [x] :runner: Scalability / Integration tests @rebornix # May - UX - [ ] :runner: SCM decorations within a notebook @misolori - [ ] how to not lose my cell out of sight @misolori - Core - [x] Stabilization (focus handling glitches) @roblourens - [x] Improved accessibility (F6) @roblourens - [x] :runner: finish F8 @jrieken - [x] :runner: outline (Table of contents of active editor, text editor's TOC is Outline) @jrieken - [x] adopt `vscode-resource` urls @rebornix @mjbvz - [x] keep notebooks open when moving to a different editor group https://github.com/microsoft/vscode/pull/98607 @rebornix @mjbvz - [x] Local images support in markdown @roblourens @mjbvz - [x] :runner: Improve Undo/Redo (combined text- and cell-level undo/redo) @alexdima @rebornix - [x] Smoke Test (for rendering) @roblourens - [x] Kick-off rework of cell URIs (see also public plan item) @jrieken - [x] :muscle: Support mode that keeps markdown cells in edit mode @roblourens - [x] :muscle: Collapsed cell (UI/API) - [x] :muscle: Rich find widget (casing, word, regex) - [x] :muscle: markdown should support command links, markdown plug-ins - API - [x] split concept of notebook provider from concept notebook kernel/executor @rebornix - [x] support preload scripts for notebook kernels @rebornix - [x] support custom metadata @rebornix - [x] allow to determine `Run All` logic @rebornix - [x] ensure notebook providers receive `onDidClearOutput` @rebornix - [x] :runner: support non-textual backup/revert/undo/redo @rebornix - Debugging - [x] investigate how to reuse of existing debug adapters @weinand - [x] Provide a sample extension that connects to a xeus kernel @connor4312 - [x] :running: Explore debugging with a xeus kernel @weinand - Renderer Development - [x] notebook output renderer build errors in the output @connor4312
Backlog
notebookCursorUp,notebookCursorDown)postMessageinside webview to allow cell output code to talk to the notebook provider extension Notebook output hosting webview messaging API #92955April (from above)
May
vscode-resourceurls @rebornix @mjbvzRun Alllogic @rebornixonDidClearOutput@rebornix