mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-17 02:51:36 -05:00
azdata extension fix/updates (#12008)
This commit is contained in:
@@ -1,10 +1,14 @@
|
|||||||
# Microsoft azdata Extension for Azure Data Studio
|
# Microsoft Azure Data CLI Extension for Azure Data Studio
|
||||||
|
|
||||||
Welcome to Microsoft azdata for Azure Data Studio!
|
Welcome to Microsoft Azure Data CLI Extension for Azure Data Studio!
|
||||||
|
|
||||||
|
**This extension is only applicable to customers in the Azure Arc data services private preview. Other usage is not supported at this time.**
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This extension adds support for azdata within Azure Data Studio.
|
This extension adds support for the Azure Data CLI (azdata) within Azure Data Studio.
|
||||||
|
|
||||||
|
See https://docs.microsoft.com/cli/azure/?view=azure-cli-latest for more information on the tool.
|
||||||
|
|
||||||
## Code of Conduct
|
## Code of Conduct
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"azdata.displayName": "azdata",
|
"azdata.displayName": "Azure Data CLI",
|
||||||
"azdata.description": "Support for Azure Data CLI. See https://docs.microsoft.com/cli/azure/?view=azure-cli-latest for more information.",
|
"azdata.description": "Support for Azure Data CLI.",
|
||||||
"azdata.config.title": "azdata Configuration",
|
"azdata.config.title": "Azure Data CLI Configuration",
|
||||||
"azdata.config.debug": "Log debug info to the output channel for all executed azdata commands"
|
"azdata.config.debug": "Log debug info to the output channel for all executed azdata commands"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -128,11 +128,18 @@ export class AzdataTool implements IAzdataTool {
|
|||||||
result: <R>output.result
|
result: <R>output.result
|
||||||
};
|
};
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
// Since the output is JSON we need to do some extra parsing here to get the correct stderr out.
|
|
||||||
// The actual value we get is something like ERROR: { stderr: '...' } so we also need to trim
|
|
||||||
// off the start that isn't a valid JSON blob
|
|
||||||
if (err instanceof ExitCodeError) {
|
if (err instanceof ExitCodeError) {
|
||||||
|
try {
|
||||||
|
// For azdata internal errors the output is JSON and so we need to do some extra parsing here
|
||||||
|
// to get the correct stderr out. The actual value we get is something like
|
||||||
|
// ERROR: { stderr: '...' }
|
||||||
|
// so we also need to trim off the start that isn't a valid JSON blob
|
||||||
err.stderr = JSON.parse(err.stderr.substring(err.stderr.indexOf('{'))).stderr;
|
err.stderr = JSON.parse(err.stderr.substring(err.stderr.indexOf('{'))).stderr;
|
||||||
|
} catch (err) {
|
||||||
|
// no op - it means this was probably some other generic error (such as command not being found)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
throw err;
|
throw err;
|
||||||
}
|
}
|
||||||
@@ -285,9 +292,8 @@ async function installAzdataLinux(): Promise<void> {
|
|||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
async function findSpecificAzdata(): Promise<IAzdataTool> {
|
async function findSpecificAzdata(): Promise<IAzdataTool> {
|
||||||
const promise = ((process.platform === 'win32') ? searchForCmd('azdata.cmd') : searchForCmd('azdata'));
|
const path = await ((process.platform === 'win32') ? searchForCmd('azdata.cmd') : searchForCmd('azdata'));
|
||||||
const path = `"${await promise}"`; // throws if azdata is not found
|
const versionOutput = await executeAzdataCommand(`"${path}"`, ['--version']);
|
||||||
const versionOutput = await executeAzdataCommand(path, ['--version']);
|
|
||||||
return new AzdataTool(path, parseVersion(versionOutput.stdout));
|
return new AzdataTool(path, parseVersion(versionOutput.stdout));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user