Use progress notification for azdata install/updates (#13355)

This commit is contained in:
Charles Gagnon
2020-11-11 15:14:02 -08:00
committed by GitHub
parent d64062dfe0
commit b17ce7a531

View File

@@ -239,10 +239,15 @@ export async function findAzdata(): Promise<IAzdataTool> {
* runs the commands to install azdata, downloading the installation package if needed
*/
export async function installAzdata(): Promise<void> {
const statusDisposable = vscode.window.setStatusBarMessage(loc.installingAzdata);
Logger.show();
Logger.log(loc.installingAzdata);
try {
await vscode.window.withProgress(
{
location: vscode.ProgressLocation.Notification,
title: loc.installingAzdata,
cancellable: false
},
async (_progress, _token): Promise<void> => {
switch (process.platform) {
case 'win32':
await downloadAndInstallAzdataWin32();
@@ -256,19 +261,23 @@ export async function installAzdata(): Promise<void> {
default:
throw new Error(loc.platformUnsupported(process.platform));
}
} finally {
statusDisposable.dispose();
}
);
}
/**
* Updates the azdata using os appropriate method
*/
export async function updateAzdata(): Promise<void> {
const statusDisposable = vscode.window.setStatusBarMessage(loc.updatingAzdata);
Logger.show();
Logger.log(loc.updatingAzdata);
try {
await vscode.window.withProgress(
{
location: vscode.ProgressLocation.Notification,
title: loc.updatingAzdata,
cancellable: false
},
async (_progress, _token): Promise<void> => {
switch (process.platform) {
case 'win32':
await downloadAndInstallAzdataWin32();
@@ -282,9 +291,8 @@ export async function updateAzdata(): Promise<void> {
default:
throw new Error(loc.platformUnsupported(process.platform));
}
} finally {
statusDisposable.dispose();
}
);
}
/**