* Start rerouting VSCode cell execution APIs. * Add more conversion code. * Convert VSCode notebook registrations into ADS equivalents. * Update vscode notebook provider kernels when notebook controller's supportedLanguages are set. * Update an error message. * Add another session argument. * Add base classes for converting notebook serializers. * Disable some vscode notebook methods. * Disable more vscode APIs. * Disable more stuff. * Start implementing serializer notebook data conversions. * Use direct references to extension host notebook methods, rather than azdata ones. * Add a comment. * Remove a space. * Use import type to fix module loading errors. * Use internal cancellation token class. * Start adding cell output conversion. * Convert data from byte array to a string. * More output work. * Use a Set for proxy filtering. * Start adding tests. * Include metadata in cell conversion. Fix other test failures. * Fix serialize tests. * Add more tests. * Remove wildcard characters from vscode filenames. * Start implementing session details. * Add more kernel info. * Add kernel spec. * Add Future callback wrapper class. * Start implementing execute conversion. * Pass notebook URI to requestExecute. * Start working on CellExecution methods. * Move some code around to fix layering issues. * Use proxy to access browser code, rather than direct imports. * Move files around to fix layering issues. * Remove unused imports. * Start implementing some notebook cell execution behaviors. * Revert some unnecessary extHost API changes. * Check for nbformat. * Also handle nbformat in serialize case. * Active notebook extensions when resolving NotebookInput. * Fix nbformat handling. * Disable VSCode notebooks code. * Filter out notebook services from registration assertion. * Wait for providers to load before calling canResolve. * Use controller's viewType for notebook provider ID, instead of controller ID. * Start adding extHostNotebook tests for new APIs. * Re-order proxy calls. * Remove commented code. * Move vscode provider files to browser folder. Fix RPC serialization issues by using readonly field instead of getter for providerId. * Add a comment. * Remove unnecessary dispose call. * Handle disposable from registerExecuteProvider. * Remove a comment. * Remove unnecessary provider fields. * Remove reference to notebook service to fix circular reference issue in stringify. * Add object types for methods in ADSNotebookController. * Wait for controller languages to be ready before marking session manager as ready. * Add correct promise. * Add undefined return type for optional supportedLanguages property. * Refine promise logic. * Move vscode functionality back to ExtHostNotebook, since the NotebookService can't be passed back over RPC (some kind of circular reference error). * Fix remaining issues from last commit. * Replace "not implemented" methods with placeholder return types in order to enable testing. * Also wait for execution handler to be set before marking session manager as ready. * Fix usage of NotebookRegistry when updating provider description languages. * Refine file extension conversion. * Fix file extension conversion to match ADS extension behavior. * Emit new provider registration event when adding supported languages. * Remove checks for duplicate file providers and kernels. * Fix a test failure. * Fix file extension parsing. * Use default executeManager if one isn't defined for provider in notebookModel. * Add descriptors for waiting on standardKernels registration. * Increase timeout * Add an error message. * Start working on retrieving default kernel from registered providers, rather than always falling back to SQL. * Revert "Start working on retrieving default kernel from registered providers, rather than always falling back to SQL." This reverts commit 1916ea1ce3a0072f51bec683116dc7bb6c7aefdc. * Emit activation events after provider registration. * Wait on standard kernels availability when getting an execute provider. * Throw an error if session manager isn't ready yet. * Actually resolve language promise correctly. * Add some checks for undefined notebook data objects. * Create kernel spec data correctly. * Add extension changes for local testing only. * Clean up test class. * Add a reminder comment. * Undo commented out notebook stuff * Temporarily hard code default kernel. * Retrieve default kernel in notebookModel if it's not already provided. * Revert an import change. * Remove unnecessary method from extHostNotebook. * Move an interface around. * wip * Check for proposed API for some VSCode extHost methods. * Remove a comment. * Fix notebookUtils tests. * Fix notebookModel tests. * Fix notebookFindModel tests. * Fix notebookViewsExtension tests. * Fix remaining notebookView tests. * Refactor output conversion functionality into separate methods. * Update some unit tests for output conversion. * Move a method. * Rename conversion methods to fit acronym styling. * Add another conversion test case. * Revert local testing changes. * Remove old method. * cleanup * Remove some comments. * Move localized string to locConstants. * Add a space to loc string. * Add comments to new SQL Carbon Edit tags. * Create constants for nbformat and nbformat_minor. * Move some vscode-only fields to proposed APIs. * Check for valid state * Properly null check * Adding logging for provider wait timeouts. * wip update * Fix compile * Switch to cell edits * Update docs * Remove custom output type * cleanup * fix * cleanup * more cleanup * Fixes * Fix tests and lint errors Co-authored-by: Cory Rivera <corivera@microsoft.com>
Azure Data Studio
Azure Data Studio is a data management tool that enables you to work with SQL Server, Azure SQL DB and SQL DW from Windows, macOS and Linux.
Download the latest Azure Data Studio release
| Platform |
|---|
| Windows User Installer |
| Windows System Installer |
| Windows ZIP |
| macOS ZIP |
| Linux TAR.GZ |
| Linux RPM |
| Linux DEB |
Go to our download page for more specific instructions.
Try out the latest insiders build from main:
- Windows User Installer - Insiders build
- Windows System Installer - Insiders build
- Windows ZIP - Insiders build
- macOS ZIP - Insiders build
- Linux TAR.GZ - Insiders build
See the change log for additional details of what's in this release. Go to our download page for more specific instructions.
Feature Highlights
- Cross-Platform DB management for Windows, macOS and Linux with simple XCopy deployment
- SQL Server Connection Management with Connection Dialog, Server Groups, Azure Integration and Registered Servers
- Object Explorer supporting schema browsing and contextual command execution
- T-SQL Query Editor with advanced coding features such as autosuggestions, error diagnostics, tooltips, formatting and peek definition
- Query Results Viewer with advanced data grid supporting large result sets, export to JSON\CSV\Excel, query plan and charting
- Management Dashboard supporting customizable widgets with drill-through actionable insights
- Visual Data Editor that enables direct row insertion, update and deletion into tables
- Backup and Restore dialogs that enables advanced customization and remote filesystem browsing, configured tasks can be executed or scripted
- Task History window to view current task execution status, completion results with error messages and task T-SQL scripting
- Scripting support to generate CREATE, SELECT, ALTER and DROP statements for database objects
- Workspaces with full Git integration and Find In Files support to managing T-SQL script libraries
- Modern light-weight shell with theming, user settings, full-screen support, integrated terminal and numerous other features
Here are some of these features in action.
Contributing
If you are interested in fixing issues and contributing directly to the code base, please see the document How to Contribute, which covers the following:
- How to build and run from source
- The development workflow, including debugging and running tests
- Submitting pull requests
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Localization
Azure Data Studio is localized into 10 languages: French, Italian, German, Spanish, Simplified Chinese, Traditional Chinese, Japanese, Korean, Russian, and Portuguese (Brazil). The language packs are available in the Extension Manager marketplace. Simply, search for the specific language using the extension marketplace and install. Once you install the selected language, Azure Data Studio will prompt you to restart with the new language.
Privacy Statement
The Microsoft Enterprise and Developer Privacy Statement describes the privacy statement of this software.
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:
- eulercamposbarros for
Prevent connections from moving on click (#7528) - AlexFsmn for
Fixed issue where task icons got hidden if text was too long - jamesrod817 for
Tempdb (#7022) - dzsquared for
fix(snippets): ads parenthesis to sqlcreateindex snippet #7020 - devmattrick for
Update row count as updates are received #6642 - mottykohn for
In Message panel onclick scroll to line #6417 - Stevoni for
Corrected Keyboard Shortcut Execution Issue #5480 - yamatoya for
fix the format #4899 - GeoffYoung for
Fix sqlDropColumn description #4422 - 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 - Tarig0 for
Add Routine_Type to CreateStoredProc fixes #3257 (#3286) - oltruong for
typo fix #3025' - Thomas-S-B for
Removed unnecessary IErrorDetectionStrategy #749 - Thomas-S-B for
Simplified code #750 - rdaniels6813 for
Add query plan theme support #3031 - Ruturaj123 for
Fixed some typos and grammatical errors #3027 - PromoFaux for
Use emoji shortcodes in CONTRIBUTING.md instead of <20> #3009 - ckaczor for
Fix: DATETIMEOFFSET data types should be ISO formatted #714 - hi-im-T0dd for
Fixed sync issue with my forked master so this commit is correct #2948 - hi-im-T0dd for
Fixed when right clicking and selecting Manage-correct name displays #2794 - philoushka for
center the icon #2760 - anthonypants for
Typo #2775 - kstolte for
Fix Invalid Configuration in Launch.json #2789 - kstolte for
Fixing a reference to SQL Ops Studio #2788 - AlexFsmn
Feature: Ability to add connection name #2332 - AlexFsmn
Disabled connection name input when connecting to a server. #2566 - SebastianPfliegel
Added more saveAsCsv options #2099 - ianychoi
Fixes a typo: Mimunum -> Minimum #1994 - AlexFsmn
Fixed bug where proper file extension wasn't appended to the filename. #2151 - AlexFsmn
Added functionality for adding any file to import wizard #2329 - AlexFsmn
Fixed background issue when copying a chart to clipboard #2215 - AlexFsmn
Fixed problem where vertical charts didn't display labels correctly. #2263 - AlexFsmn
Fixed Initial values for charts to match visuals #2266 - AlexFsmn
Renamed chart option labels #2264 - AlexFsmn
Added feature for the opening file after exporting to CSV/XLS/JSON & query files #2216 - AlexFsmm
Get Connection String should copy to clipboard #2175 - lanceklinger
Fix for double-clicking column handle in results table #1504 - westerncj for
Removed duplicate contribution from README.md (#753) - ntovas for
Fix for duplicate extensions shown in "Save File" dialog. (#779) - SebastianPfliegel for
Add cursor snippet (#475) - mikaoelitiana for the fix:
revert README and CONTRIBUTING after last VSCode merge (#574) - alextercete for
Reinstate menu item to install from VSIX (#682) - alextercete for
Fix "No extension gallery service configured" error (#427) - mwiedemeyer for
Fix #58: Default sort order for DB size widget (#111) - AlexTroshkin for
Show disconnect in context menu only when connectionProfile connected (#150) - AlexTroshkin for
Fix #138: Invalid syntax color highlighting (identity not highlighting) (#140)) - stebet for
Fix #153: Fixing sql snippets that failed on a DB with a case-sensitive collation. (#152) - SebastianPfliegel
Remove sqlExtensionHelp (#312) - olljanat for
Implemented npm version check (#314) - Adam Machanic for helping with the
whoisactiveextension
And of course, we'd like to thank the authors of all upstream dependencies. Please see a full list in the ThirdPartyNotices.txt
License
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Source EULA.