- Updated the notebook API to add a change kind, and support saved, executed and other simplified status
- Plumbed this through to the main thread classes
- Support sending the events from cell / input to the notebook model so they loop over the extension host as a content changed event
- Add executed event from the cell
* cms connections dont save
* added value to enum
* remove refresh and update provider name for cms
* removed ownerUri from saved connection and contributed to array
* removed owneruri
* ownerUri not needed any more
* removed AAD from cms
* initial review
* changed comments
* add back saveProfile option for connectionProfile
* review fixes and other UI improvements
* fixed auth
* added cms integration tests
* added constants
* removed utils from apiwrapper
* changed connection type name
* review comments
* clearer code and addressed reviews
* Adding include exclude boxes
* Adding as table component generic column and rememebering state.
* converged custome action and select checkboxes, moved sc checkbox to middle, can have multiple checkboxes and can remember state now
* adding action on column as a common column property
* Taking PR comments
* Changing Arg name as per CR comment
* Taking a PR comment
Initial query execution options PR. This is the second in a set of query editor extensibility improvements I'm making. The PRs include (1) bug fix for webview in query tab (2) dynamic toolbars and (3) fix query event sequencing and event metadata info.
* Remove unnecessary 'use strict' lines and add hygiene check for them
* Move check to under tslint filters to reduce number of filters needed
* Only take first 10 lines of file
* extension now working
* make button messages better
* fix diff editor title disappearing and remove border from source and target name boxes
* redoing a bunch of stuff that disappeared after rebasing
* add images and add to extensions.ts
* moving a few changes to the right place after rebase
* formatting
* Initial schema compare options working code
* Adding description.icon etc.
* Enabling disabling options button
* Name change: SchemaCompareOptions to DeploymentOptions. To reflect SqltoolsService side parameters
* Adding sorting and correct sql tools version
* Adding options button themes
* Formatting fix
* Adding get default options call to get options from tools service
* Exclude/Include changes - first commit
* Adding border to checkboxes
* Taking PR comments
* Updating to latest sqltools with schema compare options
* first set of changes to experiment the registration of cms related apis
* Adding cms service entry to workbench
* Adding basic functionality for add remove reg servers and group
* Returning relative path as part of RegServerResult as string
* initial extension
* cleaned building with connecting to server
* get list of registered servers
* progress with registered servers tree
* cms base node with server selection
* removed unused services
* replaced azure stuff with cms
* removed cmsResourceService
* list servers progress
* Removing the cms apis from core. Having mssql extension expose them for cms extension
* create server working fine
* initial expansion and nodes
* Propogating the backend name changes to apis
* initial cms extension working
* cached connection needs change in api
* connect without dashboard in proposed
* Fixing some missing sqlops references
* add registered server bug found
* added refresh context menu option
* added payload
* server description not disabled after reject connection
* added more context actions and action icons
* added empty resource and error when same name server is added
* fixed connection issues with cms and normal connections
* added initial tests
* added cms icons
* removed azure readme
* test script revert
* fix build tests
* added more cms tests
* fixed test script
* fixed silent error when expanding servers
* added more cms tests
* removed cmsdialog from api
* cms dialog without object
* fixed theming issues
* initial connection dialog done
* can make connections
* PM asks for strings and icons
* removed search
* removed unused code and fixed 1 test
* fix connection management tests
* changed icons
* format file
* fixed hygiene
* initial cr comments
* refactored cms connection dialog
* fixed bug when switching dialogs
* localized connection provider options
* fixed cms provider name
* code review comments
* localized options in cms and mssql
* localized more options
* extension now working
* fix diff editor title disappearing and remove border from source and target name boxes
* redoing a bunch of stuff that disappeared after rebasing
* add images and add to extensions.ts
* moving a few changes to the right place after rebase
* formatting
* update toolbar svgs
* addressing comments
* add return types
* Adding PR comments
* Adding light and dark theme icons
* Fixing the diff editor title for dark theme
* add cluster name to page
* implement profile page -1
* fix compilation error due to new method
* profile page 0328
* summary page
* make divcontainer accessible
* handle disposable
* add support for "coming soon" cards
* Merge from vscode 37cb23d3dd4f9433d56d4ba5ea3203580719a0bd
* fix issues with merges
* bump node version in azpipe
* replace license headers
* remove duplicate launch task
* fix build errors
* fix build errors
* fix tslint issues
* working through package and linux build issues
* more work
* wip
* fix packaged builds
* working through linux build errors
* wip
* wip
* wip
* fix mac and linux file limits
* iterate linux pipeline
* disable editor typing
* revert series to parallel
* remove optimize vscode from linux
* fix linting issues
* revert testing change
* add work round for new node
* readd packaging for extensions
* fix issue with angular not resolving decorator dependencies
* Add azdata.d.ts for new extensibility APIs
* Update azdata typing files for connection API proposal
* Add implementation for azdata module
* Fix build break in agent
* added initial data explorer viewlet
* added dataexplorer contribution point
* removed test view
* remove unused imports
* inital data source, needs work
* add shim for ext host
* formatting
* making the necessary changes to use OE for tree view; need to look at TreeUpdateUtils.connectAndCreateOeSession
* formatting
* shimming oe more
* update to add correct context
* working cross provider; need to fix connection
* connection works but it adds the connection to the oe for some reason
* formatting
* add custom connection dialog code path
* hashing between trees
* added flag and tests
* add id maps to handle multiple nodepaths
* add necessary car edit parts
* keep current behavior in prodc
* fix tests
* address comments
* update comments to be more informative
* finish merge
* update comments
* fix whitespace
* Added Unified connection support
* Use generic way to do expandNode.
Cleanup the ported code and removed unreference code. Added as needed later.
Resolved PR comments.
* Minor fixes and removed timer for all expanders for now. If any providers can't response, the tree node will spin and wait. We may improve later.
* Change handSessionClose to not thenable.
Added a node to OE to show error message instead of reject. So we could show partial expanded result if get any.
Resolve PR comments
* Minor fixes of PR comments
* add an extension for integration tests
* setup ads before running test
* test setup
* test cases
* bash script
* shorter temp folder name
* code cleanup
* add commented out original code
* fix test error
* test result path
* rename results file
* change file path
* report smoke test results
* test stablize
* test stablization and configurable test servers
* fix smoke test error
* connection provider
* simplify the integration test script
* add comment
* fix tslint error
* address PR comments
* add temp log to check whether the environment variable is already set
* remove temp log
* move api definition to testapi typing file
* exclude integration tests extension
* address comments
- Add edit API that can be used in the extension
- Separated document and editor classes out since this is the point those get big. I can refactor back in if needed to ease code review
- Based this off text editing APIs but tweaked for the fact this is a cell/array based set of edits
* agent feature usage metrics
* generalized feature telemetry via dialogs
* renamed eventName property to dialogName
* made dialogName an optional field
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.
- Defines a new NotebookService in Azure Data Studio which will be used to interact with notebooks. Since notebooks can require per-file instantiation the provider is just used to create & track managers for a given URI.
- Inject this into notebook.component.ts and pass required parameters that'll be used to properly initialize a manger into the method. Actual initialization not done yet.
- Port over & recompile notebook model code
- Define most required APIs in sqlops.proposed.d.ts. In the future, these will be used by extensions to contribute their own providers.
* Enable the support for post-connection behaviors for openConnectionDialog.
* Fixed bugs.
* Make everything in IConnectionCompletionOptions optional except saveConnection.
* showConnectionDialogOnError & showFirewallRuleOnError default to true.
* Use types.isUndefinedOrNull to do value checking.
* Minor changes.
* Enable notification for accounts change
* Fixed bugs in extHostAccountManagement.test.ts
* Fixed as commented:
1. Removed AccountWithProviderHandle
2. Use a private dictionary _accounts in ExtHostAccountManagement to cache all accounts and corresponding provider handles.
3. getSecurityToken gets provider handle from _accounts for specified account.
4. Added / changed unit tests for getAllAccounts & getSecurityToken
* Add support for clickable links and other webview options
- Added click handling
- Added suport for localResourceRoots to be read in the webview
* Options should not be mandatory
* Ensure the constructor-defined properties are preserved
- This fixes issue where the extensionFolderPath was lost during webview withProperties call in the modelbuilder.
* enableCommandUris should be a getter
* Add position support to webview and to flexContainer
* Fix regressions on editor view caused by merge