Skip to content

Commit 3352770

Browse files
authored
Adding Connection Groups (#19536) (#19561)
* loading OE from config * checkpoint - updating nodes in OE broken * checkpoint - fixing string * Dialog launching * Initial UI * core UI * re-merging group manager into connection config * some cleanup * connDialog checkpoint * Integration into connection dialog * loc * Pre-cursor * Tree reveal fixed, children expand state not preserved * cleanup * ...working? * Adding color support for folder icon * light theme support for icon * Refresh folder structure when editing group config * adding color picker * adding entrypoints to connection group tree items * Adding description tooltip and keyboard handling * adding drag/drop * cleaning up onConnectionChange logic * PR cleanup * Fixing existing tests * updated yarn lock * cleanup * Loc * adding tests * PR feedback * adding additonal telemetry * handling nested group removals
1 parent 61ef8bf commit 3352770

39 files changed

+2734
-939
lines changed

gulpfile.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,7 @@ async function generateReactWebviewsBundle() {
185185
entryPoints: {
186186
'addFirewallRule': 'src/reactviews/pages/AddFirewallRule/index.tsx',
187187
'connectionDialog': 'src/reactviews/pages/ConnectionDialog/index.tsx',
188+
'connectionGroup': 'src/reactviews/pages/ConnectionGroup/index.tsx',
188189
'containerDeployment': 'src/reactviews/pages/ContainerDeployment/index.tsx',
189190
'executionPlan': 'src/reactviews/pages/ExecutionPlan/index.tsx',
190191
'tableDesigner': 'src/reactviews/pages/TableDesigner/index.tsx',

localization/l10n/bundle.l10n.json

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@
112112
},
113113
"Close Find": "Close Find",
114114
"Load": "Load",
115+
"Select": "Select",
115116
"Finish": "Finish",
116117
"Retry": "Retry",
117118
"Error": "Error",
@@ -627,6 +628,21 @@
627628
]
628629
},
629630
"Processing include or exclude all differences operation.": "Processing include or exclude all differences operation.",
631+
"Create New Connection Group": "Create New Connection Group",
632+
"Edit Connection Group: {0}/{0} is the name of the connection group being edited": {
633+
"message": "Edit Connection Group: {0}",
634+
"comment": [
635+
"{0} is the name of the connection group being edited"
636+
]
637+
},
638+
"Enter connection group name": "Enter connection group name",
639+
"Enter description (optional)": "Enter description (optional)",
640+
"Color": "Color",
641+
"Choose color": "Choose color",
642+
"Save Connection Group": "Save Connection Group",
643+
"Hue": "Hue",
644+
"Saturation": "Saturation",
645+
"Brightness": "Brightness",
630646
"Loading deployment page...": "Loading deployment page...",
631647
"Local SQL Server database container": "Local SQL Server database container",
632648
"Instant Container Setup": "Instant Container Setup",
@@ -1074,7 +1090,7 @@
10741090
"Enable Experiences & Reload": "Enable Experiences & Reload",
10751091
"Error loading; refresh to try again": "Error loading; refresh to try again",
10761092
"No items": "No items",
1077-
"We couldnt connect using the current connection information. Would you like to retry the connection or edit the connection profile?": "We couldnt connect using the current connection information. Would you like to retry the connection or edit the connection profile?",
1093+
"We couldn't connect using the current connection information. Would you like to retry the connection or edit the connection profile?": "We couldn't connect using the current connection information. Would you like to retry the connection or edit the connection profile?",
10781094
"Edit Connection Profile": "Edit Connection Profile",
10791095
"Connecting...": "Connecting...",
10801096
"Are you sure you want to remove {0}?/{0} is the node label": {
@@ -1090,12 +1106,17 @@
10901106
"{0} is the script type"
10911107
]
10921108
},
1093-
"Select": "Select",
10941109
"Insert": "Insert",
10951110
"Update": "Update",
10961111
"Execute": "Execute",
10971112
"Alter": "Alter",
10981113
"Signing in to Azure...": "Signing in to Azure...",
1114+
"Are you sure you want to delete {0}? This will also delete all connections in this group./{0} is the group name": {
1115+
"message": "Are you sure you want to delete {0}? This will also delete all connections in this group.",
1116+
"comment": [
1117+
"{0} is the group name"
1118+
]
1119+
},
10991120
"Connection Dialog": "Connection Dialog",
11001121
"Azure Account": "Azure Account",
11011122
"Azure Account is required": "Azure Account is required",
@@ -1104,11 +1125,14 @@
11041125
"Tenant ID": "Tenant ID",
11051126
"Select a tenant": "Select a tenant",
11061127
"Tenant ID is required": "Tenant ID is required",
1128+
"Connection Group": "Connection Group",
11071129
"Server is required": "Server is required",
11081130
"User name is required": "User name is required",
11091131
"Connection string is required": "Connection string is required",
11101132
"Sign in": "Sign in",
11111133
"Additional parameters": "Additional parameters",
1134+
"<Default>": "<Default>",
1135+
"Create Connection Group": "Create Connection Group",
11121136
"Error loading Azure databases for subscription {0} ({1}). Confirm that you have permission./{0} is the subscription name{1} is the subscription id": {
11131137
"message": "Error loading Azure databases for subscription {0} ({1}). Confirm that you have permission.",
11141138
"comment": [
@@ -1422,6 +1446,12 @@
14221446
},
14231447
"An unknown error occurred. Please try again.": "An unknown error occurred. Please try again.",
14241448
"$(plug) Connect to MSSQL": "$(plug) Connect to MSSQL",
1449+
"Edit Connection Group - {0}/{0} is the connection group name": {
1450+
"message": "Edit Connection Group - {0}",
1451+
"comment": [
1452+
"{0} is the connection group name"
1453+
]
1454+
},
14251455
"Azure sign in failed.": "Azure sign in failed.",
14261456
"Select subscriptions": "Select subscriptions",
14271457
"Error loading Azure subscriptions.": "Error loading Azure subscriptions.",

localization/xliff/vscode-mssql.xlf

Lines changed: 59 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
<trans-unit id="++CODE++18b63db64aa0aff55a9f4784ad62abdc2b70cedb95b5e89d5551996cc9bd25ac">
88
<source xml:lang="en">$(plug) Connect to MSSQL</source>
99
</trans-unit>
10+
<trans-unit id="++CODE++b52e3b22bc74f576e4eb67d09ab37f79383db3c62b03686731fe777b42e5f0e6">
11+
<source xml:lang="en">&lt;Default&gt;</source>
12+
</trans-unit>
1013
<trans-unit id="++CODE++0d7668d337e375d8ccfc1a69ca8f6e22a0b0c850a78c4770b0c4aa3b0daca630">
1114
<source xml:lang="en">&lt;default&gt;</source>
1215
</trans-unit>
@@ -146,6 +149,10 @@
146149
<trans-unit id="++CODE++dc1158b4986e0eadcc929a35b9de0147ca4e8e317ec963db232cb2516688ed79">
147150
<source xml:lang="en">Are you sure you want to delete the selected items?</source>
148151
</trans-unit>
152+
<trans-unit id="++CODE++06f1783b8fa5a8be694c26e8cea5b2bd668dd7beb434d1271155bae4e7f4a736">
153+
<source xml:lang="en">Are you sure you want to delete {0}? This will also delete all connections in this group.</source>
154+
<note>{0} is the group name</note>
155+
</trans-unit>
149156
<trans-unit id="++CODE++3d283f80f43f1833dcab882ad9efc24a86c0b17b0febb10fc37336590a7016e1">
150157
<source xml:lang="en">Are you sure you want to disconnect?</source>
151158
</trans-unit>
@@ -243,6 +250,9 @@
243250
<trans-unit id="++CODE++79654f98221029c4c838b279ed9a41aa49c8a3cdb1cc95d81a456c510e6854d0">
244251
<source xml:lang="en">Blanks</source>
245252
</trans-unit>
253+
<trans-unit id="++CODE++ec811d30a89ce96d1c7555ffaede78b188fedb1d283adf7cdf55a4edae6697a7">
254+
<source xml:lang="en">Brightness</source>
255+
</trans-unit>
246256
<trans-unit id="++CODE++221cedb44469e4b0b105f777c771d70c7097c40a4e3e914cec4b6ba266db1970">
247257
<source xml:lang="en">Browse Azure</source>
248258
</trans-unit>
@@ -387,6 +397,9 @@
387397
<trans-unit id="++CODE++2191d6b3f382356ffd46db277fcd0896e4b5f73a62989e0af8754832ed84c319">
388398
<source xml:lang="en">Choose a port to host the SQL Server Docker Container</source>
389399
</trans-unit>
400+
<trans-unit id="++CODE++ac64b397d6dc32aa86e749583723d12ec51ada87e971cfe6c41de1454f7131b0">
401+
<source xml:lang="en">Choose color</source>
402+
</trans-unit>
390403
<trans-unit id="++CODE++4e42da2b0c2533c1a0dfa98e9f4ec67fbaf07a0da192dafa93aaf98bc07fd959">
391404
<source xml:lang="en">Choose the Right Version</source>
392405
</trans-unit>
@@ -434,6 +447,9 @@
434447
<trans-unit id="++CODE++55988e28a4e8720a588c5c53fd47616d929a404d3d2af7e6f8ba313dce6dc3e4">
435448
<source xml:lang="en">Collapse All</source>
436449
</trans-unit>
450+
<trans-unit id="++CODE++6b73191a0a4b67420e61d51c9f207c35277eaf18fbbf5beb52a320a23fe09653">
451+
<source xml:lang="en">Color</source>
452+
</trans-unit>
437453
<trans-unit id="++CODE++3fdc9a587693f9e63574b30ec55c2b947a7fb4ba5fd11f0cf213072f53d91bdd">
438454
<source xml:lang="en">Column</source>
439455
</trans-unit>
@@ -541,6 +557,9 @@
541557
<trans-unit id="++CODE++ddb621f87c5c0baf1158d527d62ad1bf9752e53483d2540591ce3ae35e06fd6b">
542558
<source xml:lang="en">Connection Error</source>
543559
</trans-unit>
560+
<trans-unit id="++CODE++fea70af0cad96e7c97f889724e5dfe0e2d28cbf958e905f5e51ba2584c3d9458">
561+
<source xml:lang="en">Connection Group</source>
562+
</trans-unit>
544563
<trans-unit id="++CODE++d913a8ab7732ff7d26c8afceb2e2706c5c991762df193b236fd839bd3a616cb6">
545564
<source xml:lang="en">Connection Profile could not be updated. Please modify the connection details manually in settings.json and try again.</source>
546565
</trans-unit>
@@ -606,6 +625,9 @@
606625
<trans-unit id="++CODE++7aa0a3ede22306a6fe14f159fb12acfbb63bad17edf71486aa552c2cd757e5cd">
607626
<source xml:lang="en">Create As Script</source>
608627
</trans-unit>
628+
<trans-unit id="++CODE++48d1f93834dfc421237288d07022d5dc4c61f90e5cc91494cee4960abc481d1d">
629+
<source xml:lang="en">Create Connection Group</source>
630+
</trans-unit>
609631
<trans-unit id="++CODE++71c1ec27a8c136ecdc781c1fd2364676155fbab7abf8837b9075eb3b9f9af7c0">
610632
<source xml:lang="en">Create Connection Profile</source>
611633
</trans-unit>
@@ -618,6 +640,9 @@
618640
<trans-unit id="++CODE++f7450e89276bf601752a2ef286965fb13e17c418012b0aa68be16f8941cc7321">
619641
<source xml:lang="en">Create Local SQL Container</source>
620642
</trans-unit>
643+
<trans-unit id="++CODE++037da908d1a0194c30554abfd678cc6ecc4762a021237b597c1205add3de7a4f">
644+
<source xml:lang="en">Create New Connection Group</source>
645+
</trans-unit>
621646
<trans-unit id="++CODE++1c67dff33030f48bfc399c9c9c43fb0c67e6986d741c12604cfd9cdf6f03bcb9">
622647
<source xml:lang="en">Create a SQL Server container in seconds—no manual steps required. Manage it easily from the MSSQL extension without leaving VS Code.</source>
623648
</trans-unit>
@@ -748,6 +773,14 @@
748773
<trans-unit id="++CODE++464c4ffd019e1e9691dcf0537c797353ef2b1c1d4833d3d463e5b74ae4547344">
749774
<source xml:lang="en">Edit</source>
750775
</trans-unit>
776+
<trans-unit id="++CODE++8b45c43d0d9a0c27cbecb2683ef02b292a7f2626dee0f8443d4e62ac3e0e88c4">
777+
<source xml:lang="en">Edit Connection Group - {0}</source>
778+
<note>{0} is the connection group name</note>
779+
</trans-unit>
780+
<trans-unit id="++CODE++82beb1b74986a2b292e8084ee59f9bedf5e0decc13f020369faebf40ce2981c7">
781+
<source xml:lang="en">Edit Connection Group: {0}</source>
782+
<note>{0} is the name of the connection group being edited</note>
783+
</trans-unit>
751784
<trans-unit id="++CODE++a43dafda7f271d0796fb53cc6c2d8f302b8c8892ea0fed0b1096e9c7769f91c1">
752785
<source xml:lang="en">Edit Connection Profile</source>
753786
</trans-unit>
@@ -781,6 +814,12 @@
781814
<trans-unit id="++CODE++1a77d555bedbf97481907d505c8c8ba64d32d3525b77122e16178dd4054c3c93">
782815
<source xml:lang="en">Ends With</source>
783816
</trans-unit>
817+
<trans-unit id="++CODE++cad17aa68a83418367684821ea4734c877707d1f340846dc7b17b04a8a04c1c0">
818+
<source xml:lang="en">Enter connection group name</source>
819+
</trans-unit>
820+
<trans-unit id="++CODE++91cf329b31a4b1a6c0bdec6de797b6a90ab9309490bd62ec38f98f2d0f6db423">
821+
<source xml:lang="en">Enter description (optional)</source>
822+
</trans-unit>
784823
<trans-unit id="++CODE++b35ebaaf32f469f2fa86b0b2fb67e6f51fae3fb8e6ceaeaea97c2696321a8ee4">
785824
<source xml:lang="en">Enter new column width</source>
786825
</trans-unit>
@@ -1110,6 +1149,9 @@
11101149
<source xml:lang="en">How likely it is that you would recommend {0} to a friend or colleague?</source>
11111150
<note>{0} is the feature name</note>
11121151
</trans-unit>
1152+
<trans-unit id="++CODE++4d7056f0e9bef4870b289d7b77634cead0e646a63708a1eb500c6eab11c1328e">
1153+
<source xml:lang="en">Hue</source>
1154+
</trans-unit>
11131155
<trans-unit id="++CODE++9638b09db2ce74e3d600f9a512a6116df9ba9b3a147569930a5d5b4682ac5a20">
11141156
<source xml:lang="en">I have read the summary and understand the potential risks.</source>
11151157
</trans-unit>
@@ -1761,6 +1803,9 @@
17611803
<trans-unit id="++CODE++be3bac2c67dcc1b486b10add2ba1bf56e6e49fd17d6187fe6b6c012b08cedbfc">
17621804
<source xml:lang="en">Satisfied</source>
17631805
</trans-unit>
1806+
<trans-unit id="++CODE++993f024b650eaf0f1c64118f6033c44b7c98d220539bcb51454ca578f6f2b477">
1807+
<source xml:lang="en">Saturation</source>
1808+
</trans-unit>
17641809
<trans-unit id="++CODE++1509f561f2416598629b886ad7d3c05a7e221e4e0675c84bbff4ee6d9e03913d">
17651810
<source xml:lang="en">Save</source>
17661811
</trans-unit>
@@ -1770,6 +1815,9 @@
17701815
<trans-unit id="++CODE++088203b4cd88789e07f4e9a8f05cf6e8c1d0b413ae32d30cae69beeef94784e6">
17711816
<source xml:lang="en">Save As</source>
17721817
</trans-unit>
1818+
<trans-unit id="++CODE++df2839447956141d6503caf44145db003e70b17dc128d5c4fefec188b28d6966">
1819+
<source xml:lang="en">Save Connection Group</source>
1820+
</trans-unit>
17731821
<trans-unit id="++CODE++caf4128d5bf679fef30d60d545684f44efcc2e9a7098df16fcbd0b625580c89f">
17741822
<source xml:lang="en">Save Password</source>
17751823
</trans-unit>
@@ -2294,8 +2342,8 @@
22942342
<trans-unit id="++CODE++d054fcb4284fd66975e378de56c04bda7b8e951e8e13f66834d9510e2b5461aa">
22952343
<source xml:lang="en">We can&apos;t find where Docker Desktop is located on your machine. Please manually start Docker Desktop and try again.</source>
22962344
</trans-unit>
2297-
<trans-unit id="++CODE++f01e36aaf60d2146e1cf906fce3e055116bd19954ad018908f8a7cd8bd2a8b0c">
2298-
<source xml:lang="en">We couldnt connect using the current connection information. Would you like to retry the connection or edit the connection profile?</source>
2345+
<trans-unit id="++CODE++f0e54e5d12e2e2f5d8cf453857e0a307a8ecc5e8016b43b3c1c5c93300a40c60">
2346+
<source xml:lang="en">We couldn&apos;t connect using the current connection information. Would you like to retry the connection or edit the connection profile?</source>
22992347
</trans-unit>
23002348
<trans-unit id="++CODE++bf3cd82434efadb9ea501ff44c7d52b0dd98b3d11c0097ba88a10b7fd14d9b54">
23012349
<source xml:lang="en">What can we do to improve?</source>
@@ -2486,6 +2534,9 @@
24862534
<trans-unit id="mssql.addObjectExplorerLegacy">
24872535
<source xml:lang="en">Add Connection (Legacy)</source>
24882536
</trans-unit>
2537+
<trans-unit id="mssql.connectionGroups.create">
2538+
<source xml:lang="en">Add Connection Group</source>
2539+
</trans-unit>
24892540
<trans-unit id="mssql.addAadAccount">
24902541
<source xml:lang="en">Add Microsoft Entra Account</source>
24912542
</trans-unit>
@@ -2573,6 +2624,9 @@
25732624
<trans-unit id="mssql.deleteQueryHistory">
25742625
<source xml:lang="en">Delete</source>
25752626
</trans-unit>
2627+
<trans-unit id="mssql.connectionGroups.delete">
2628+
<source xml:lang="en">Delete Connection Group</source>
2629+
</trans-unit>
25762630
<trans-unit id="mssql.deleteContainer">
25772631
<source xml:lang="en">Delete Container</source>
25782632
</trans-unit>
@@ -2597,6 +2651,9 @@
25972651
<trans-unit id="mssql.editConnection">
25982652
<source xml:lang="en">Edit Connection</source>
25992653
</trans-unit>
2654+
<trans-unit id="mssql.connectionGroups.edit">
2655+
<source xml:lang="en">Edit Connection Group</source>
2656+
</trans-unit>
26002657
<trans-unit id="mssql.editTable">
26012658
<source xml:lang="en">Edit Table</source>
26022659
</trans-unit>

package.json

Lines changed: 60 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080
"@angular/router": "~3.1.2",
8181
"@angular/upgrade": "~2.1.2",
8282
"@azure/core-paging": "^1.6.2",
83+
"@ctrl/tinycolor": "^4.1.0",
8384
"@dagrejs/dagre": "^1.1.4",
8485
"@eslint/compat": "^1.1.0",
8586
"@eslint/js": "^9.5.0",
@@ -427,6 +428,12 @@
427428
"title": "%mssql.addObjectExplorer%",
428429
"group": "navigation"
429430
},
431+
{
432+
"command": "mssql.connectionGroups.create",
433+
"when": "view == objectExplorer",
434+
"title": "%mssql.connectionGroups.create%",
435+
"group": "navigation"
436+
},
430437
{
431438
"command": "mssql.startQueryHistoryCapture",
432439
"when": "view == queryHistory && config.mssql.enableQueryHistoryFeature && !config.mssql.enableQueryHistoryCapture",
@@ -465,6 +472,22 @@
465472
}
466473
],
467474
"view/item/context": [
475+
{
476+
"command": "mssql.addObjectExplorer",
477+
"when": "view == objectExplorer && viewItem =~ /\\btype=(ConnectionGroup)\\b/",
478+
"title": "%mssql.addObjectExplorer%",
479+
"group": "0_MSSQL_connectionGroups@0"
480+
},
481+
{
482+
"command": "mssql.connectionGroups.edit",
483+
"when": "view == objectExplorer && viewItem =~ /\\btype=(ConnectionGroup)\\b/",
484+
"group": "0_MSSQL_connectionGroups@1"
485+
},
486+
{
487+
"command": "mssql.connectionGroups.delete",
488+
"when": "view == objectExplorer && viewItem =~ /\\btype=(ConnectionGroup)\\b/",
489+
"group": "0_MSSQL_connectionGroups@9"
490+
},
468491
{
469492
"command": "mssql.objectExplorerNewQuery",
470493
"when": "view == objectExplorer && viewItem =~ /\\btype=(disconnectedServer|Server|Database)\\b/",
@@ -552,14 +575,30 @@
552575
},
553576
{
554577
"command": "mssql.refreshObjectExplorerNode",
555-
"when": "view == objectExplorer && viewItem =~ /\\btype=(?!disconnectedServer\\b)[^,]+/ ",
578+
"when": "view == objectExplorer && viewItem =~ /\\btype=(?!(disconnectedServer|ConnectionGroup)\\b)[^,]+/ ",
556579
"group": "5_MSSQL_tree@9999"
557580
},
558581
{
559582
"command": "mssql.objectExplorerChatWithDatabase",
560583
"when": "view == objectExplorer && mssql.copilot.isGHCInstalled && viewItem =~ /\\btype=(disconnectedServer|Server|Database)\\b/",
561584
"group": "MS_SQL@11"
562585
},
586+
{
587+
"command": "mssql.addObjectExplorer",
588+
"when": "view == objectExplorer && viewItem =~ /\\btype=(ConnectionGroup)\\b/",
589+
"title": "%mssql.addObjectExplorer%",
590+
"group": "inline@1"
591+
},
592+
{
593+
"command": "mssql.connectionGroups.edit",
594+
"when": "view == objectExplorer && viewItem =~ /\\btype=(ConnectionGroup)\\b/",
595+
"group": "inline@1"
596+
},
597+
{
598+
"command": "mssql.connectionGroups.delete",
599+
"when": "view == objectExplorer && viewItem =~ /\\btype=(ConnectionGroup)\\b/",
600+
"group": "inline@2"
601+
},
563602
{
564603
"command": "mssql.filterNode",
565604
"when": "view == objectExplorer && viewItem =~ /\\bfilterable=true\\b.*\\bhasFilters=false\\b/",
@@ -592,7 +631,7 @@
592631
},
593632
{
594633
"command": "mssql.refreshObjectExplorerNode",
595-
"when": "view == objectExplorer && viewItem =~ /\\btype=(?!disconnectedServer\\b)[^,]+/ ",
634+
"when": "view == objectExplorer && viewItem =~ /\\btype=(?!(disconnectedServer|ConnectionGroup)\\b)[^,]+/ ",
596635
"group": "inline@9999"
597636
},
598637
{
@@ -646,7 +685,7 @@
646685
},
647686
{
648687
"command": "mssql.refreshObjectExplorerNode",
649-
"when": "view == objectExplorer && viewItem =~ /\\btype=(?!disconnectedServer\\b)[^,]+/"
688+
"when": "view == objectExplorer && viewItem =~ /\\btype=(?!(disconnectedServer|ConnectionGroup)\\b)[^,]+/"
650689
},
651690
{
652691
"command": "mssql.scriptSelect",
@@ -1060,6 +1099,24 @@
10601099
"title": "%mssql.copilot.rewriteQuery%",
10611100
"category": "MSSQL"
10621101
},
1102+
{
1103+
"command": "mssql.connectionGroups.create",
1104+
"title": "%mssql.connectionGroups.create%",
1105+
"category": "MSSQL",
1106+
"icon": "$(new-folder)"
1107+
},
1108+
{
1109+
"command": "mssql.connectionGroups.edit",
1110+
"title": "%mssql.connectionGroups.edit%",
1111+
"category": "MSSQL",
1112+
"icon": "$(edit)"
1113+
},
1114+
{
1115+
"command": "mssql.connectionGroups.delete",
1116+
"title": "%mssql.connectionGroups.delete%",
1117+
"category": "MSSQL",
1118+
"icon": "$(trash)"
1119+
},
10631120
{
10641121
"command": "mssql.deployLocalDockerContainer",
10651122
"title": "%mssql.deployLocalDockerContainer%",

0 commit comments

Comments
 (0)