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 * runs the commands to install azdata, downloading the installation package if needed
*/ */
export async function installAzdata(): Promise<void> { export async function installAzdata(): Promise<void> {
const statusDisposable = vscode.window.setStatusBarMessage(loc.installingAzdata);
Logger.show(); Logger.show();
Logger.log(loc.installingAzdata); 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) { switch (process.platform) {
case 'win32': case 'win32':
await downloadAndInstallAzdataWin32(); await downloadAndInstallAzdataWin32();
@@ -256,19 +261,23 @@ export async function installAzdata(): Promise<void> {
default: default:
throw new Error(loc.platformUnsupported(process.platform)); throw new Error(loc.platformUnsupported(process.platform));
} }
} finally {
statusDisposable.dispose();
} }
);
} }
/** /**
* Updates the azdata using os appropriate method * Updates the azdata using os appropriate method
*/ */
export async function updateAzdata(): Promise<void> { export async function updateAzdata(): Promise<void> {
const statusDisposable = vscode.window.setStatusBarMessage(loc.updatingAzdata);
Logger.show(); Logger.show();
Logger.log(loc.updatingAzdata); 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) { switch (process.platform) {
case 'win32': case 'win32':
await downloadAndInstallAzdataWin32(); await downloadAndInstallAzdataWin32();
@@ -282,9 +291,8 @@ export async function updateAzdata(): Promise<void> {
default: default:
throw new Error(loc.platformUnsupported(process.platform)); throw new Error(loc.platformUnsupported(process.platform));
} }
} finally {
statusDisposable.dispose();
} }
);
} }
/** /**