mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-05-12 11:23:49 +01:00
Redirect to Download VS Code if not opened
This commit is contained in:
parent
fc7ce9e71f
commit
ddcc5820e6
@ -283,46 +283,17 @@ export default class Explorer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public openInVsCode(): void {
|
public openInVsCode(): void {
|
||||||
const startTime = TelemetryProcessor.traceStart(Action.OpenVSCode);
|
|
||||||
const clearInProgressMessage = logConsoleProgress("Opening Visual Studio Code");
|
|
||||||
|
|
||||||
const activeTab = useTabs.getState().activeTab;
|
const activeTab = useTabs.getState().activeTab;
|
||||||
|
|
||||||
const baseUrl = `vscode://ms-azuretools.vscode-cosmosdb?resourceId=${userContext.databaseAccount.id}`;
|
const baseUrl = `vscode://ms-azuretools.vscode-cosmosdb?resourceId=${userContext.databaseAccount.id}`;
|
||||||
const vscodeUrl = activeTab
|
const vscodeUrl = activeTab
|
||||||
? `${baseUrl}&database=${activeTab.collection.databaseId}&container=${activeTab.collection?.id()}`
|
? `${baseUrl}&database=${activeTab.collection.databaseId}&container=${activeTab.collection?.id()}`
|
||||||
: baseUrl;
|
: baseUrl;
|
||||||
const vscodeInsidersUrl = vscodeUrl.replace("vscode://", "vscode-insiders://");
|
const vscodeInsidersUrl = vscodeUrl.replace("vscode://", "vscode-insiders://");
|
||||||
|
|
||||||
try {
|
const linkOpened =
|
||||||
const linkOpened =
|
(navigator.userAgent.includes("insiders") && window.open(vscodeInsidersUrl)) || window.open(vscodeUrl);
|
||||||
(navigator.userAgent.includes("Insiders") && window.open(vscodeInsidersUrl)) || window.open(vscodeUrl);
|
const myTimeout = setTimeout((linkOpened.location = "https://code.visualstudio.com/download"), 500);
|
||||||
|
clearTimeout(myTimeout);
|
||||||
if (!linkOpened.closed || typeof linkOpened.closed === "undefined") {
|
|
||||||
linkOpened.close();
|
|
||||||
useDialog.getState().openDialog({
|
|
||||||
isModal: true,
|
|
||||||
title: "Visual Studio Code Not Installed",
|
|
||||||
subText: "It appears Visual Studio Code is not installed on this device. Would you like to download it?",
|
|
||||||
primaryButtonText: "Download",
|
|
||||||
secondaryButtonText: "Cancel",
|
|
||||||
onPrimaryButtonClick: () => {
|
|
||||||
window.open("https://code.visualstudio.com/download", "_blank");
|
|
||||||
useDialog.getState().closeDialog();
|
|
||||||
},
|
|
||||||
onSecondaryButtonClick: () => {
|
|
||||||
useDialog.getState().closeDialog();
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
TelemetryProcessor.traceSuccess(Action.OpenVSCode, {}, startTime);
|
|
||||||
} catch (error) {
|
|
||||||
logConsoleError(`Failed to open Visual Studio Code. ${getErrorMessage(error)}`);
|
|
||||||
TelemetryProcessor.traceFailure(Action.OpenVSCode, {}, startTime);
|
|
||||||
} finally {
|
|
||||||
clearInProgressMessage();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async openCESCVAFeedbackBlade(): Promise<void> {
|
public async openCESCVAFeedbackBlade(): Promise<void> {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user