* initial commit
* Add Reveal in Books editor tab context option
* Select item in books viewlet automatically
* changes
* easier than i thought it'd be
* added file watcher on toc file v1
* Merge from Feat/create book
* Undo Merge from Feat/create book
* Use fsPath instead of path
* repen book on toc update
* update book in-place
* fix close book
* error handling for closeBook
* PR comments
* addressed comments
* moved the watch block to try ,watch vs watchFile
Co-authored-by: chlafreniere <hichise@gmail.com>
Co-authored-by: Chris LaFreniere <40371649+chlafreniere@users.noreply.github.com>
* Add Reveal in Books editor tab context option
* Select item in books viewlet automatically
* changes
* easier than i thought it'd be
* Merge from Feat/create book
* Undo Merge from Feat/create book
* Use fsPath instead of path
* PR comments
* Fix tests
Co-authored-by: Maddy <12754347+MaddyDev@users.noreply.github.com>
* added secondary action
* create book command
* open as untitled
* create toc.yml and update title
* added comments
* throw error if filenames have unsupported chars
* update prompt message
* remove the toLocaleLower
* added await
* moced createbookpath out of the command handler
* removed tolocalelower and added comments
* moved the formatting and file handling code from core to notebook
* fixes for contents with folders
* collapse the code cell
* remove output
* reused existing command to open book
* comment typu and added await
* add saved/untitled views to the books viewlet and provide save option to untitled
* addressed comments
* fixes after merge
* await on async methods
* reverted back
* await on promise
* added localize for books view names
* initial commit
* missed a file change
* changes to make the merges work part1
* fixes after merges 2
* getChildren to get all books
* chnages to address comments
* fsPromises instead of fs.readSync
* merged master
* replaced deprecated fs.exists async call with pathExists
* renamed method
* initial commit
* fix: added initialize method to fix the previous/next links rendering
* added checks
* open first markdown/ipynb in the book ans expand the view
* added launch book from command pallete, removed the pick folder and save option added launching the first notebook/markdown
* moved the open book command pallet action from mssql to notebooks
* open as untitled to true
* opening markdown files issue fix
* removed opening as untitled files
* open ipynb files as untitled and changes for previous&next links to work
* add books as seperate viewlet
* localize double quote issues and renamed treeCollapsibleState
* renames and added logic to conditionally show Preview command
* moved registerCommands from widget to extension contribution
* isEditorUntitled check
* async comment updates
* formatting issues.
* promisfying the async calls
* moved existsAsync to top
* Touchbar icon support in notebooks
- updated shortcut keys to only work if notebook is active
- Added icons
- Now have 1 "add cell" icon that prompts for code/text.
This is useful as there wasn't an icon to differentiate
This was reviewed / worked on with Smitha and will be signed off on by PM via mail.
1 thing left (make run button look better when not selected) will be one in separate review.
Changes
- Add top/bottom padding to editor so it's not cramped
- Added an (on by default) setting `notebook.overrideEditorTheming`. This controls whether new colors etc. are used for notebook editors or if users should see vanilla UI like in standard editor. Settings under this flag are:
- When unselected, editor has same color as toolbar. On selection it goes back to regular editor view so colors work "right"
- In standard light/dark themes we now use a filled in background color instead of border box.
* Ported Analyze notebook code from SqlOpsStudio and make it work.
if config.notebook.sqlKernelEnabled is true, use SQL provider;
Use Jupyter provider if Python is install, otherwise use buildIn Kernel.
* Analyze in Notebook Kernel can only be Python or "No Kernel". So remove Sql Kernel.
initial support for Notebook extensibility. Fixes#3148 , Fixes#3382.
## Design notes
The extensibility patterns are modeled after the VSCode Document and Editor APIs but need to be different since core editor concepts are different - for example Notebooks have cells, and cells have contents rather than editors which have text lines.
Most importantly, a lot of the code is based on the MainThreadDocumentsAndEditors class, with some related classes (the MainThreadDocuments, and MainThreadEditors) brought in too. Given our current limitations I felt moving to add 3 full sets of extension host API classes was overkill so am currently using one. Will see if we need to change this in the future based on what we add in the additional APIs
## Limitations
The current implementation is limited to visible editors, rather than all documents in the workspace. We are not following the `openDocument` -> `showDocument` pattern, but instead just supporting `showDocument` directly.
## Changes in this PR
- Renamed existing APIs to make clear that they were about notebook contents, not about notebook behavior
- Added new APIs for querying notebook documents and editors
- Added new API for opening a notebook
- Moved `New Notebook` command to an extension, and added an `Open Notebook` command too
- Moved notebook feature flag to the extension
## Not covered in this PR
- Need to actually implement support for defining the provider and connection IDs for a notebook. this will be important to support New Notebook from a big data connection in Object Explorer
- Need to add APIs for adding cells, to support
- Need to implement the metadata for getting full notebook contents. I've only implemented to key APIs needed to make this all work.