This adds SQL Server Notebook as a built-in extension
by pulling it from blob storage.
It also adds support in mssql extension for reading the contribution points from other extensions.
This will contribute troubleshooting and other books as widgets.
In this commit:
- Bundle the extension in the build
- Bundle in sql.sh / sql.bat so it appears in local testing
- Avoid installing in Stable. Should only appear in Dev/Insiders builds
- Extensions with `notebook.books` contribution point will be discovered & their books available in MSSQL
Coming later:
- Integrate this with Maddy's work to show a Notebooks widget in the SQL Server big data cluster UI
- When clause isn't supported yet for filtering. Will be done as we refactor towards more books for different server types
Issue here is that for some reason click in tree causes 2 events:
- Selection Changed
- Resource Opened
Due to this, we get the markdown event 2 times and this misbehaves.
I am not confident in changing markdown so implemented similar pattern:
- Throttle requests if they're for the same resource inside 300ms
- This means 2nd event is ignored
Testing:
- Manual, clicked a bunch of markdowns
- It "just works" for me now
- The OEAction calls through a command service implementation that loses the context object.
Directly instantiating the NewNotebookAction solves this.
Also tested NewQuery and that didn't have an issue so left as-is
* open notebooks as untitled files and removed the saving to home directory
* return just filename without extension since save is adding the .ipynb ext
* Changes to open bdc notebooks as untitled docs. Updated tests to align with the changes
* changes: not to show untitled file as dirty and cleaned up tests in notebookService
* changes to address untitled name conflicts with open editors.
* comment cleanup
* added previous and next buttons
* previous and next notebook API
* links for prev/next notebooks
* fixed first and last pages
* made code more readable
* addressed Kevin's comments
* moved logic over to BookTreeItem
* show buttons in dev mode only
* added BookTreeItemFormat interface
* added interface and enum
* removed localize call
* Remove --user option when doing pip installs for our standalone Python version.
* Use force-reinstall option when installing sparkmagic since we use a custom version.
* Use force-reinstall when installing pip packages from Manage Packages dialog so that dependencies don't get split across multiple locations.
* Update PATH after install to include additional package directories.
* Fix#5238 Notebooks should support relative links
- Added detection of relative #links inside notebooks
- Added handling of these, at least for current notebook
Not handled: open other notebook & scroll to position.