Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Notebook Backlog #91987

Closed
rebornix opened this issue Mar 4, 2020 · 5 comments
Closed

Notebook Backlog #91987

rebornix opened this issue Mar 4, 2020 · 5 comments
Assignees
Labels
notebook plan-item VS Code - planned item for upcoming
Milestone

Comments

@rebornix
Copy link
Member

rebornix commented Mar 4, 2020

Backlog

  • Engineering @rebornix
  • Editor Core @rebornix
  • Editor Contributions (ships in the box, based on editor core)
  • 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)
  • 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
  • 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)

May

  • UX
    • 🏃 SCM decorations within a notebook @misolori
    • how to not lose my cell out of sight @misolori
  • Core
  • 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
@rebornix rebornix added this to the March 2020 milestone Mar 4, 2020
@rebornix rebornix self-assigned this Mar 4, 2020
@kieferrm kieferrm changed the title Notebook March plan Notebook Backlog Mar 7, 2020
@roblourens roblourens self-assigned this Mar 10, 2020
@jrieken jrieken mentioned this issue Mar 30, 2020
3 tasks
@jrieken jrieken modified the milestones: March 2020, April 2020 Apr 1, 2020
@jrieken jrieken mentioned this issue Apr 27, 2020
3 tasks
@jrieken jrieken modified the milestones: April 2020, May 2020 Apr 29, 2020
@Matelasse
Copy link

@rebornix Is it possible to use the new notebooks in anything other than .github-issues files? Python hasn't adopted the in-core implemented apis yet, and I wanted to give the notebooks more of a try than what .github-issues notebooks makes it available for me in Insiders.

@jrieken
Copy link
Member

jrieken commented May 29, 2020

I'd say that.github-issues is currently the most complete sample wrt to language features and the basic notebook experience. We have a few other prototypes but they aren't ready for consumption. We also work the python team so that they have a smooth adoption path. @Matelasse Is there anything specific that you current would like to try but are lacking?

@DonJayamanne
Copy link
Contributor

DonJayamanne commented May 29, 2020

Python hasn't adopted the in-core implemented apis yet,

@Matelasse We are adding this in the python extension. You can track our progress here https://github.com/microsoft/vscode-python/issues/10496

@roblourens roblourens mentioned this issue Jun 1, 2020
3 tasks
@rebornix rebornix modified the milestones: May 2020, June 2020 Jun 1, 2020
This was referenced Jun 6, 2021
@connor4312 connor4312 removed their assignment Oct 13, 2021
@rebornix rebornix modified the milestones: On Deck, Backlog Nov 5, 2021
@gjsjohnmurray
Copy link
Contributor

After reading the documentation I tried one of the samples cited as an example of how to implement debugging in a notebook. However the sample hasn't been updated to use the finalized APs. I opnede microsoft/vscode-nodebook#14 about this.

I hope someone subscribed to this issue will either fix that sample or else re-point the doc to a functioning alternative. 🙏

@weinand weinand removed their assignment Nov 1, 2022
@daviddossett daviddossett removed their assignment Dec 6, 2022
@github-actions github-actions bot locked and limited conversation to collaborators Feb 5, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
notebook plan-item VS Code - planned item for upcoming
Projects
None yet
Development

No branches or pull requests