Updated existing serialization code so it actually supports serialization. Still needs work to replace the saveAs function when a QueryProvider doesn't support save as, but want to handle in separate PR.
Removed separate MainThread/ExtHostSerializationProvider code as the DataProtocol code is the right place to put this code
Plumbed support through the gridOutputComponent to use the new serialize method in the serialization provider
Refactored the resultSerializer so majority of code can be shared between both implementations (for example file save dialog -> save -> show file on completion)
* Update to latest SQLToolsService release
* remove sync methods
* added assertion to log error
* create random folder
* change variable name to be more descriptive
* Update book.test.ts
* Update book.test.ts
- Fix spark job failing when 1 or more servers are connected
and listed in getActiveConnections
- If nothing is connected, prompts to choose a server
- Added option to dropdown when 1 or more server is connected
to support picking a different connection
Root bug was trying to access "host" not "server" in options bag, which no longer exists.
* Fixed telemetry events for visualizer recommendation prompts
* Added telemetry event for when Visualizer button in action bar is clicked and added respective telemetry keys
* Created TelemetryView and TelemetryAction and relocated new constants
* extension recommendation on application launch
* Introducing Visualizer (SandDance) to the SQL Query Editor. (#6347)
* Created Visualizer icon in the results grid. Utilized a context key so that the icon only shows if Visualizer extensions (currently, just SandDance) is installed. Visualizer icon open up SandDance in a top-level document.
* When the user clicks on Charts, visualizer recommendation popup appears. User can click on "Install Extensions" to download the visualizer extensions.
* Enabled SQL Query Editor to pass query data to SandDance extension.
* Introducing Visualizer (SandDance) to the SQL Query Editor. (#6347)
* Created Visualizer icon in the results grid. Utilized a context key so that the icon only shows if Visualizer extensions (currently, just SandDance) is installed. Visualizer icon open up SandDance in a top-level document.
* When the user clicks on Charts, visualizer recommendation popup appears. User can click on "Install Extensions" to download the visualizer extensions.
* Enabled SQL Query Editor to pass query data to SandDance extension.
* Cleaned code; made changes according to PR comments
* removed the test service for extensions gallary
* Cleaned up code according to PR changes
* unid changes to build/azure-piplines
* Removed all the build/azure-pipelines changes
* removed changes on media/language.svg
* refactored extension recommendation system to allow it to be generic
* updated extensionsViews to support generic extension query search; added localized constants for visualizer extensions
* Made syntax and error message changes acccording to PR comments.
* Updated recommendation message according to scenario type
* Allow column resizing in preview table
* added property to TableComponentProperties
* hooked up new prop into model view
* new setOptions
* adding enum to azdata interface
* bring in slickgrid 2.3.30
* PR feedback
* Fix#6477 controller login + fix dashboard layout
- Service endpoints shoudl be on own column, cut off smaller screen
- Controller login not working due to 404 error
This is due to a breaking API change
We have requested fixes to help mitigate need for cluster name,
but for now have a default value for this
Finally, modified code so it's easier to update swagger API
and also added instructions on how to update in future
* add webpack for built in extensions
* fix the casing issue
* Rename azCLITool.ts to azCliTool.ts
* Rename kubectlTool.ts to kubeCtlTool.ts
* fix the error
* fix the packaging issue
* Replace Big Data Cluster with big data cluster
Official docs guidance is to use "big data cluster" instead of "Big Data Cluster"
* Use doublequotes and full product name
* initial commit: new modelview widget that shows books
* moved the new command action to notebook contribution and addressed the comments
* localize changes
* removed changes from src/vs file and string changes
* make directory for each contribution
* typo fix
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.
* make deployment ext only available in insider
* delete big-data-cluster extension
* formatting
* Revert "delete big-data-cluster extension"
This reverts commit 0ac667e59d2bd15eeb383fb1e20d2bf8933ffab0.
- Fix#6221 Notebooks: Keyboard Shortcut for New Notebook has Changed.
- Use Win+Alt+N instead of Win+Shift+N
- New Grid is now "stable" (forgot to do this in last PR)
* fixed context for data explorer
* added more files
* initial servers and database context menu actions finished
* added all actions for servers and databases with correct conditions
* added nodetype and nodelabel for subtype actions
* added nodeinfo logic to oe shim
* fixed context for cms
* added all scripting actions to data explorer
* review comments
* fix import
* fix correct context key
* removed unused import
* fix typo
* fixed context for data explorer
* added more files
* initial servers and database context menu actions finished
* added all actions for servers and databases with correct conditions
* added nodetype and nodelabel for subtype actions
* added nodeinfo logic to oe shim
* fixed context for cms
* added all scripting actions to data explorer
* review comments
* fix import
* fix correct context key
* removed unused import
* separate PR for commands and menus added
* rename mssql context menu nodes
* remove command id constants
This is a staged refactor to use the exact same grid logic in the Notebook and query editors, including context menu support, font settings, and sizing logic. The goal long term is:
- As the core Query grid is updated, Notebook can benefit from the changes
- As we add in support for contributions like new buttons & actions working on the grid, can share the logic
- Ideally if and when we refactor things like the action bar for grid results, we can apply in both places though this is TBD.
Fixes a number of issues:
- Fixes#5755 Grids don't respond to font settings. @anthonydresser can we remove setting from each query results editor and just use Notebook Styles since these are global (not scoped) settings?
- Fixes#5501 Copy from grid settings.
- Fixes#4938 SQL Notebook result sets are missing the actions provide for SQL File results sets. this now has the core ability to solve this, and separate work items for specific asks (serialization, charting) are tracked.
Currently hidden:
- Save as... options in context menu
- All right toolbar actions (save as, chart).
Remaining issues to address in future commits:
- Need to implement support for serialization (#5137).
- Need to add charting support
- Need to solve the layout of buttons on the right hand side when a small number of columns are output. It doesn't look right that buttons are so far away from the results
- Will work with UX on this. For now, mitigating this by hiding all buttons, but will need to solve in the future
- Would like to make buttons contributable via extension, but need to refactor similar to ObjectExplorer context menu so that we can serialize context menu options across to extension host while still having internal actions with full support
With this change, Plotly types will be successfully rendered in a Notebook.
Currently they have a default width of 700px with a scrollbar if the window size is smaller (this matches other notebook viewers).
The Plotly library is dynamically required to avoid startup time perf hits. This is something we could look at for other components too.
* Change service installation messages to not steal focus
* Undo unnecessary changes to localized strings in serviceClient.ts
* Add default case for missing server event types
* Update admin-tool-ext-win to use new ads-extension-telemetry package
* Add AdsTelemetryService for sending telemetry events using the ADS Common Schema
* Clean up unused import and add engineType
* Address PR comments
* Update private var names
* NB improve startup using built-in markdown render
This is a sample branch showing perf improvements if we load content using built-in markdown rendering
- Has issues where images aren't correctly rendered due to sanitization, need to copy renderer code and update settings
- Moves content load up before anythign to do with providers since we can render without knowing about these things
# Conflicts:
# src/sql/workbench/parts/notebook/cellViews/textCell.component.ts
* Re-enable logging of each cell's rendering time
* Fix test issue
* Kernel loading working with new markdown renderer
# Conflicts:
# src/sql/workbench/parts/notebook/cellViews/textCell.component.ts
* Fixed tests, cleaned up code
* markdownOutput component integration
* PR Comments
* PR feedback 2
* PR feedback again
- Added a registry for output components
- Refactored existing renderers to plug in via Angular
- Added Markdown renderer using new Angular contribution point
- Added support to notebook module to dynamically load new components
* initial commit: added cluster status notebook and dashboard task
* following the previous naming conventions
* endpoint widget changes to accomodatw naming changes
* management-proxy/mgmtproxy chnages
* updates to address the comments and added the new copy image with hover text.
* added user select for making the table selectable
* localize changes
* added the final documented notebook
* reset execution_count to 0 for all cells
* style changes
* updated the url to point to private repo
* can compare scmp with databases
* show error if can't connect to db
* excludes now work
* fixes after rebase and other small fixes
* Addressing comments
* fixes after rebasing
* fix excludes not always being remembered correctly
* fix switched check
* addressing comments
* update dacpac and schema compare extensions to use getConnections
* use more const
* make MSSQL a const
* changing name of mssql const
* add comment for name of parameter
* Removing database name from server connection and adding required asterisk to database dropdowns
* also remove database name in flat file import wizard
* Schema compare cancel changes for ADS
* adding a missed change
* Merge from Master
* Updating SqltoolsService version
* trying stress with bigger runtime
* trying one more stress fix with unique operation ids
* refactoring test a bit to ensure stress run works
* Improve notebook link handling
- Single click now works for links inside Output areas
- Command links in untrusted notebooks have link color
- Refactored to use directive so code is in 1 place and can be easily
added elsewhere if needed
* Removed unneeded service from constructor
Adds a protocol handler for notebook open, which can be used from browsers
Uses extension-based handler support so all URIs must start with `azuredatastudio://microsoft.notebook`
Adds 2 actions:
- `/new` opens a new empty notebook
- `/open` opens a HTTP/S file as an untitled notebook or text document
Sample URL:
```
azuredatastudio://microsoft.notebook/open?url=https%3A%2F%2Fraw.githubusercontent.com%2Fkevcunnane%2Fmsbuild_ads_demo%2Fmaster%2F0_YoAzdata.ipynb
```
* Add Notebook Save integration tests
Wrote test to verify save behavior
Fixed issues found during testing,
specifically around how we notify dirty state change to extensions
* Improved error messages
* Changes to 1. Enable Icon for Schema Compare model view editor 2. Set context setting in editable drop down 3. Fix a console error
* new icons
* Changes as per PR comments
* Adding PR comments
* Fixing a spelling mistake
Opening connection dialog was broken if you have a postgres connection
listed in the Connections view and the extension isn't installed.
The capabilities service breaks as it returns an undefined object.
Added handling, so now it does show as "loading..." forever
but doesn't crash
* made all jobs get focus and keyboard friendly
* added tooltip for steps image
* made operator dialog accessible
* change job name as soon as job name changes in text box
- Updated test baselines
- Removed duplicate 'Standard SQL DB context menu test'
- it's identical to Azure test
- Standalone database context menu test covers non-Azure
* Log telemetry when all markdown cells rendered
* Enable referencing previous telemetry timestamps
* Fix broken unit test to do a null check
* Undo loading icon changes in textcelll
* Addressing PR comments
* PR comments II
* Fix New Notebook issues
- Fix#5338 New Notebook menu item should be next to New Query
- Fix#4936 Add a shortcut to create a notebook in the document well
Created a built-in New Notebook command
that routes to the existing extension-based command.
This avoided a rearchitecture that was more complex that seemed worth it.
Per VSCode patterns, used a _ modifier for the existing command so it's "private"
* fix accessbility issue where tabbing would get wrong focus
* dialogs open one at a time
* get focus on filter headers
* added tool tips to proxy dialog
* added labels to step dialog
- 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
This isn't necessary since we aren't providing the VS binaries as redist-able. VS has signed off as confirming that the main extension license is enough to cover the VS binaries as well. (#5880)
* Add test for opening existing SQL file and typing text into it
* Clean up
* More cleanup, remove unneeded queryEditor and add smoke test scripts
* Update comments to be clearer
* 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
* added more error checks
* add back functions in apiwrapper
- Azure token wasn't being copied into profile so expand didn't work, it spun forever
- Fixed this by saving in password/token after the connection profile copy, & refactored to be cleaner
- We should ideally ensure session notifies resolves even on fail so if there's a different error it'll break, not spin forever. Punting this part of the fix for now
- Also doesn't solve issue where we always try to connect even if user + password combo isn't saved. Will investigate / work in a separate PR on this.
* make diff readonly
* change to use ResourceEditorInput instead of UntitleEditorInput since it is readonly
* inject service
* use this instead of declaring local variables
* addressing comments
* 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
* Improve Azure startup time and fix command palette
- Improvement (but not full fix) for #4732 where Azure startup is very slow.
This speeds the startup by up to 5 seconds by
- Changing from fixed 5 second initial wait time to a promise to check for accounts
- Using the accounts changed notification to send a message when accounts are ready. This is usually what will "win out" since Azure seems to load before the Account Providers are set up.
- Remove right-click actions from the command palette.
- Rename Azure actions so it's clear what they are in the command palette.
* Remove coveralls task while investigating how to make optional task
* Add void return type
- Notebooks Can be Improperly Trusted After Save + Reopen
Fix was to only save if actually trusted.
Also fixed condition where it wasn't correctly skipping if in the queue
* Revert "Revert "Provide a default result grid height (#5710)" (#5738)"
This reverts commit f8ab5fef78.
* Tune the sizing a bit to be more closer to May release
* changes to resue properties widget for endpoints
* comments added
* added loader
* changes to address the review comments: code clean up and constants
* dark theme style fox and misc
* added varibale for display aligment
* renamed hyperlink to isHyperlink
* added endpoints as a modelview to be used on dashboard
* added padding to fix the overlap issues.
* removed the propertieswidget changes
* formatting fixes for hygiene errors
* renamed endpoints to bdc-endpoints
* chnages to address the comments
* added null check
* First version of Stress - moving over from feat/Stress1 branch
* a working version - still issues with stresssified notebook tests
* update notebooks to use new message event (#5395)
* Latest changes for notebook tests
* Stressify objectExplorer tests
* formatting changes
* removing the tracing added previously and ability to set tsc verbose option in tsconfig.json
* addressing review feedback
* addressing review feedback
* implementing runtime parameter for Stress
* addresing review feedback and moved out stress modules to its own project outside of azuredata source tree
* referencing adstest from the github location
* incorporating review feedback
* Review feedbak
* removing uncommong entries added to .gitignore
* removing unrelated change
* replacing debug/trace statements with console.info or cosole.warn statments in integration-tests\main.tx
* add message to recompare if options changed
* changes after rebasing
* Add compare button to notification
* remove async
* change to yes and no button
* Adding code to change checkbox list to table with checkbox.
* removing some unnessary ','
* Increasing the table a little bit
* reverting height changes
* Adding PR comments
* refactored job actions to wait for job objects to load
* sorted the jobs in descending order
* decreased steps table height in jobs dialog
* cannot open multiple instances of dialogs now
* fixed edit job not show up some times when re opening history page
* fix broken icon
* fix a bunch of stuff and refactored code
* added isopen prop to dialog
* 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
* Add test product-insider.json file
* Update some GUID
* Update mixin file
* Add more mixin customizations
* Update the mixin strings a little more
* Reorder code blocks to shorten a bit
* initial tests for schema compare
* Adding schema compare integration test
* Adding code to fix some build issues
* DB compare test
* Adding some CR comments
* db creation and deletion as per CR comments
* Fix#3439 Trusted doesn't get saved in Notebooks
The main fix is to add a memento to store trust information. This is only needed for saved files - untitled files are always trusted as the user created them.
On clicking trusted or saving a file, the trusted state is cached. In the future, we will also handle code execution here too by sending notification on snapshot state.
I found issue #5506 during testing - existing issue where we should track trusted state changing on run. In the case all cells are ran, the whole notebook should become trusted.
Finally, I did a decent amount of refactoring to move more logic to the model - removing unnecessary calls from components which duplicated model behavior, moving trust notification to the model or at least the notebook service completely.
Added tests and logging for catch handling
* Fix server name in URN for Azure servers and update menu when clauses
* Use setStatusBarMessage instead of constructing our own. Remove server name from URN - it's not necessary.
* Clean up unused code
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.
* Update vscode dependency (needed for test runner) to pull latest 1.x version
* Update to use 1.1.5 instead
* Undo change to vscode engine version
* Switch to using vscodetestcover for running tests
* Switch to cobertura output for coverage reports
* Remove vscode dependency from profiler extension
* Update yarn.lock with combined changes
* 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
* can make imports, but need to change success and failure views
* fixed error handling UX
* removed unused function
* cr comments
* fix typo
* requested change
VSCode serialization changed rejection handling to only serialize errors, which caused things to break
- Changed to return either account info or a cancel message in the resolve
- Rewrote to use promises. Tracking how to return canceled through 4+ thenables was way trickier than just using a promise
- Updated unit tests to handle new scenario
- Tested integration tests, realized they a) didn't run and b) didn't passed.
- Added vscode dev dependency to fix run issue
- Fixed tests to account for behavior changes in tree state.
* removes more builder references
* remove builder from profiler
* formatting
* fix profiler dailog
* remove builder from oatuhdialog
* remove the rest of builder references
* formatting
* add more strict null checks to base
* enable strict tslint rules
* code layering of base
* wip
* working through changes to table data view
* fix tests
* update editabledropdown to not use layout service
* wip
* fix imports
* fix import
* fix compile error
* add more localization
* add comments to changes to import patterns
* add more import comments
* Fixed#4953 following query editor behavior provide create file option when file name doesn't exist
* Check active edtior is the correct one before closing
* close editor
* Removed codes not needed
* Check error null
* replace observable references with just promises
* add tests for searching in dataview
* add comments
* work through respecting max matches
* fix tests
* fix strict null checks
Fixed #5236
- Change the icon to blue image. Existing icons are not deleted. We will use them when the icons are - - moved as the secondary actions.
- Change the font size to 13px
- Change the height to 21px
- Move Add actions to the left
* Add support for more SsmsMin property dialogs and the Generate Script Wizard. Also fixed bug with ExtHostObjectExplorerNode getParent function
* Localize package.json entries
* Fix localization tokens
* Address PR comments
* Fix regex and getParent
Fixes#5231
- Add stdin handling. Has to be at UI level so add plumb through handling
- Add unit tests
- Add new StdIn component.
Testing:
Unit Tests and manual testing of following:
- Prompt for password using `getpass` in python.
- Password prompt is hidden since "password" is true.
- Hit enter, it completes
- prompt, stop cell running, StdIn disappears
- prompt, hit escape, stdIn disappears and stdIn request is handled.
Issues: focus isn't always set to the input even though we call focus.
Will investigate this further.
* Fix markdown security and enable most CSS
Stops using our sanitizer and instead disables HTML in markdown engine
- This was blocking Note because it converted > to >
- It's slightly more strict in that it fully disables HTML unless trusted. Will need to improve handling of Trusted to support this in a future PR
Adds in correct CSS, both from .css file in markdown extension and from built-into all webviews global CSS
- Fix#3765 standard markdown support
- Fix Support of Notes by bringing correct styles
- Fix code block colorization
- Fix link handling so it's not bolded / gets underlined on hover
- Fixes table rendering (for markdown and HTML tables)
* Reduce scope of CSS changes
- Removed some CSS that wasn't needed or caused issues
- Scoped most things under the preview section not the whole component
* Avoid markdown html block by sanitizing after render
* Fix pre node not overflowing
- This was a bug in existing implementation too
* various clean ups
* formatting
* remove linting
* formatting
* IConfigurationService is even better
* messing with connection config tests
* update tests
* formatting
* foramtting
* remove unused code
* add more tests
* working through tests
* formatting
* more factoring of connection store and increase code coverage
* formatting
* fix tests
* change use of state service to storage service
* remove unused files
* fix strict null errors
* formatting
- Copied over click handler from VSCode markdown renderer
- Added logic to only support command links if trusted
Now clicking on a link will do an action or open a file.
Created #5238 to track need to support relative links which doesn't work
* 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
* Connect opened query editors to the ser
* only show firewall rule error for one file
* remove unused imports
* sync to latest
* add comment
* one more comment
* Close jupyter and python
* Ensure we stop jupyter correctly on process end
* dont stopServer from clientSession shutdown
* PR comments
* close notebook after each test
* Fixed#4772 create unique connection for each notebook by using notebook path as uri
Disconnect sqlConnection from SqlKernel to ensure no connection left after the notebook is closed.
* SqlSessionManager is ADS level manager
* Moved path to SqlKernel constructor
* testing code coverage for /sql/
* fix test result path
* fixed coverage task:
'
* added coverage to linux and mac as well
* fix script for mac and linux
* bash script cmd
* fixed scripts
* remove warnings from summary
* remove coverage from linux
* added job action tests
* added more tests
This fixes an issue where if you copy azdata.proposed.d.ts to
an extension project, it would fail to compile using default
tsconfig.json settings due to missing return type
* 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
* ADS Welcome Page
* sample notebook section
* Opens in browser :(
* Remove sample notebooks section
* fix open file in windows
* Change az_data_welcome_page to be under sql/
* fix tslint issue
* Scope table css down
* Fix Data Explorer context menu items visibility
The when clause was making the menu items show up for all nodes in the Data Explorer - even ones that didn't make sense such as the Databases folders. This change makes it only appear for the Database and Server nodes (which is how the OE tree is set up)
* removes more builder references
* remove builder from profiler
* formatting
* fix profiler dailog
* remove builder from oatuhdialog
* remove the rest of builder references
* formatting
* add more strict null checks to base
* 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
* Fix 2 notebook issues
- Do not create notebook model twice on start
- Do not cause disposed warnings due to markdown cell deserialization
* Fix notebook dirty on open issue
Before model is resolved we weren't getting dirty events.
Solution is to use backing text model until it's ready.
Must hook to the dirty event & notify to get the dot to appear
* preserving spaces in query results - all beginning, trailing and middle spaces will be shown as is
* removing the change through formatting and replacing with css change formatting was leaving special char while removing nbsp
* Basic touchbar support
* Touchbar support for Run Cell, Run Query, Add Cell
- Add top 3 notebook commands
- Add top query command
Actions only appear on having active editor of expected type.
In order to make Notebook work as expected, added tabindex to support focusing
and hide outline to ensure it doesn't get weird blue outline on click
Note: does not have icons yet, which would be nice.
However can add in subsequent PR once this comes from UX.
This is a partial fix that lays groundwork for full "Prompt to connect" if a kernel needs a connection.
I am waiting on Yurong's refactoring of connection handling before doing any of the prompt work.
- Adds kernel metadata about whether a connection is required.
- For Jupyter, only Spark kernels are listed as requiring a connection
- If this is true and there's no active connection, will show notification and not call execute
In the future, this path will still be used if user is prompted to connect and cancels out.
The future change will be to inject a "connect" handler from notebook.component to the cell callback and use to set connection context
Add back check for textDocuments with same name, should've been there anyhow
On rehydration files show as text docs before clicking as only get
changed by customInputConverter code path.
We should look at this long term - ideally we'd update notebookDocuments
with correct values on initial start. #4958 opened to track this.
* automate the setup and use akv to store values
* update readme.md
* get rid of the save to file part
* update readme
* add more messages
* fix the error
* fix some errors
* fix the readme
* intial code for diff view inside model view
* Adding basic Split View Container depending on Flex Layout
* Enabled resizing between top and bottom view
* cleaning up some of the sqlops references
* Adding height as per CR comment
* Fixed#4800 need to use ConnectionProfile in order to get the correct connection
* Go back to create connect in run cell to avoid to fail to run cell or close the connection used by other.
* more strict null checks in base browser code
* revert changes to radiobutton
* fix some more minor things, enable strict null check in pipelines
* formatting
* fix compile errors
* make null undefined
* more null to undefined
* runAllCells API
* add comment
* more run cells fixes
* Add integration test
* Add multiple cell SQL notebook test
* Comment out python tests as they fail in the lab
* remove unused imports
* PR comments
* Remove localize
* Return true instead of promise.resolve(true)
* 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
* Change attach to show user name. Use connectionProfile.title to display the same info as OE server node
* Fixed some potential profile leak
* Removed unused import
* Resolve PR comments
* change to fs to write file
* change random range to 1 to 100
* Added more env variables check as well
* Add azure and standalone env variables
* Add Azure instance to unblock mac pipeline testing
* Fixed some merge issue and improve delete file
* Added standalone test only run on windows
* change to fs to write file
* Added more env variables check as well
* Resolve PR comments
* Merge master
* Add file name exist check and delete it after test is done
* Fix workspaceRoot macro for insights
The workspaceRoot macro wasn't working correctly for finding the queryFile. There were a couple of issues :
1. The path separators were hardcoded as / which wasn't xplat-compatible
2. They required the first section of the path was one of the folders in the workspace - e.g. if the workspace contained a folder named foo you'd have to specify ${workspaceRoot}\foo\myfile.sql. This is inconsistent with the folder logich was just appends the path after ${workspaceRoot} to the folder that's currently open
I changed the logic to just append the relative part of the path to every folder currently open in the workspace and choose the first one that it found that contained the file we were told to look for - which follows the convention the folder logic uses. If the file doesn't exist it'll just fall back to using the path without the macro (which is likely to not resolve and thus will display an error, but there's nothing we can do at that point anyways)
* Switch to using VS Code resolver (support for more than just workspaceRoot) and move resolution code into helper method so it can be used by the multiple places it's called. Added tests for the methods.
* Add test for invalid param
* Change resolveQueryFilePath to be a standalone exported function. Change it to throw if the file can't be resolved/found so callers can display error correctly. Added more tests to covery new scenarios. Switch to using pfs instead of fs for file existance checks.
* Add extra param to InsightsDialogController construction in test
* Fix formatting and test errors.
* Change to suiteSetup and suiteTeardown so the setup/teardown is only ran once instead of once per test - we don't need unique files and this stops a race condition error with deleting the test folder.
* spaces -> tabs
* Fix broken test
The test would always fail if it was doing the right thing - since it was asserting that there WEREN'T any cells with outputs (the opposite of what it should have been checking).
* Update error message to be clearer
* Fix spelling error
* Revert "change sizing behavior to allow the messages to fulling collapse down (set results to have no max height) (#4313)"
This reverts commit 7de294a58e.
* Revert "Grid scrolling bugs (#4396)"
This reverts commit ace6012c1c.
* Windows extension fixes/improvements
Remove error message when activating extension on non-win platforms (instead just don't do anything). Add hooks to kill child processes on exit if they haven't ended already. Formatting fixes.
* Remove shelljs
* Remove error messages from telemetry until I can follow up on whether we're allowed to send these up. Fix some issues with the exec callback - the child_process exec function returns an ExecException object instead of the code directly like the shelljs did so check for that correctly.
* ADS Windows support extension with LaunchSsmsDialog command
* Update readme
* Fix spacing
* Update download with new file location and name
* Update SsmsMin package with bits from latest RC build and addressed some comments.
* Update extension name. Add Context menu extension for launching server properties dialog. Remove params interface from public API
* Rename folder and update README
* Correct README title
* Fix a few issues and clean up some stuff.
* Update to azdata namespace
* Refactor to use async/await and add some more telemetry
* Add .bat for running extension tests (currently only Notebook) and set up launch.json with 2 new launch configs for running & debugging extension tests.
* Rename files to make it clear these aren't the integration tests
* Update launch.config too
* Fix spacing and missed file name update
* Fix some bugs in buildSsmsMinCommandArgs and add unit tests
We don't track installs for our extensions so the "Popular Extensions" category is just a duplicate of the full list. Removing it to reduce clutter until we can add that functionality in. This also removes the command associated with the view.
* 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
* Removing the cms apis from core. Having mssql extension expose them for cms extension
* Propogating the backend name changes to apis
* Fixing some missing sqlops references
* Adding a sqltools service version with CMS apis available
* 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
* Prompt for password once when the sql instance password doesn't work for hdfs. If the user provides the correct password, connect and continue, else show Unauthorized node.
* Removed the hardcoded bad password
* Added check for empty folder scenarios
* Added ErrorStatusCode as property of TreeNode. Checking for the error code instead of the error string to avoid localization issues
* type fixed
* implemented hasExpansionError
* Fix our custom dropdown control to update the tooltip text correctly when a new value is selected. Previous behavior was to always keep the initial text (<Default> for example). Now we'll update it as appropriate (and default back to Placeholder text when we're clearing the value)
* Spaces -> tabs
* Remove extra ;
* Remove tooltips from the text box part of the dropdown
* Remove tooltips from dropdown arrows
* Revert "Remove tooltips from dropdown arrows"
This reverts commit 31a0748aaea42d5009eb9752bd075ce49a6716f5.
Also fixed small issue where messages that didn't have a container would throw an error when trying to call removeClass (since this.element is pulled from the container and thus was undefined.
Tested that the flicker is gone and that messages still show up correctly
* Add .bat for running extension tests (currently only Notebook) and set up launch.json with 2 new launch configs for running & debugging extension tests.
* Rename files to make it clear these aren't the integration tests
* Update launch.config too
* Fix spacing and missed file name update
* adding context
* apply extension changes
* shimming disconnect
* add data explorer context menu and add disconnect to it
* clean up shim code; better handle errors
* remove tpromise
* simplify code
* add node context on data explorer
* formatting
* add new Query action
* fix various errors with how the context menus work
* add manage and new query
* add refresh command
* formatting
* FIX#4513 Notebook stuck at changing kernel
- Intra-provider kernel change didn't happen because we only tried changing kernel on new session creation.
- Inverted the logic (e.g. did the right thing) and renamed the method so it's clearer what we're doing & what the boolean value should be
- Manually tested all the known scenarios
* Fix#4505 Notebooks: New Notebook will not work if existing untitled notebooks are rehydrated
* Also fixes#4508
* Unify behavior across New Notebook entry points
- Use Notebook-{n} as the standard in both entry points
- Use SQL as default provider in both
- Ensure both check for other names and only use free number
* Fix#4029 Ensure changeKernels always resolves, even in error states
This is necessary to unblock reverting the kernel on canceling Python install
- startSession now correctly sets up kernel information, since a kernel is loaded there.
- Remove call to change kernel on session initialize. This isn't needed due to refactor
- Handle kernel change failure by attempting to fall back to old kernel
- ExtensionHost $startNewSession now ensures errors are sent across the wire.
- Update AttachTo and Kernel dropdowns so they handle kernel being available. This is needed since other changes mean the session is likely ready before these get going
* Fix to handle python cancel and load existing scenarios
- Made changes to handle failure flow when Python dialog is canceled
- Made changes to handle initial load fail. Kernel and Attach To dropdowns show No Kernel / None and you can choose a kernel
- Added error wrapping in ext host so that string errors make it across and aren't lost.
* Fix#4452 Notebook is reloaded with wrong kernel
- Await all extension registration before getting providers and providerId
To do this, we need to await way up in the NotebookInput, and promise the model that we'll have values eventually
* change shutdown to use proper notification
* change to use storage service
* remove unused imports
* fix test
* change shutdown methods to private
* remove unusde imports
* fix tests
* formatting
* 2 fixes :
1. Fix it so that edits made to a table with a single column will correctly create a new row when done editing. This is done by caching whether the cell is dirty in on the onCellEditEnd callback and then when onCellSelect is called to switch cells we only return early if the cell isn't dirty. Before we were returning early and thus not going into any of the code that creates the new row (submitCurrentCellChange)
2. Fix it so we don't throw an error when deleting the NULL (new) row. As noted in the code this should really be handled by not displaying the context menu to begin with for that row but that's a bit more involved of a fix so for now I'm at least making it not display an error to the user - it'll just do nothing.
Manual testing for now - I tried to add tests but the core logic and the UI layer are too intertwined so this will likely need to be a full end-to-end UI test. I'll continue working on adding some for this dialog but for now I'd like to at least submit these fixes since they're pretty painful to deal with.
* Undo changes to addRow
* Clean up resetCurrentCell and add comment to setCurrentCell
* Use reset method instead of directly initializing currentCell
* Add issue # to comment
* Bug 3731: Minor issues saving scroll position in results
Fixing the second part i.e. scroll position of results view while switching tabs. The resize call was not respecting the old scrolbar state. Making an explit call to set scroll position to ensure this sets at the end.
- Added to both built-in themes. Long term would be good to contribute this back to Seti so it works without a carbon edit tag.
- Issue #4418 tracks remaining problem where for new notebooks it's not set initially. This is blocked by Raj's work so will update once that lands.
* Modify where we add active connections so that we can use the saveTheConnection option to decide whether to add a connection to the MRU. This was necessary because the old location was called from onConnectionComplete which is sent by the SqlToolsService - and that doesn't get any UI related information like the options. The new location is still only called after the connection completes and will be added only if the connection succeeds.
Added new test and updated existing tests to handle new logic (plus a bit of async-refactoring).
* Fix couple spacing issues
* Add logic back in to short-circuit if we already have the connection in the active connections list.
* Fix spaces -> tabs
* #4339: Kernel change event occurs after model load
* #4347: Code cleanup - Notebooks Save
* Remove save method from sqlops
* Adding save method to api's
* Adding save method to ext host
* Misc change
* Fix#4356 New Notebook from connection doesn't connect
Fix new notebook error by passing profile instead of ID.
- I could've just sent the ID over, but this fix sets the stage for disconnected connections to work (since we have enough info to properly connect).
- There's a bug in NotebookModel blocking the disconnected connection part working, but Yurong's in progress fixes will unblock this. Hence checking in as-is and working to properly unblock once that's in.
* Support connection profile in commandline service
- Added new context API for things that want to work on commandline and object explorer
- Refactored commandlineservice slightly to be async & have a simpler execution flow (far fewer if/else statements)
* Fix unit tests
- Fixed 2 issues raised by tests (sholdn't do new query if no profile passed, shouldn't error on new query failing)
- Updated unit tests to pass as expected given changes to the APIs.
* pulling max bytes of data through the webhdfs api
* Added warning message for the Users to inform the data truncation.
* Updated the warning message on the notification flyer.
* Start single client session based on the default kernel or saved kernel in NB.
* Added kernel displayName to standardKernel.
Modified name to allign wtih Juptyer Kernel.name.
So we can show the displayName during startup and use the name to start the session.
* Change session.OnSessionReady event in KernelDropDown
* Added model.KernelChnaged for switching kernel in the same provider
* Fixed session.Ready sequence
* Fixed merge issues
* Solve merged issue
* Fixed wrong kernel name in saved NB
* Added new event in Model to notify kernel change.
Toolbar depends on ModelReady to load
* Change attachTo to wait for ModelReady like KenelDropDown
* sanitizeSavedKernelInfo to fix invalid kernel and display_name. For example: PySpark1111 and PySpark 1111
* Added _contextsChangingEmitter to change loadContext msg when changing kernel
* Resolve PR comments
The Attach To was showing only localhost for SQL, since we overrode the standard kernels from SQL with the ones from Jupyter.
Fix is to save all standard kernels.
Also, added dispose handling for some events I found during debugging and removed unused imports
Recent changes in the VS Code layout for that viewlet caused the min-height property to affect the display (the property was set on that class before but the layout prevented it from actually being displayed as it was).
I removed the style for the messages class completely since I couldn't find a place that we actually used that ourselves - and anyways having styling on such a common name like messages isn't really a good practice since it applies to everything in ADS.
* engine check when install extension
* gallery install/update and vsix install
* FIX COMMENTS
* Fix the detail not loading issue when version is invalid
* add more comments and adress PR comments
* add install telemetry for install from vsix scenario
* correct the name of the version property for telemetry
* Moved dacfx wizard into separate extension
* updating to use azdata
* one more azdata change
* bump import extension version
* renaming extension to dacpac
* check to see whether options is available
* removing options state and using _modelOptions
* removed additional space
* making options getter private as not intended to expose
* adding context
* apply extension changes
* shimming disconnect
* add data explorer context menu and add disconnect to it
* clean up shim code; better handle errors
* remove tpromise
* simplify code
* add node context on data explorer
* formatting
* fix various errors with how the context menus work
* Added verify OE child nodes tests for sandalone and BDC instance
* msg changes
* Added standalone OE node test
* Resolved PR comments
* Change env name
* Added scripts to set env for integration test
* Fixed#4181 and #4167
The problems are:
- When change Kernel, setProviderIdForKernel switches Kernel first. So when we switch kernel across provider for exmple from PySpark3 to SQL. The Kernel is set SQL already in ClientSession.changeKernel. Then we lost oldKernel info.
The fix is cache the old session in model before switch and use it to get the correct context
- SQL Kenerl could make mulitple connects from "Add new connection". While we didn't track them, those connections didn't close properly when close the notebook
The fix is saving the connections made from "Add new connection" in model. and close them and activeConnection when close notebook
Problem is not solved yet in this PR:
- Didn't shutdown Jupytper when swich kernel from spark kernel to SQL.
* adding context
* apply extension changes
* shimming disconnect
* add data explorer context menu and add disconnect to it
* clean up shim code; better handle errors
* remove tpromise
* simplify code
* 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
* WIP adding scripting support.
* Adding deploy command along with additional env vars needed.
* Adding script generation that sets envars, kube context, and mssqlctl
* Adding test email for docker email envar until we update UI.
* Adding cluster platform detection and disabling generate script after first click.
* Fix spacing and adding comment.
* add bot configs to enable bot features
* update classifier label strings
* initial check in should perform be false to double ensure things are working properly
- Upate vscode-nls to 4.0.0 in notebook extension. Should be fix for Insiders build failure due to localization package failing
- Updated samples to remove as vscode-nls if not needed, or update if still needed
- Updated samples using `npm audit fix`
- Fixed compile errors in all the samples
- Fixes#4129 Overlapping command help windows in notebook
- Do not show parameter hints for inactive cells, to avoid them hanging around when no longer selected
- Fixes#4116 Notebooks: Intellisense Doesn't Work using Add New Connection
- Move connect/disconnect logic to 1 place (code component) instead of 2
- Handle the case where you connect after choosing active cell. We now hook to the event and update connection
- Fix issues in sql session manager where result outputs 0 rows. This was failing to show the empty resultset contents, which is a regression vs. query editor. It also put unhandled error on the debug console
- Fix#3913 Notebook: words selected in other cells should be unselected on cell change
Note: after fix, now looks as follows. Need to do follow up to get correct grid min height

- Jupyter completion item support was awaiting info before responding. Fix is to check if this is even a notebook cell first, then only await stuff if that's true
* 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
* Move to using notebook language by default, with override in cell
* Update cell language on kernel change
* Tweak language logic so that it prefers code mirror mode, then falls back since this was failing some notebooks
* Add new package.json contribution to define language magics. These result in cell language changing. Language is cleared out on removing the language magic
* Added support for executing Python, R and Java in the SQL Kernel to prove this out. It converts to the sp_execute_external_script format
TODO in future PR:
* Need to hook up completion item support for magics (issue #4078)
* Should add indicator at the bottom of a cell when an alternate language has been detected (issue #4079)
* On executing Python, R or Java, should add some output showing the generated code (issue #4080)
* working on formatting
* fixed basic lint errors; starting moving things to their appropriate location
* formatting
* update tslint to match the version of vscode we have
* remove unused code
* work in progress fixing layering
* formatting
* moved connection management service to platform
* formatting
* add missing file
* moving more servies
* formatting
* moving more services
* formatting
* wip
* moving more services
* formatting
* move css file
* add missing svgs
* moved the rest of services
* formatting
* changing around some references
* formatting
* revert tslint
* revert some changes that brake things
* formatting
* fix tests
* fix testzx
* fix tests
* fix tests
* fix compile issue
* Greatly reduce time to generate html table string
* change outer tag to table instead of html
* address PR feedback for more descriptive variable name
* Updated version
* On building found it had build break due to unused imports. Turns out none of the code is used (it's just a package.json + SQL file extension) so removed it all
* Removed all unnecessary node module imports, reducing size from 5.4MB to 86KB. We should probably do this for all extensions
* Update waits_paul_randal.sql
Added the PREEMPTIVE_OS_FLUSHFILEBUFFERS wait to the list to ignore
* Update waits_detail_paul_randal.sql
Add PREEMPTIVE_OS_FLUSHFILEBUFFERS to ignore list.
* Fix error where kernel name was compared to itself. This doesn't break anything right now since we happen to have special handling of Python3, and for other kernels they share the same set of supported providers (which is what the check is used for). However it needs fixing for next release.
* Fix console error due to queryTextEditor trying to access model before it's ready
* Fix issues where notebook model hooked to session events multiple times
* Removed calls that weren't needed such as loadActiveContexts (if undefined, does nothing) and passing connection to initialize method
- Fix#3844
- Fix#3955
- Specs can be null on early load of Jupyter kernels
- Cells were missing in some reference test .ipynb files. We should be resilient to malformed files if possible.
* Fixed#3954
The problem is: connectionProfileId is not passed into New Notebook flow.
The fix is: plumbing connectionProfileId via NotebookInput.
* Resolved PR comments
Fixes#3843. Now includes full fix which limits length and ensures a scrollbar is available
- Set max size for editor. 4000px gets us 200-250 lines before needing a scrollbar.
- Adds layout updating which should also ensure accurage line highlighting to the right of the editor. What's happening is initial size is slightly off, so need to layout a 2nd time (e.g. layout once, let flex figure things out, then layout a 2nd time). This isn't optimal as there's a minor perf hit but it isn't noticeable overall.
To consider in future PRs:
- Add user configurable setting for max length?
- Handle case where we scroll to bottom but scrollbar is at the top.
- Consider how intellisense will work on this. We may need to split into a window around the current code when sending to the kernel as it's quite likely that doing a 12K line intellisense request will be too big.
* Fix#3985 Hide cell toolbar for markdown cells
* Note that I'm still hiding the overall toolbar section per UX feedback
* Also now hiding line numbers per UX feedback..
- This is a recommended update, let me know if you have concerns
- Updated all samples and Azure Data Studio specific extensions with lodash dependency
Fixes#3931
- Align run button correctly so it's centered in new cell
- Refactor to support multi-state button.
- Hidden state is set to show execution count
- Stopped state shows run button
- Running state shows stop button
- Error state (will) show error button. This isn't fully handled right now
- Add execution count to model and to SqlKernel, verify serialization, loading, update matches other notebook viewers
**Notes on implementation**:
I think this is a decent solution for a) showing execution count as text, and b) perfectly centering the run button.
The below solution shows count correctly up to 999 runs (that’s clicking 999 times in a single session), the icon lines up juuust about right with [ ] but for other numbers it is pretty close but probably not exactly right. I wish I could solve this to work better but trying to change text float to center etc. really isn’t working.
**Screenshots**:

With running cell:

* added initial data explorer viewlet
* added dataexplorer contribution point
* removed test view
* remove unused imports
* added flag and tests
* CR comments
* added icon for data explorer
* upgrade plan is piped through and returns the xml plan
* Added review deploy plan page
* checkbox validation now working and columns formatted
* formatting and cleaning up code
* refactored populateTable()
* addressing comments
* addressing comments
* updating tooltips
* add padding to table cells to align with headers
* fix problems when going back and forth between pages and changing config options
* bump sqltoolsservice version to 71
* fix localization
- Handles empty file scenario, with fixes along the way for missing metadata (bonus win)
- In non-empty file still shows error and kernel stuck in loading state. #3964 opened to track this issue and fix later
- Fixed so it's now invisible instead of empty when not selected.
- This fixes clickability and issue where it stayed visible in 1 fix
- Also fixed cell output action which used active cell instead of context cell.
* Spark features are enabled
* Fixed as PR comments
* minor change
* PR comments fixed
* minor fix
* change constant name to avoid conflicts with sqlopsextension
* sqlContext to context
* Changed tab name to SQL Server Big Data Cluster
* Added isCluster to ContextProvider to control display big data cluster dashboard tab
Ported New/open Notebook code to mssql extension and enable them in dashboard
* Fixed tslint
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.
* Added hover support, adding box shadow and light outline on hovering and the "more actions" button showing on hover
* Added box shadow for dark themes (hooray!)
* Remove border from everything but the code cell unless a cell is selected or hovered over. This ensures this looks like a document
* Fix high contrast theming issues.
* 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.
- SQLKernel is the only place to listen for batch and query complete messages now
- It routes to the 1 and only future (since can only have 1 at a time
- It handles query cancelation and not-connected issues correctly
- Editor layout gets called sometimes when other events happen (and Notebook isn't visible)
- Add in a layout call on re-setting input so the cell is updated. This fixes the problem by laying out once the UI is visible again.
Note: long term, should really be destroying the UI (while preserving the model), then restoring it including scroll selection etc. and hooking back up to the model. That is... much more work, but something we'll need long term to avoid issues where we have many Notebooks open at once. Not in scope for this PR
- Toolbar background is now differentiated from the editor
- For unselected cells there's no longer a line selection in the cell. This makes it clearer what the active cell is (and cleans the UI up)
* Added data service context menu: file related operations. All new files are ported from SqlOpsStudio. Will remove these functionality from SqlOpsStudio.
* Used the existing constant hadoopKnoxEndpointName
* Rename nodeType name from hdfs to bdc. So we can have file context menu in both mssql and SqlOpsStudio. Need to add "Create External Table from CSV" support for bdc nodeType
* Rename bdc to mssqlcluster
Fixing an issue where we got a 501 Not Implemented because kernel display name sanitization was not occurring with the _defaultKernel case.
In addition, changed a method name to make it more clear, and removed an erroneous error that would occur every time you opened a notebook without any existing connections. I'm just removing this, as it adds no value.
Fixes#3856. Matches the Jupyter behavior that we have, where we don't show any message when a connection is required. We no longer will throw a bizarre exception about getOptionsKey being undefined.
Also sets max rows returned to 2000.
* First grid support in notebooks
* still trying to get nteract ipynb to display grid correctly
* works opening with existing 'application/vnd.dataresource+json' table
* fixing merge issue due to core folder structure changing a bit
* PR feedback, fix for XSS
- Added `runCell` API. Updated runCell button to listen to events on the model so it'll reflect run cell when called from other sources
- Plumbed through kernelspec info to the extension side so when changed, it's updated
- Fixed bug in ConnectionProfile where it didn't copy from options but instead overrode with empty wrapper functions
Here's the rough test code (it's in the sql-vnext extension and will be out in a separate PR)
```ts
it('Should connect to local notebook server with result 2', async function() {
this.timeout(60000);
let pythonNotebook = Object.assign({}, expectedNotebookContent, { metadata: { kernelspec: { name: "python3", display_name: "Python 3" }}});
let uri = writeNotebookToFile(pythonNotebook);
await ensureJupyterInstalled();
let notebook = await sqlops.nb.showNotebookDocument(uri);
should(notebook.document.cells).have.length(1);
let ran = await notebook.runCell(notebook.document.cells[0]);
should(ran).be.true('Notebook runCell failed');
let cellOutputs = notebook.document.cells[0].contents.outputs;
should(cellOutputs).have.length(1);
let result = (<sqlops.nb.IExecuteResult>cellOutputs[0]).data['text/plain'];
should(result).equal('2');
try {
// TODO support closing the editor. Right now this prompts and there's no override for this. Need to fix in core
// Close the editor using the recommended vscode API
//await vscode.commands.executeCommand('workbench.action.closeActiveEditor');
}
catch (e) {}
});
it('Should connect to remote spark server with result 2', async function() {
this.timeout(240000);
let uri = writeNotebookToFile(expectedNotebookContent);
await ensureJupyterInstalled();
// Given a connection to a server exists
let connectionId = await connectToSparkIntegrationServer();
// When I open a Spark notebook and run the cell
let notebook = await sqlops.nb.showNotebookDocument(uri, {
connectionId: connectionId
});
should(notebook.document.cells).have.length(1);
let ran = await notebook.runCell(notebook.document.cells[0]);
should(ran).be.true('Notebook runCell failed');
// Then I expect to get the output result of 1+1, executed remotely against the Spark endpoint
let cellOutputs = notebook.document.cells[0].contents.outputs;
should(cellOutputs).have.length(4);
let sparkResult = (<sqlops.nb.IStreamResult>cellOutputs[3]).text;
should(sparkResult).equal('2');
try {
// TODO support closing the editor. Right now this prompts and there's no override for this. Need to fix in core
// Close the editor using the recommended vscode API
//await vscode.commands.executeCommand('workbench.action.closeActiveEditor');
}
catch (e) {}
});
});
```
* 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 generate script option to deploy scenario
* add action to summary page and fixed page adding/removing so that summary page will have the correct step number
* updating contract based on change in sqltoolsservice
* added enums to make index checks more clear
* cleaned up onPageChanged()
* bump sqltoolsservice version to 68
* Integrate first SQL Notebooks Bits into Master (#3679)
* First crack tsql notebook (no output rendered yet)
* getting messages back
* intellisense working first cell, no connection errors
* sql notebook cell output functioning
* Latest SQL noteobook changes
* Undo change to launch.json
* Plumbing providers through
* Kernels shown from multiple providers, can switch between them. No mementos yet
* Ensure we have a feature flag for SQL notebooks, ensure existing functionality still works
* Fix tslint duplicate imports issue
* Addressing PR comments
* second round of PR feedback to cleanup notebook service manager code
* merge latest from master
* Enable notebook toolbar actions to disable themselves on provider change
* Undo changes to taskbar/actionbar
* very minor change due to latest merge
* Scenarios work besides loading saved kernel
* Fix compilation issue
* Save and load functional
* Fix loading kernesl issue when sql kernel is not enabled
* Fix language mapping to not be hardcoded any longer
* Remove unnecessary comment
* PR Comments vol. 1
* Code cleanup, use ConnectionProfile instead of IConnectionProfile when accessing serverName
* PR changes vol. 2
* One final comment for PR
* Fix linting issue
* working on formatting
* fixed basic lint errors; starting moving things to their appropriate location
* formatting
* update tslint to match the version of vscode we have
* remove unused code
* work in progress fixing layering
* formatting
* moved connection management service to platform
* formatting
* add missing file
* moving more servies
* formatting
* moving more services
* formatting
* wip
* moving more services
* formatting
* revert back tslint rules
* move css file
* add missing svgs
* copy all messages when selecting all
* added functionality for keyboard shortcuts
* fixed bug when select all then selection made
* made output similar to debug console
* fixed scrollbar in jobs
* show steps tree when job history is opened
* cleaned and added edit job to job history
* scrollbars on step details
* steps scrolling done
* fixed styling
* fixed keyboard selection, navigation and UI
* fixed tabbing accessibility
* added refresh action to job history
* fixed focus on move step
* added remove schedule button
* fixed various bugs
* added errors for all actions
* review 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
* working on options dialog
* working through options dialog
* trying to work through modifying options dialog
* working on converting scrollablesplitview
* fixed options working through profiler
* fix profiler
* fix account dialog
* trying to fix problems with splitpanel
* fix insights dialog
* moving through
* fix last list, need to verify looks and functionality
* fix look of account dialog
* formatting
* formatting
* working through scrollable bugs
* working on problem with view size
* fix margin issues
* fix styler for dialogs
* add panel styles to insights
* create instantiation issues
* fix test
* fix test
* remove unused code
* formatting
* working through insight dialog issues
* fix table updating
* remove console logs
* Placeholder cell to add new real cells
* Fix links in notebooks to show correct color, rely on angular ngif for placeholder
* Fix failing test where one cell was expected by default
* Remove unnecessary TODO
comment:"Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for existing issues [here](https://aka.ms/vscodeissuesearch). See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
closeComment:"This issue has been closed automatically because it needs more information and has not had recent activity in the last 7 days. If you have more info to help resolve the issue, leave a comment"
* Release of [SentryOne Plan Explorer Extension](https://www.sentryone.com/products/sentryone-plan-explorer-extension-azure-data-studio)
* **Schema Compare**
* Schema Compare File Support (.SCMP)
* Cancel support
* [Other fixes and improvements](https://github.com/Microsoft/azuredatastudio/issues?q=is%3Aissue+milestone%3A%22July+2019+Release%22+is%3Aclosed+label%3A%22Area%3A+Schema+Compare%22)
* **Notebooks**
* Plotly Support
* Open Notebook from Browser
* Python Package Management
* Performance & Markdown Enhancements
* Improved Keyboard Shortcuts
* [Other fixes and improvements](https://github.com/Microsoft/azuredatastudio/issues?q=is%3Aissue+milestone%3A%22July+2019+Release%22+is%3Aclosed+label%3A%22Area%3A+Notebooks%22)
* **SQL Server Profiler**
* Filtering by Database Name
* Copy & Paste Support
* Save/Load Filter
* SQL Server 2019 Support
* New Language Packs Available
* Visual Studio Code May Release Merge 1.35 - the latest improvements can be found [here](https://code.visualstudio.com/updates/v1_35)
* Resolved [bugs and issues](https://github.com/microsoft/azuredatastudio/milestone/35?closed=1).
## Version 1.8.0
* Release date: June 6, 2019
* Release status: General Availability
## What's new in this version
* Initial release of the Database Admin Tool Extensions for Windows *Preview* extension
* Initial release of the Central Management Servers extension
* **Schema Compare**
* Added Exclude/Include Options
* Generate Script opens script after being generated
* Removed double scroll bars
* Formatting and layout improvements
* Complete changes can be found [here](https://github.com/microsoft/azuredatastudio/issues?q=is%3Aissue+milestone%3A%22June+2019+Release%22+label%3A%22Area%3A+Schema+Compare%22+is%3Aclosed)
* Messages panel moved into results panel - when users ran SQL queries, results and messages were in stacked panels. Now they are in separate tabs in a single panel similar to SSMS.
* **Notebook**
* Users can now choose to use their own Python 3 or Anaconda installs in notebooks
* Multiple Stability + fit/finish fixes
* View the full list of improvements and fixes [here](https://github.com/microsoft/azuredatastudio/issues?q=is%3Aissue+milestone%3A%22June+2019+Release%22+is%3Aclosed+label%3A%22Area%3A+Notebooks%22)
* Visual Studio Code May Release Merge 1.34 - the latest improvements can be found [here](https://code.visualstudio.com/updates/v1_34)
* Resolved [bugs and issues](https://github.com/microsoft/azuredatastudio/milestone/32?closed=1).
## Version 1.7.0
* Release date: May 8, 2019
* Release status: General Availability
## What's new in this version
* Announcing Schema Compare *Preview* extension
* Tasks Panel UX improvement
* Announcing new Welcome page
* Resolved [bugs and issues](https://github.com/microsoft/azuredatastudio/milestone/31?closed=1).
## Contributions and "thank you"
We would like to thank all our users who raised issues.
## Version 1.6.0
* Release date: April 18, 2019
* Release status: General Availability
## What's new in this version
* Align with latest VS Code editor platform (currently 1.33.1)
* Resolved [bugs and issues](https://github.com/Microsoft/azuredatastudio/milestone/26?closed=1).
## Contributions and "thank you"
We would like to thank all our users who raised issues, and in particular the following users who helped contribute fixes:
* yamatoya for `fix the format (#4899)`
## Version 1.5.1
* Release date: March 18, 2019
* Release status: General Availability
## What's new in this version
* Announcing T-SQL Notebooks
* Announcing PostgreSQL extension
* Announcing SQL Server Dacpac extension
* Resolved [bugs and issues](https://github.com/Microsoft/azuredatastudio/milestone/25?closed=1).
## Contributions and "thank you"
We would like to thank all our users who raised issues, and in particular the following users who helped contribute fixes:
* GeoffYoung for `Fix sqlDropColumn description #4422`
## Version 1.4.5
* Release date: February 13, 2019
* Release status: General Availability
## What's new in this version
* Added **Admin pack for SQL Server** extension pack to make it easier to install SQL Server admin-related extensions. This includes:
* [SQL Server Agent](https://docs.microsoft.com/en-us/sql/azure-data-studio/sql-server-agent-extension?view=sql-server-2017)
* [SQL Server Profiler](https://docs.microsoft.com/en-us/sql/azure-data-studio/sql-server-profiler-extension?view=sql-server-2017)
* [SQL Server Import](https://docs.microsoft.com/en-us/sql/azure-data-studio/sql-server-import-extension?view=sql-server-2017)
* Added filtering extended event support in Profiler extension
* Added Save as XML feature that can save T-SQL results as XML
* Added Data-Tier Application Wizard improvements
* Added Generate script button
* Added view to give warnings of possible data loss during deployment
* Updates to the [SQL Server 2019 Preview extension](https://docs.microsoft.com/sql/azure-data-studio/sql-server-2019-extension?view=sql-server-ver15)
* Results streaming enabled by default for long running queries
* Resolved [bugs and issues](https://github.com/Microsoft/azuredatastudio/milestone/23?closed=1).
## Contributions and "thank you"
We would like to thank all our users who raised issues, and in particular the following users who helped contribute fixes:
* AlexFsmn for `Added context menu for DBs in explorer view to backup & restore db. #2277`
* sadedil for `Missing feature request: Save as XML #3729`
* gbritton1 for `Removed reference to object explorer #3463`
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
@@ -18,11 +18,15 @@ File a single issue per problem and feature request.
* Do not enumerate multiple bugs or feature requests in the same issue.
* Do not add your issue as a comment to an existing issue unless it's for the identical input. Many issues look similar, but have different causes.
The more information you can provide, the more likely someone will be successful reproducing the issue and finding a fix.
The more information you can provide, the more likely someone will be successful at reproducing the issue and finding a fix.
The built-in tool for reporting an issue, which you can access by using `Report Issue` in Azure Data Studio's Help menu, can help streamline this process by automatically providing the version of Azure Data Studio, all your installed extensions, and your system info.
Please include the following with each issue.
* Version of Azure Data Studio (formerly SQL Operations Studio).
* Version of Azure Data Studio (formerly SQL Operations Studio)
* Your operating system
> **Tip:** You can easily create an issue using `Report Issues` from Azure Data Studio Help menu.
@@ -64,10 +71,9 @@ expressly granted herein, whether by implication, estoppel or otherwise.
yauzl: https://github.com/thejoshwolfe/yauzl
zone.js: https://www.npmjs.com/package/zone
Microsoft PROSE SDK: https://microsoft.github.io/prose
%% angular NOTICES AND INFORMATION BEGIN HERE
=========================================
The MIT License
Copyright (c) 2014-2017 Google, Inc. http://angular.io
@@ -293,6 +299,20 @@ THE SOFTWARE.
=========================================
END OF core-js NOTICES AND INFORMATION
%% decompress NOTICES AND INFORMATION BEGIN HERE
=========================================
MIT License
Copyright (c) Kevin Mårtensson <kevinmartensson@gmail.com> (github.com/kevva)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
=========================================
END OF decompress NOTICES AND INFORMATION
%% emmet NOTICES AND INFORMATION BEGIN HERE
=========================================
The MIT License (MIT)
@@ -322,32 +342,6 @@ END OF emmet NOTICES AND INFORMATION
=========================================
The MIT License (MIT)
Copyright (c) 2015 JD Ballard
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
=========================================
END OF error-ex NOTICES AND INFORMATION
%% escape-string-regexp NOTICES AND INFORMATION BEGIN HERE
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
=========================================
END OF figures NOTICES AND INFORMATION
%% fs-extra NOTICES AND INFORMATION BEGIN HERE
=========================================
(The MIT License)
@@ -1335,6 +1343,32 @@ SOFTWARE.
=========================================
END OF ng2-charts NOTICES AND INFORMATION
%% node-fetch NOTICES AND INFORMATION BEGIN HERE
=========================================
The MIT License (MIT)
Copyright (c) 2016 David Frank
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
=========================================
END OF node-fetch NOTICES AND INFORMATION
%% node-pty NOTICES AND INFORMATION BEGIN HERE
=========================================
Copyright (c) 2012-2015, Christopher Jeffrey (https://github.com/chjj/)
@@ -1385,16 +1419,6 @@ SOFTWARE.
=========================================
END OF nsfw NOTICES AND INFORMATION
%% pretty-data NOTICES AND INFORMATION BEGIN HERE
=========================================
License: Dual licensed under the MIT and GPL licenses:
@@ -1409,6 +1433,30 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
=========================================
END OF primeng NOTICES AND INFORMATION
%% process-nextick-args NOTICES AND INFORMATION BEGIN HERE
=========================================
# Copyright (c) 2015 Calvin Metcalf
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
**THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.**
=========================================
END OF process-nextick-args NOTICES AND INFORMATION
%% pty.js NOTICES AND INFORMATION BEGIN HERE
=========================================
Copyright (c) 2012-2015, Christopher Jeffrey (https://github.com/chjj/)
@@ -1493,6 +1541,66 @@ END OF TERMS AND CONDITIONS
=========================================
END OF reflect-metadata NOTICES AND INFORMATION
%% request NOTICES AND INFORMATION BEGIN HERE
=========================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
You must give any other recipients of the Work or Derivative Works a copy of this License; and
You must cause any modified files to carry prominent notices stating that You changed the files; and
You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
=========================================
END OF request NOTICES AND INFORMATION
%% rxjs NOTICES AND INFORMATION BEGIN HERE
=========================================
Apache License
@@ -1818,6 +1926,20 @@ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEAL
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
=========================================
END OF temp-write NOTICES AND INFORMATION
%% underscore NOTICES AND INFORMATION BEGIN HERE
=========================================
Copyright (c) 2009-2017 Jeremy Ashkenas, DocumentCloud and Investigative
@@ -1920,6 +2042,50 @@ OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWA
=========================================
END OF vscode-debugprotocol NOTICES AND INFORMATION
%% vscode-languageclient NOTICES AND INFORMATION BEGIN HERE
=========================================
Copyright (c) Microsoft Corporation
All rights reserved.
MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
=========================================
END OF vscode-languageclient NOTICES AND INFORMATION
%% vscode-nls NOTICES AND INFORMATION BEGIN HERE
=========================================
The MIT License (MIT)
Copyright (c) Microsoft Corporation
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
=========================================
END OF vscode-nls NOTICES AND INFORMATION
%% vscode-ripgrep NOTICES AND INFORMATION BEGIN HERE
=========================================
vscode-ripgrep
@@ -2079,3 +2245,187 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
=========================================
END OF zone.js NOTICES AND INFORMATION
%% Microsoft.ProgramSynthesis.Common NOTICES AND INFORMATION BEGIN HERE
=========================================
NOTICES AND INFORMATION
Do Not Translate or Localize
This software incorporates material from third parties. Microsoft makes certain
open source code available at http://3rdpartysource.microsoft.com, or you may
send a check or money order for US $5.00, including the product name, the open
source component name, and version number, to:
Source Code Compliance Team
Microsoft Corporation
One Microsoft Way
Redmond, WA 98052
USA
Notwithstanding any other terms, you may reverse engineer this software to the
extent required to debug changes to any libraries licensed under the GNU Lesser
General Public License.
-------------------------------START OF THIRD-PARTY NOTICES-------------------------------------------
===================================CoreFx (BEGIN)
The MIT License (MIT)
Copyright (c) .NET Foundation and Contributors
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
constisReleased=(quality==='insider'&&/^master$|^refs\/heads\/master$/.test(sourceBranch)&&/Project Collection Service Accounts|Microsoft.VisualStudio.Services.TFS/.test(queuedBy));
util.log(util.colors.red(`Error: Built-in extension '${extension.name}' is configured to run from '${controlState}' but there is no 'package.json' file in that directory.`));
fancyLog(ansiColors.red(`Error: Built-in extension '${extension.name}' is configured to run from '${controlState}' but there is no 'package.json' file in that directory.`));
@@ -93,8 +96,8 @@ function writeControlFile(control) {
}
functionmain(){
util.log('Syncronizing built-in extensions...');
util.log(`You can manage built-in extensions with the ${util.colors.cyan('--builtin')} flag`);
fancyLog('Syncronizing built-in extensions...');
fancyLog(`You can manage built-in extensions with the ${ansiColors.cyan('--builtin')} flag`);
constcontrol=readControlFile();
conststreams=[];
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.