From 418b2f972cd131d19906f318f8daffb442409cce Mon Sep 17 00:00:00 2001 From: Aasim Khan Date: Tue, 14 Feb 2023 10:44:49 -0800 Subject: [PATCH 01/15] Adding group by schema --- .vscode/launch.json | 3 +- package.json | 5 ++ package.nls.json | 3 +- src/constants/constants.ts | 1 + src/controllers/mainController.ts | 13 +++++ src/objectExplorer/objectTypes/Schema.svg | 59 ++++++++++++++--------- 6 files changed, 58 insertions(+), 26 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 707d6025c5..e170490a9b 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -2,6 +2,7 @@ { "version": "0.1.0", "configurations": [ + { "type": "node", "request": "launch", @@ -37,7 +38,7 @@ // Uncomment this to use a specified version of STS, see // https://github.com/microsoft/vscode-mssql/blob/main/DEVELOPMENT.md#using-mssql_sqltoolsservice-environment-variable // for more details - // "MSSQL_SQLTOOLSSERVICE": "" + "MSSQL_SQLTOOLSSERVICE": "C:\\Users\\aaskhan\\src\\sts3\\src\\Microsoft.SqlTools.ServiceLayer\\bin\\Debug\\net7.0\\win-x64\\publish" } }, { diff --git a/package.json b/package.json index ff7a203edf..816957d1cd 100644 --- a/package.json +++ b/package.json @@ -1137,6 +1137,11 @@ "type": "boolean", "description": "%mssql.ignorePlatformWarning%", "default": false + }, + "mssql.objectExplorer.groupBySchema": { + "type": "boolean", + "description": "%mssql.objectExplorer.groupBySchema%", + "default": true } } } diff --git a/package.nls.json b/package.nls.json index 0de7a09551..63415e1737 100644 --- a/package.nls.json +++ b/package.nls.json @@ -128,5 +128,6 @@ "mssql.Configuration":"MSSQL configuration", "mssql.chooseAuthMethod":"Chooses which Authentication method to use", "mssql.authCodeGrant.description":"Prompts users to sign in using their browser.", -"mssql.deviceCode.description":"Allows users to sign in to input-constrained devices." +"mssql.deviceCode.description":"Allows users to sign in to input-constrained devices.", +"mssql.objectExplorer.groupBySchema": "When enabled, the database objects in Object explorer will be categorized by schema." } diff --git a/src/constants/constants.ts b/src/constants/constants.ts index ba7287fdb3..fbd3cedc0a 100644 --- a/src/constants/constants.ts +++ b/src/constants/constants.ts @@ -47,6 +47,7 @@ export const cmdObjectExplorerNodeSignIn = 'mssql.objectExplorerNodeSignIn'; export const cmdConnectObjectExplorerNode = 'mssql.connectObjectExplorerNode'; export const cmdConnectObjectExplorerProfile = 'mssql.connectObjectExplorerProfile'; export const cmdOpenObjectExplorerCommand = 'workbench.view.extension.objectExplorer'; +export const cmdObjectExplorerGroupBySchemaFlagName = 'mssql.objectExplorer.groupBySchema'; export const cmdScriptSelect = 'mssql.scriptSelect'; export const cmdScriptCreate = 'mssql.scriptCreate'; export const cmdScriptDelete = 'mssql.scriptDelete'; diff --git a/src/controllers/mainController.ts b/src/controllers/mainController.ts index f1bb806fc3..e839604680 100644 --- a/src/controllers/mainController.ts +++ b/src/controllers/mainController.ts @@ -1178,6 +1178,19 @@ export default class MainController implements vscode.Disposable { await this.sanitizeConnectionProfiles(); + if(e.affectsConfiguration(Constants.cmdObjectExplorerGroupBySchemaFlagName)){ + this._objectExplorerProvider.rootNodeConnections.forEach(async (conn) => { + if(this.connectionManager.isActiveConnection(conn)){ + const rootNodes = await this._objectExplorerProvider.getChildren(); + rootNodes.forEach(async (rootNode: TreeNodeInfo) => { + if(rootNode.connectionInfo.accountId === conn.accountId){ + await this._objectExplorerProvider.refreshNode(rootNode); + } + }); + } + }); + } + if (needsRefresh) { this._objectExplorerProvider.refresh(undefined); } diff --git a/src/objectExplorer/objectTypes/Schema.svg b/src/objectExplorer/objectTypes/Schema.svg index c3fed3a829..5709caa27f 100644 --- a/src/objectExplorer/objectTypes/Schema.svg +++ b/src/objectExplorer/objectTypes/Schema.svg @@ -1,25 +1,36 @@ - - - - - - - - - - - - - - - - + + + + + + + + + From 5454211ffcfd40dc7787e9fcb2aad04512a7c7e9 Mon Sep 17 00:00:00 2001 From: Aasim Khan Date: Tue, 14 Feb 2023 10:49:55 -0800 Subject: [PATCH 02/15] Adding group by schema --- package.json | 5 ++ package.nls.json | 3 +- src/constants/constants.ts | 1 + src/controllers/mainController.ts | 13 +++++ src/objectExplorer/objectTypes/Schema.svg | 59 ++++++++++++++--------- 5 files changed, 56 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index ff7a203edf..816957d1cd 100644 --- a/package.json +++ b/package.json @@ -1137,6 +1137,11 @@ "type": "boolean", "description": "%mssql.ignorePlatformWarning%", "default": false + }, + "mssql.objectExplorer.groupBySchema": { + "type": "boolean", + "description": "%mssql.objectExplorer.groupBySchema%", + "default": true } } } diff --git a/package.nls.json b/package.nls.json index 0de7a09551..63415e1737 100644 --- a/package.nls.json +++ b/package.nls.json @@ -128,5 +128,6 @@ "mssql.Configuration":"MSSQL configuration", "mssql.chooseAuthMethod":"Chooses which Authentication method to use", "mssql.authCodeGrant.description":"Prompts users to sign in using their browser.", -"mssql.deviceCode.description":"Allows users to sign in to input-constrained devices." +"mssql.deviceCode.description":"Allows users to sign in to input-constrained devices.", +"mssql.objectExplorer.groupBySchema": "When enabled, the database objects in Object explorer will be categorized by schema." } diff --git a/src/constants/constants.ts b/src/constants/constants.ts index ba7287fdb3..fbd3cedc0a 100644 --- a/src/constants/constants.ts +++ b/src/constants/constants.ts @@ -47,6 +47,7 @@ export const cmdObjectExplorerNodeSignIn = 'mssql.objectExplorerNodeSignIn'; export const cmdConnectObjectExplorerNode = 'mssql.connectObjectExplorerNode'; export const cmdConnectObjectExplorerProfile = 'mssql.connectObjectExplorerProfile'; export const cmdOpenObjectExplorerCommand = 'workbench.view.extension.objectExplorer'; +export const cmdObjectExplorerGroupBySchemaFlagName = 'mssql.objectExplorer.groupBySchema'; export const cmdScriptSelect = 'mssql.scriptSelect'; export const cmdScriptCreate = 'mssql.scriptCreate'; export const cmdScriptDelete = 'mssql.scriptDelete'; diff --git a/src/controllers/mainController.ts b/src/controllers/mainController.ts index f1bb806fc3..e839604680 100644 --- a/src/controllers/mainController.ts +++ b/src/controllers/mainController.ts @@ -1178,6 +1178,19 @@ export default class MainController implements vscode.Disposable { await this.sanitizeConnectionProfiles(); + if(e.affectsConfiguration(Constants.cmdObjectExplorerGroupBySchemaFlagName)){ + this._objectExplorerProvider.rootNodeConnections.forEach(async (conn) => { + if(this.connectionManager.isActiveConnection(conn)){ + const rootNodes = await this._objectExplorerProvider.getChildren(); + rootNodes.forEach(async (rootNode: TreeNodeInfo) => { + if(rootNode.connectionInfo.accountId === conn.accountId){ + await this._objectExplorerProvider.refreshNode(rootNode); + } + }); + } + }); + } + if (needsRefresh) { this._objectExplorerProvider.refresh(undefined); } diff --git a/src/objectExplorer/objectTypes/Schema.svg b/src/objectExplorer/objectTypes/Schema.svg index c3fed3a829..5709caa27f 100644 --- a/src/objectExplorer/objectTypes/Schema.svg +++ b/src/objectExplorer/objectTypes/Schema.svg @@ -1,25 +1,36 @@ - - - - - - - - - - - - - - - - + + + + + + + + + From 441a5cf8e64dbdb41d7170522fbdac8777d88455 Mon Sep 17 00:00:00 2001 From: Aasim Khan Date: Tue, 14 Feb 2023 12:02:28 -0800 Subject: [PATCH 03/15] Adding strings --- localization/xliff/enu/localizedPackage.json.enu.xlf | 3 +++ package.nls.json | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/localization/xliff/enu/localizedPackage.json.enu.xlf b/localization/xliff/enu/localizedPackage.json.enu.xlf index 8892285fb8..a5183d52bb 100644 --- a/localization/xliff/enu/localizedPackage.json.enu.xlf +++ b/localization/xliff/enu/localizedPackage.json.enu.xlf @@ -392,6 +392,9 @@ Allows users to sign in to input-constrained devices. + + When enabled, the database objects in Object explorer will be categorized by schema. + diff --git a/package.nls.json b/package.nls.json index 63415e1737..50f468fd01 100644 --- a/package.nls.json +++ b/package.nls.json @@ -129,5 +129,5 @@ "mssql.chooseAuthMethod":"Chooses which Authentication method to use", "mssql.authCodeGrant.description":"Prompts users to sign in using their browser.", "mssql.deviceCode.description":"Allows users to sign in to input-constrained devices.", -"mssql.objectExplorer.groupBySchema": "When enabled, the database objects in Object explorer will be categorized by schema." +"mssql.objectExplorer.groupBySchema":"When enabled, the database objects in Object explorer will be categorized by schema." } From d26599e625bdd82cf8e9f6588c7f69ce8716613b Mon Sep 17 00:00:00 2001 From: Aasim Khan Date: Tue, 14 Feb 2023 12:03:41 -0800 Subject: [PATCH 04/15] removing local config --- .vscode/launch.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index e170490a9b..707d6025c5 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -2,7 +2,6 @@ { "version": "0.1.0", "configurations": [ - { "type": "node", "request": "launch", @@ -38,7 +37,7 @@ // Uncomment this to use a specified version of STS, see // https://github.com/microsoft/vscode-mssql/blob/main/DEVELOPMENT.md#using-mssql_sqltoolsservice-environment-variable // for more details - "MSSQL_SQLTOOLSSERVICE": "C:\\Users\\aaskhan\\src\\sts3\\src\\Microsoft.SqlTools.ServiceLayer\\bin\\Debug\\net7.0\\win-x64\\publish" + // "MSSQL_SQLTOOLSSERVICE": "" } }, { From 9fa37dabc79303c8e0fff6824497f964de9826f8 Mon Sep 17 00:00:00 2001 From: Aasim Khan Date: Tue, 14 Feb 2023 14:11:03 -0800 Subject: [PATCH 05/15] Fixing formatting --- src/controllers/mainController.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/controllers/mainController.ts b/src/controllers/mainController.ts index e839604680..895dee3c62 100644 --- a/src/controllers/mainController.ts +++ b/src/controllers/mainController.ts @@ -1178,12 +1178,12 @@ export default class MainController implements vscode.Disposable { await this.sanitizeConnectionProfiles(); - if(e.affectsConfiguration(Constants.cmdObjectExplorerGroupBySchemaFlagName)){ + if (e.affectsConfiguration(Constants.cmdObjectExplorerGroupBySchemaFlagName)) { this._objectExplorerProvider.rootNodeConnections.forEach(async (conn) => { - if(this.connectionManager.isActiveConnection(conn)){ + if (this.connectionManager.isActiveConnection(conn)) { const rootNodes = await this._objectExplorerProvider.getChildren(); rootNodes.forEach(async (rootNode: TreeNodeInfo) => { - if(rootNode.connectionInfo.accountId === conn.accountId){ + if (rootNode.connectionInfo.accountId === conn.accountId) { await this._objectExplorerProvider.refreshNode(rootNode); } }); From cc214c8612d266d4cbfb76db4da7cd73fe4fbb2f Mon Sep 17 00:00:00 2001 From: Aasim Khan Date: Tue, 14 Feb 2023 15:24:08 -0800 Subject: [PATCH 06/15] Adding enable and disable group by schema menu item --- .../xliff/enu/localizedPackage.json.enu.xlf | 6 +++++ package.json | 22 +++++++++++++++++ package.nls.json | 4 +++- src/configurations/config.json | 24 +++++++++---------- src/constants/constants.ts | 2 ++ src/controllers/mainController.ts | 9 +++++++ 6 files changed, 54 insertions(+), 13 deletions(-) diff --git a/localization/xliff/enu/localizedPackage.json.enu.xlf b/localization/xliff/enu/localizedPackage.json.enu.xlf index a5183d52bb..8f3e309688 100644 --- a/localization/xliff/enu/localizedPackage.json.enu.xlf +++ b/localization/xliff/enu/localizedPackage.json.enu.xlf @@ -395,6 +395,12 @@ When enabled, the database objects in Object explorer will be categorized by schema. + + Enable Group By Schema + + + Disable Group By Schema + diff --git a/package.json b/package.json index 816957d1cd..483c3c61e4 100644 --- a/package.json +++ b/package.json @@ -247,6 +247,18 @@ "when": "view == queryHistory", "title": "%mssql.clearAllQueryHistory%", "group": "secondary" + }, + { + "command": "mssql.objectExplorer.enableGroupBySchema", + "when": "view == objectExplorer && !config.mssql.objectExplorer.groupBySchema", + "title": "%mssql.objectExplorer.enableGroupBySchema%", + "group": "secondary" + }, + { + "command": "mssql.objectExplorer.disableGroupBySchema", + "when": "view == objectExplorer && config.mssql.objectExplorer.groupBySchema", + "title": "%mssql.objectExplorer.disableGroupBySchema%", + "group": "secondary" } ], "view/item/context": [ @@ -439,6 +451,16 @@ "category": "MS SQL", "icon": "$(add)" }, + { + "command": "mssql.objectExplorer.enableGroupBySchema", + "title": "%mssql.objectExplorer.enableGroupBySchema%", + "category": "MS SQL" + }, + { + "command": "mssql.objectExplorer.disableGroupBySchema", + "title": "%mssql.objectExplorer.disableGroupBySchema%", + "category": "MS SQL" + }, { "command": "mssql.objectExplorerNewQuery", "title": "%mssql.objectExplorerNewQuery%", diff --git a/package.nls.json b/package.nls.json index 50f468fd01..8af0c39c1d 100644 --- a/package.nls.json +++ b/package.nls.json @@ -129,5 +129,7 @@ "mssql.chooseAuthMethod":"Chooses which Authentication method to use", "mssql.authCodeGrant.description":"Prompts users to sign in using their browser.", "mssql.deviceCode.description":"Allows users to sign in to input-constrained devices.", -"mssql.objectExplorer.groupBySchema":"When enabled, the database objects in Object explorer will be categorized by schema." +"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" } diff --git a/src/configurations/config.json b/src/configurations/config.json index d0770eb4c0..f759cd7689 100644 --- a/src/configurations/config.json +++ b/src/configurations/config.json @@ -1,19 +1,19 @@ { "service": { "downloadUrl": "https://github.com/Microsoft/sqltoolsservice/releases/download/{#version#}/microsoft.sqltools.servicelayer-{#fileName#}", - "version": "4.5.0.8", + "version": "4.5.0.20", "downloadFileNames": { - "Windows_86": "win-x86-net6.0.zip", - "Windows_64": "win-x64-net6.0.zip", - "OSX_10_11_64": "osx-x64-net6.0.tar.gz", - "CentOS_7": "rhel-x64-net6.0.tar.gz", - "Debian_8": "rhel-x64-net6.0.tar.gz", - "Fedora_23": "rhel-x64-net6.0.tar.gz", - "OpenSUSE_13_2": "rhel-x64-net6.0.tar.gz", - "SLES_12_2": "rhel-x64-net6.0.tar.gz", - "RHEL_7": "rhel-x64-net6.0.tar.gz", - "Ubuntu_14": "rhel-x64-net6.0.tar.gz", - "Ubuntu_16": "rhel-x64-net6.0.tar.gz" + "Windows_86": "win-x86-net7.0.zip", + "Windows_64": "win-x64-net7.0.zip", + "OSX_10_11_64": "osx-x64-net7.0.tar.gz", + "CentOS_7": "rhel-x64-net7.0.tar.gz", + "Debian_8": "rhel-x64-net7.0.tar.gz", + "Fedora_23": "rhel-x64-net7.0.tar.gz", + "OpenSUSE_13_2": "rhel-x64-net7.0.tar.gz", + "SLES_12_2": "rhel-x64-net7.0.tar.gz", + "RHEL_7": "rhel-x64-net7.0.tar.gz", + "Ubuntu_14": "rhel-x64-net7.0.tar.gz", + "Ubuntu_16": "rhel-x64-net7.0.tar.gz" }, "installDir": "../sqltoolsservice/{#version#}/{#platform#}", "executableFiles": [ diff --git a/src/constants/constants.ts b/src/constants/constants.ts index fbd3cedc0a..c657870322 100644 --- a/src/constants/constants.ts +++ b/src/constants/constants.ts @@ -48,6 +48,8 @@ export const cmdConnectObjectExplorerNode = 'mssql.connectObjectExplorerNode'; export const cmdConnectObjectExplorerProfile = 'mssql.connectObjectExplorerProfile'; export const cmdOpenObjectExplorerCommand = 'workbench.view.extension.objectExplorer'; export const cmdObjectExplorerGroupBySchemaFlagName = 'mssql.objectExplorer.groupBySchema'; +export const cmdObjectExplorerEnableGroupBySchemaCommand = 'mssql.objectExplorer.enableGroupBySchema'; +export const cmdObjectExplorerDisableGroupBySchemaCommand = 'mssql.objectExplorer.disableGroupBySchema'; export const cmdScriptSelect = 'mssql.scriptSelect'; export const cmdScriptCreate = 'mssql.scriptCreate'; export const cmdScriptDelete = 'mssql.scriptDelete'; diff --git a/src/controllers/mainController.ts b/src/controllers/mainController.ts index 895dee3c62..e4e9c6658c 100644 --- a/src/controllers/mainController.ts +++ b/src/controllers/mainController.ts @@ -163,6 +163,15 @@ export default class MainController implements vscode.Disposable { }); }); + this.registerCommand(Constants.cmdObjectExplorerEnableGroupBySchemaCommand); + this._event.on(Constants.cmdObjectExplorerEnableGroupBySchemaCommand, () => { + vscode.workspace.getConfiguration().update(Constants.cmdObjectExplorerGroupBySchemaFlagName, true, true); + }); + this.registerCommand(Constants.cmdObjectExplorerDisableGroupBySchemaCommand); + this._event.on(Constants.cmdObjectExplorerDisableGroupBySchemaCommand, () => { + vscode.workspace.getConfiguration().update(Constants.cmdObjectExplorerGroupBySchemaFlagName, false, true); + }); + this.initializeQueryHistory(); this.sqlTasksService = new SqlTasksService(SqlToolsServerClient.instance, this._untitledSqlDocumentService); From bb6f904ddee3cd9671470461ff5166f9847f530c Mon Sep 17 00:00:00 2001 From: Aasim Khan Date: Wed, 15 Feb 2023 00:39:16 -0800 Subject: [PATCH 07/15] Fixing node refresh logic --- src/controllers/mainController.ts | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/controllers/mainController.ts b/src/controllers/mainController.ts index e4e9c6658c..765bbe0a4b 100644 --- a/src/controllers/mainController.ts +++ b/src/controllers/mainController.ts @@ -1188,16 +1188,14 @@ export default class MainController implements vscode.Disposable { await this.sanitizeConnectionProfiles(); if (e.affectsConfiguration(Constants.cmdObjectExplorerGroupBySchemaFlagName)) { - this._objectExplorerProvider.rootNodeConnections.forEach(async (conn) => { - if (this.connectionManager.isActiveConnection(conn)) { - const rootNodes = await this._objectExplorerProvider.getChildren(); - rootNodes.forEach(async (rootNode: TreeNodeInfo) => { - if (rootNode.connectionInfo.accountId === conn.accountId) { - await this._objectExplorerProvider.refreshNode(rootNode); - } - }); + (await this._objectExplorerProvider.getChildren()).forEach((n: TreeNodeInfo) => { + try { + this._objectExplorerProvider.refreshNode(n); + } catch (e) { + Utils.logDebug(e.toString()); + Utils.showErrorMsg(e.toString()); } - }); + }) } if (needsRefresh) { From 7d1e43c94a72c1803a29fbafb0464ce7797b6774 Mon Sep 17 00:00:00 2001 From: Aasim Khan Date: Wed, 15 Feb 2023 09:16:56 -0800 Subject: [PATCH 08/15] Fixing lint --- src/controllers/mainController.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/mainController.ts b/src/controllers/mainController.ts index 765bbe0a4b..65f973ba0f 100644 --- a/src/controllers/mainController.ts +++ b/src/controllers/mainController.ts @@ -1195,7 +1195,7 @@ export default class MainController implements vscode.Disposable { Utils.logDebug(e.toString()); Utils.showErrorMsg(e.toString()); } - }) + }); } if (needsRefresh) { From 1f1a67861929de3898209356cd5d78922cb07587 Mon Sep 17 00:00:00 2001 From: Aasim Khan Date: Wed, 15 Feb 2023 10:19:12 -0800 Subject: [PATCH 09/15] changing default --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 483c3c61e4..d089a12a26 100644 --- a/package.json +++ b/package.json @@ -1163,7 +1163,7 @@ "mssql.objectExplorer.groupBySchema": { "type": "boolean", "description": "%mssql.objectExplorer.groupBySchema%", - "default": true + "default": false } } } From e667242f8bb8dffead0e241ce5d5873e1f394e08 Mon Sep 17 00:00:00 2001 From: Aasim Khan Date: Wed, 15 Feb 2023 12:12:33 -0800 Subject: [PATCH 10/15] Adding error message --- .../xliff/enu/constants/localizedConstants.enu.xlf | 3 +++ src/controllers/mainController.ts | 8 ++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/localization/xliff/enu/constants/localizedConstants.enu.xlf b/localization/xliff/enu/constants/localizedConstants.enu.xlf index 6bd532752e..a168a171d0 100644 --- a/localization/xliff/enu/constants/localizedConstants.enu.xlf +++ b/localization/xliff/enu/constants/localizedConstants.enu.xlf @@ -587,6 +587,9 @@ Width cannot be 0 or negative + + Error occured while refreshing nodes + diff --git a/src/controllers/mainController.ts b/src/controllers/mainController.ts index 65f973ba0f..f96351b461 100644 --- a/src/controllers/mainController.ts +++ b/src/controllers/mainController.ts @@ -1188,14 +1188,18 @@ export default class MainController implements vscode.Disposable { await this.sanitizeConnectionProfiles(); if (e.affectsConfiguration(Constants.cmdObjectExplorerGroupBySchemaFlagName)) { + let errorFoundWhileRefreshing = false; (await this._objectExplorerProvider.getChildren()).forEach((n: TreeNodeInfo) => { try { this._objectExplorerProvider.refreshNode(n); } catch (e) { - Utils.logDebug(e.toString()); - Utils.showErrorMsg(e.toString()); + errorFoundWhileRefreshing = true; + Utils.logToOutputChannel(e.toString()); } }); + if (errorFoundWhileRefreshing) { + Utils.showErrorMsg(LocalizedConstants.objectExplorerNodeRefreshError); + } } if (needsRefresh) { From 2a9b9743aa5af00f98bc6a2bb6f43337e9c4ce01 Mon Sep 17 00:00:00 2001 From: Aasim Khan Date: Wed, 15 Feb 2023 13:20:39 -0800 Subject: [PATCH 11/15] Fixing stuff --- localization/xliff/enu/localizedPackage.json.enu.xlf | 2 +- package.nls.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/localization/xliff/enu/localizedPackage.json.enu.xlf b/localization/xliff/enu/localizedPackage.json.enu.xlf index 8f3e309688..16eeb34b19 100644 --- a/localization/xliff/enu/localizedPackage.json.enu.xlf +++ b/localization/xliff/enu/localizedPackage.json.enu.xlf @@ -393,7 +393,7 @@ Allows users to sign in to input-constrained devices. - When enabled, the database objects in Object explorer will be categorized by schema. + When enabled, the database objects in Object Explorer will be categorized by schema. Enable Group By Schema diff --git a/package.nls.json b/package.nls.json index 8af0c39c1d..2b1f3d502e 100644 --- a/package.nls.json +++ b/package.nls.json @@ -129,7 +129,7 @@ "mssql.chooseAuthMethod":"Chooses which Authentication method to use", "mssql.authCodeGrant.description":"Prompts users to sign in using their browser.", "mssql.deviceCode.description":"Allows users to sign in to input-constrained devices.", -"mssql.objectExplorer.groupBySchema":"When enabled, the database objects in Object explorer will be categorized by schema.", +"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" } From 844ca70ee8d714394090294eae7b9aa8aad2a752 Mon Sep 17 00:00:00 2001 From: Aasim Khan Date: Fri, 17 Feb 2023 12:40:52 -0800 Subject: [PATCH 12/15] Fixing error message --- localization/xliff/enu/constants/localizedConstants.enu.xlf | 2 +- src/models/utils.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/localization/xliff/enu/constants/localizedConstants.enu.xlf b/localization/xliff/enu/constants/localizedConstants.enu.xlf index a168a171d0..07c033fd1c 100644 --- a/localization/xliff/enu/constants/localizedConstants.enu.xlf +++ b/localization/xliff/enu/constants/localizedConstants.enu.xlf @@ -588,7 +588,7 @@ Width cannot be 0 or negative - Error occured while refreshing nodes + An error occurred refreshing nodes. See the MSSQL output diff --git a/src/models/utils.ts b/src/models/utils.ts index 9a3b8313ef..34b282b443 100644 --- a/src/models/utils.ts +++ b/src/models/utils.ts @@ -25,6 +25,8 @@ const configTracingLevel = 'tracingLevel'; const configLogRetentionMinutes = 'logRetentionMinutes'; const configLogFilesRemovalLimit = 'logFilesRemovalLimit'; +const outputChannel = vscode.window.createOutputChannel(Constants.outputChannelName); + // INTERFACES ///////////////////////////////////////////////////////////////////////////////////// // Interface for package.json information @@ -110,7 +112,6 @@ export function getActiveTextEditorUri(): string { // Helper to log messages to "MSSQL" output channel export function logToOutputChannel(msg: any): void { - let outputChannel = vscode.window.createOutputChannel(Constants.outputChannelName); outputChannel.show(); if (msg instanceof Array) { msg.forEach(element => { From 3d468754c1a5c2cfa4e31446aa5a16db3605fe1c Mon Sep 17 00:00:00 2001 From: Aasim Khan Date: Fri, 17 Feb 2023 14:00:04 -0800 Subject: [PATCH 13/15] fixing error message --- .../xliff/enu/constants/localizedConstants.enu.xlf | 3 +++ src/models/utils.ts | 14 +++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/localization/xliff/enu/constants/localizedConstants.enu.xlf b/localization/xliff/enu/constants/localizedConstants.enu.xlf index 07c033fd1c..0c0ccbe7f2 100644 --- a/localization/xliff/enu/constants/localizedConstants.enu.xlf +++ b/localization/xliff/enu/constants/localizedConstants.enu.xlf @@ -590,6 +590,9 @@ An error occurred refreshing nodes. See the MSSQL output + + Show MSSQL output + diff --git a/src/models/utils.ts b/src/models/utils.ts index 34b282b443..5ab446dc66 100644 --- a/src/models/utils.ts +++ b/src/models/utils.ts @@ -112,7 +112,6 @@ export function getActiveTextEditorUri(): string { // Helper to log messages to "MSSQL" output channel export function logToOutputChannel(msg: any): void { - outputChannel.show(); if (msg instanceof Array) { msg.forEach(element => { outputChannel.appendLine(element.toString()); @@ -122,6 +121,10 @@ export function logToOutputChannel(msg: any): void { } } +export function openOutputChannel(): void { + outputChannel.show(); +} + // Helper to log debug messages export function logDebug(msg: any): void { let config = vscode.workspace.getConfiguration(Constants.extensionConfigSectionName); @@ -148,6 +151,15 @@ export function showErrorMsg(msg: string): void { vscode.window.showErrorMessage(Constants.extensionName + ': ' + msg); } +// Helper to show an error message with an option to open the output channel +export function showOutputChannelErrorMsg(msg: string): void { + vscode.window.showErrorMessage(msg, LocalizedConstants.showOutputChannelActionButtonText).then((result) => { + if (result === LocalizedConstants.showOutputChannelActionButtonText) { + openOutputChannel(); + } + }); +} + export function isEmpty(str: any): boolean { return (!str || '' === str); } From 0753e88b10718f15bd44a4b1da9f721ae3e403ac Mon Sep 17 00:00:00 2001 From: Aasim Khan Date: Fri, 17 Feb 2023 14:32:02 -0800 Subject: [PATCH 14/15] Update localization/xliff/enu/constants/localizedConstants.enu.xlf Co-authored-by: Charles Gagnon --- localization/xliff/enu/constants/localizedConstants.enu.xlf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/localization/xliff/enu/constants/localizedConstants.enu.xlf b/localization/xliff/enu/constants/localizedConstants.enu.xlf index 0c0ccbe7f2..55e09c87ed 100644 --- a/localization/xliff/enu/constants/localizedConstants.enu.xlf +++ b/localization/xliff/enu/constants/localizedConstants.enu.xlf @@ -588,7 +588,7 @@ Width cannot be 0 or negative - An error occurred refreshing nodes. See the MSSQL output + An error occurred refreshing nodes. See the MSSQL output channel for more details. Show MSSQL output From 639bab2a5ca26651d0086e3f61cb57c25107a900 Mon Sep 17 00:00:00 2001 From: Aasim Khan Date: Tue, 21 Feb 2023 00:39:41 -0800 Subject: [PATCH 15/15] Pushing new sts version --- src/configurations/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/config.json b/src/configurations/config.json index f759cd7689..7f57861ada 100644 --- a/src/configurations/config.json +++ b/src/configurations/config.json @@ -1,7 +1,7 @@ { "service": { "downloadUrl": "https://github.com/Microsoft/sqltoolsservice/releases/download/{#version#}/microsoft.sqltools.servicelayer-{#fileName#}", - "version": "4.5.0.20", + "version": "4.5.0.26", "downloadFileNames": { "Windows_86": "win-x86-net7.0.zip", "Windows_64": "win-x64-net7.0.zip",