|
3 | 3 | * Licensed under the MIT License. See License.txt in the project root for license information. |
4 | 4 | *--------------------------------------------------------------------------------------------*/ |
5 | 5 |
|
| 6 | +import execa = require('execa'); |
6 | 7 | import { promises, readFileSync } from 'fs'; |
7 | 8 | import { join } from 'path'; |
8 | 9 | import { fileURLToPath } from 'url'; |
9 | 10 | import * as vscode from 'vscode'; |
10 | | -import { ChromeBrowserFinder, EdgeBrowserFinder } from 'vscode-js-debug-browsers'; |
| 11 | +import { ChromeBrowserFinder, EdgeBrowserFinder } from '@vscode/js-debug-browsers'; |
11 | 12 | import { RazorLogger } from '../razorLogger'; |
12 | 13 | import { JS_DEBUG_NAME, SERVER_APP_NAME } from './constants'; |
13 | 14 | import { onDidTerminateDebugSession } from './terminateDebugHandler'; |
@@ -180,28 +181,33 @@ export class BlazorDebugConfigurationProvider implements vscode.DebugConfigurati |
180 | 181 |
|
181 | 182 | public static async determineBrowserType(): Promise<string | undefined> { |
182 | 183 | // There was no browser specified by the user, so we will do some auto-detection to find a browser, |
183 | | - // favoring chrome if multiple valid options are installed. |
184 | | - const chromeBrowserFinder = new ChromeBrowserFinder(process.env, promises, null); |
185 | | - const chromeInstallations = await chromeBrowserFinder.findAll(); |
186 | | - if (chromeInstallations.length > 0) { |
| 184 | + // favoring Edge if multiple valid options are installed. |
| 185 | + const edgeBrowserFinder = new EdgeBrowserFinder(process.env, promises, execa); |
| 186 | + const edgeInstallations = await edgeBrowserFinder.findAll(); |
| 187 | + if (edgeInstallations.length > 0) { |
187 | 188 | showInformationMessage( |
188 | 189 | vscode, |
189 | | - BlazorDebugConfigurationProvider.autoDetectUserNotice.replace('{0}', `'Chrome'`) |
| 190 | + BlazorDebugConfigurationProvider.autoDetectUserNotice.replace('{0}', `'Edge'`) |
190 | 191 | ); |
191 | | - return BlazorDebugConfigurationProvider.chromeBrowserType; |
| 192 | + |
| 193 | + return BlazorDebugConfigurationProvider.edgeBrowserType; |
192 | 194 | } |
193 | 195 |
|
194 | | - const edgeBrowserFinder = new EdgeBrowserFinder(process.env, promises, null); |
195 | | - const edgeInstallations = await edgeBrowserFinder.findAll(); |
196 | | - if (edgeInstallations.length > 0) { |
| 196 | + const chromeBrowserFinder = new ChromeBrowserFinder(process.env, promises, execa); |
| 197 | + const chromeInstallations = await chromeBrowserFinder.findAll(); |
| 198 | + if (chromeInstallations.length > 0) { |
197 | 199 | showInformationMessage( |
198 | 200 | vscode, |
199 | | - BlazorDebugConfigurationProvider.autoDetectUserNotice.replace('{0}', `'Edge'`) |
| 201 | + BlazorDebugConfigurationProvider.autoDetectUserNotice.replace('{0}', `'Chrome'`) |
200 | 202 | ); |
201 | | - return BlazorDebugConfigurationProvider.edgeBrowserType; |
| 203 | + |
| 204 | + return BlazorDebugConfigurationProvider.chromeBrowserType; |
202 | 205 | } |
203 | 206 |
|
204 | | - showErrorMessage(vscode, vscode.l10n.t('Run and Debug: A valid browser is not installed')); |
| 207 | + showErrorMessage( |
| 208 | + vscode, |
| 209 | + vscode.l10n.t('Run and Debug: A valid browser is not installed. Please install Edge or Chrome.') |
| 210 | + ); |
205 | 211 | return undefined; |
206 | 212 | } |
207 | 213 | } |
0 commit comments