|
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