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