diff --git a/extensions/mssql/src/constants.ts b/extensions/mssql/src/constants.ts index 10c57a67d3..119e9aa574 100644 --- a/extensions/mssql/src/constants.ts +++ b/extensions/mssql/src/constants.ts @@ -33,6 +33,8 @@ export const configObjectExplorerGroupBySchemaFlagName = 'mssql.objectExplorer.g export const configAsyncParallelProcessingName = 'mssql.parallelMessageProcessing'; export const configEnableSqlAuthenticationProviderName = 'mssql.enableSqlAuthenticationProvider'; export const configEnableConnectionPoolingName = 'mssql.enableConnectionPooling'; +export const configHttpProxy = 'http.proxy'; +export const configHttpProxyStrictSSL = 'http.proxyStrictSSL'; // COMMANDNAMES ////////////////////////////////////////////////////////// export const cmdObjectExplorerEnableGroupBySchemaCommand = 'mssql.enableGroupBySchema'; diff --git a/extensions/mssql/src/main.ts b/extensions/mssql/src/main.ts index 0101fe7936..d0bbd8357b 100644 --- a/extensions/mssql/src/main.ts +++ b/extensions/mssql/src/main.ts @@ -153,6 +153,10 @@ export async function activate(context: vscode.ExtensionContext): Promise(configProxyStrictSSL, true); // true by default + } return true; // true by default. +} /** * The tracing level defined in the package.json */ @@ -202,6 +218,15 @@ export function getCommonLaunchArgsAndCleanupOldLogFiles(logPath: string, fileNa } // Always enable autoflush so that log entries are written immediately to disk, otherwise we can end up with partial logs launchArgs.push('--autoflush-log'); + + let httpProxy = getHttpProxyUrl(); + if (httpProxy) { + launchArgs.push('--http-proxy-url'); + launchArgs.push(httpProxy); + if (getHttpProxyStrictSSL()) { + launchArgs.push('--http-proxy-strict-ssl') + } + } return launchArgs; }