Skip to content

Commit ab7ccc9

Browse files
authored
handle URI or string in quick fix opener action (microsoft#167469)
fix microsoft#167463
1 parent a3b49d6 commit ab7ccc9

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

src/vs/workbench/contrib/terminal/browser/xterm/quickFixAddon.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import { ITerminalQuickFixProviderSelector, ITerminalQuickFixService } from 'vs/
2929
import { ITerminalQuickFixOptions, IResolvedExtensionOptions, IUnresolvedExtensionOptions, ITerminalCommandSelector, ITerminalQuickFix, IInternalOptions, ITerminalQuickFixCommandAction, ITerminalQuickFixOpenerAction } from 'vs/platform/terminal/common/xterm/terminalQuickFix';
3030
import { getLinesForCommand } from 'vs/platform/terminal/common/capabilities/commandDetectionCapability';
3131
import { IAnchor } from 'vs/base/browser/ui/contextview/contextview';
32+
import { URI } from 'vs/base/common/uri';
3233

3334
const quickFixTelemetryTitle = 'terminal/quick-fix';
3435
type QuickFixResultTelemetryEvent = {
@@ -382,7 +383,17 @@ export async function getQuickFixesForCommand(
382383
class: quickFix.type,
383384
enabled: true,
384385
run: () => {
385-
openerService.open(fix.uri.path);
386+
let uri: URI | undefined;
387+
if (URI.isUri(fix.uri)) {
388+
uri = fix.uri;
389+
} else if (typeof fix.uri === 'string') {
390+
uri = URI.parse(fix.uri);
391+
}
392+
393+
if (!uri) {
394+
return;
395+
}
396+
openerService.open(uri);
386397
// since no command gets run here, need to
387398
// clear the decoration and quick fix
388399
onDidRunQuickFixEmitter.fire(id);

0 commit comments

Comments
 (0)