diff --git a/extensions/mssql/package.json b/extensions/mssql/package.json
index 796dcddeff..0dd3e8d8e6 100644
--- a/extensions/mssql/package.json
+++ b/extensions/mssql/package.json
@@ -95,12 +95,38 @@
{
"command": "mssql.enableGroupBySchema",
"category": "MSSQL",
- "title": "%mssql.objectExplorer.enableGroupBySchema%"
+ "title": "%mssql.objectExplorer.enableGroupBySchema%",
+ "icon": {
+ "dark": "resources/dark/groupBySchemaEnabled_inverse.svg",
+ "light": "resources/light/groupBySchemaEnabled.svg"
+ }
},
{
"command": "mssql.disableGroupBySchema",
"category": "MSSQL",
- "title": "%mssql.objectExplorer.disableGroupBySchema%"
+ "title": "%mssql.objectExplorer.disableGroupBySchema%",
+ "icon": {
+ "dark": "resources/dark/groupBySchemaDisabled_inverse.svg",
+ "light": "resources/light/groupBySchemaDisabled.svg"
+ }
+ },
+ {
+ "command": "mssql.enableGroupBySchemaTitle",
+ "category": "MSSQL",
+ "title": "%mssql.objectExplorer.enableGroupBySchemaTitle%",
+ "icon": {
+ "dark": "resources/dark/groupBySchemaEnabled_inverse.svg",
+ "light": "resources/light/groupBySchemaEnabled.svg"
+ }
+ },
+ {
+ "command": "mssql.disableGroupBySchemaTitle",
+ "category": "MSSQL",
+ "title": "%mssql.objectExplorer.disableGroupBySchemaTitle%",
+ "icon": {
+ "dark": "resources/dark/groupBySchemaDisabled_inverse.svg",
+ "light": "resources/light/groupBySchemaDisabled.svg"
+ }
}
],
"outputChannels": [
@@ -541,6 +567,18 @@
"command": "mssql.exportNotebookToSql",
"when": "config.workbench.enablePreviewFeatures && providerId == sql"
}
+ ],
+ "view/title": [
+ {
+ "command": "mssql.enableGroupBySchemaTitle",
+ "when": "view == dataExplorer.servers && !config.mssql.objectExplorer.groupBySchema",
+ "group": "navigation@4"
+ },
+ {
+ "command": "mssql.disableGroupBySchemaTitle",
+ "when": "view == dataExplorer.servers && config.mssql.objectExplorer.groupBySchema",
+ "group": "navigation@5"
+ }
]
},
"dashboard": {
diff --git a/extensions/mssql/package.nls.json b/extensions/mssql/package.nls.json
index f57a726327..2c79e0cbc3 100644
--- a/extensions/mssql/package.nls.json
+++ b/extensions/mssql/package.nls.json
@@ -185,6 +185,8 @@
"mssql.objectExplorer.groupBySchema": "When enabled, the database objects in Object Explorer will be categorized by schema.",
"mssql.objectExplorer.enableGroupBySchema":"Enable Group By Schema",
"mssql.objectExplorer.disableGroupBySchema":"Disable Group By Schema",
+ "mssql.objectExplorer.enableGroupBySchemaTitle": "SQL Server: Enable Group By Schema",
+ "mssql.objectExplorer.disableGroupBySchemaTitle": "SQL Server: Disable Group By Schema",
"mssql.objectExplorer.expandTimeout": "The timeout in seconds for expanding a node in Object Explorer. The default value is 45 seconds.",
"title.newServerRole": "New Server Role",
"title.newLogin": "New Login",
diff --git a/extensions/mssql/resources/dark/groupByschemaDisabled_inverse.svg b/extensions/mssql/resources/dark/groupByschemaDisabled_inverse.svg
new file mode 100644
index 0000000000..ffd7c928da
--- /dev/null
+++ b/extensions/mssql/resources/dark/groupByschemaDisabled_inverse.svg
@@ -0,0 +1,13 @@
+
diff --git a/extensions/mssql/resources/dark/groupByschemaEnabled_inverse.svg b/extensions/mssql/resources/dark/groupByschemaEnabled_inverse.svg
new file mode 100644
index 0000000000..5c2e560261
--- /dev/null
+++ b/extensions/mssql/resources/dark/groupByschemaEnabled_inverse.svg
@@ -0,0 +1,20 @@
+
diff --git a/extensions/mssql/resources/light/groupByschemaDisabled.svg b/extensions/mssql/resources/light/groupByschemaDisabled.svg
new file mode 100644
index 0000000000..b49c128a53
--- /dev/null
+++ b/extensions/mssql/resources/light/groupByschemaDisabled.svg
@@ -0,0 +1,13 @@
+
diff --git a/extensions/mssql/resources/light/groupByschemaEnabled.svg b/extensions/mssql/resources/light/groupByschemaEnabled.svg
new file mode 100644
index 0000000000..dac6acf796
--- /dev/null
+++ b/extensions/mssql/resources/light/groupByschemaEnabled.svg
@@ -0,0 +1,20 @@
+
diff --git a/extensions/mssql/src/constants.ts b/extensions/mssql/src/constants.ts
index 2b57ccfa09..990ce2ff16 100644
--- a/extensions/mssql/src/constants.ts
+++ b/extensions/mssql/src/constants.ts
@@ -31,3 +31,5 @@ export const configObjectExplorerGroupBySchemaFlagName = 'mssql.objectExplorer.g
// COMMANDNAMES //////////////////////////////////////////////////////////
export const cmdObjectExplorerEnableGroupBySchemaCommand = 'mssql.enableGroupBySchema';
export const cmdObjectExplorerDisableGroupBySchemaCommand = 'mssql.disableGroupBySchema';
+export const cmdObjectExplorerEnabbleGroupBySchemaTitleCommand = 'mssql.enableGroupBySchemaTitle';
+export const cmdObjectExplorerDisableGroupBySchemaTitleCommand = 'mssql.disableGroupBySchemaTitle';
diff --git a/extensions/mssql/src/main.ts b/extensions/mssql/src/main.ts
index 01cf8c4b6a..b7b8967f6c 100644
--- a/extensions/mssql/src/main.ts
+++ b/extensions/mssql/src/main.ts
@@ -90,10 +90,22 @@ export async function activate(context: vscode.ExtensionContext): Promise {
+ TelemetryReporter.sendActionEvent(TelemetryViews.MssqlObjectExplorer, TelemetryActions.EnableGroupBySchemaContextMenu)
await vscode.workspace.getConfiguration().update(Constants.configObjectExplorerGroupBySchemaFlagName, true, true);
}));
context.subscriptions.push(vscode.commands.registerCommand(Constants.cmdObjectExplorerDisableGroupBySchemaCommand, async () => {
+ TelemetryReporter.sendActionEvent(TelemetryViews.MssqlObjectExplorer, TelemetryActions.DisableGroupBySchemaContextMenu)
+ await vscode.workspace.getConfiguration().update(Constants.configObjectExplorerGroupBySchemaFlagName, false, true);
+ }));
+
+ context.subscriptions.push(vscode.commands.registerCommand(Constants.cmdObjectExplorerEnabbleGroupBySchemaTitleCommand, async () => {
+ TelemetryReporter.sendActionEvent(TelemetryViews.MssqlObjectExplorer, TelemetryActions.EnableGroupByServerViewTitleAction)
+ await vscode.workspace.getConfiguration().update(Constants.configObjectExplorerGroupBySchemaFlagName, true, true);
+ }));
+
+ context.subscriptions.push(vscode.commands.registerCommand(Constants.cmdObjectExplorerDisableGroupBySchemaTitleCommand, async () => {
+ TelemetryReporter.sendActionEvent(TelemetryViews.MssqlObjectExplorer, TelemetryActions.DisableGroupByServerViewTitleAction)
await vscode.workspace.getConfiguration().update(Constants.configObjectExplorerGroupBySchemaFlagName, false, true);
}));
diff --git a/extensions/mssql/src/telemetry.ts b/extensions/mssql/src/telemetry.ts
index 08d54bf260..c02f693de8 100644
--- a/extensions/mssql/src/telemetry.ts
+++ b/extensions/mssql/src/telemetry.ts
@@ -84,4 +84,8 @@ export enum TelemetryViews {
export enum TelemetryActions {
GroupBySchemaEnabled = 'objectExplorerGroupBySchemaEnabled',
GroupBySchemaDisabled = 'objectExplorerGroupBySchemaDisabled',
+ EnableGroupBySchemaContextMenu = 'objectExplorerEnableGroupBySchemaContextMenu',
+ DisableGroupBySchemaContextMenu = 'objectExplorerDisableGroupBySchemaContextMenu',
+ EnableGroupByServerViewTitleAction = 'objectExplorerEnableGroupByServerViewTitleAction',
+ DisableGroupByServerViewTitleAction = 'objectExplorerDisableGroupByServerViewTitleAction',
}
diff --git a/src/sql/workbench/contrib/connection/browser/connection.contribution.ts b/src/sql/workbench/contrib/connection/browser/connection.contribution.ts
index 7266b48592..d64a7586f9 100644
--- a/src/sql/workbench/contrib/connection/browser/connection.contribution.ts
+++ b/src/sql/workbench/contrib/connection/browser/connection.contribution.ts
@@ -74,7 +74,7 @@ actionRegistry.registerWorkbenchAction(
MenuRegistry.appendMenuItem(MenuId.ViewTitle, {
group: 'navigation',
- order: 10,
+ order: 1,
command: {
id: AddServerAction.ID,
title: AddServerAction.LABEL,
@@ -85,7 +85,7 @@ MenuRegistry.appendMenuItem(MenuId.ViewTitle, {
MenuRegistry.appendMenuItem(MenuId.ViewTitle, {
group: 'navigation',
- order: 20,
+ order: 2,
command: {
id: AddServerGroupAction.ID,
title: AddServerGroupAction.LABEL,
@@ -96,7 +96,7 @@ MenuRegistry.appendMenuItem(MenuId.ViewTitle, {
MenuRegistry.appendMenuItem(MenuId.ViewTitle, {
group: 'navigation',
- order: 30,
+ order: 3,
command: {
id: ActiveConnectionsFilterAction.ID,
title: ActiveConnectionsFilterAction.SHOW_ACTIVE_CONNECTIONS_LABEL,