Skip to content

Commit 615e6ce

Browse files
Have running extensions use the issure reporter instead (microsoft#159707)
have running extensions use the issure reporter instead
1 parent 8e25aed commit 615e6ce

File tree

5 files changed

+38
-92
lines changed

5 files changed

+38
-92
lines changed

src/vs/code/electron-sandbox/issue/issueReporterMain.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ export class IssueReporter extends Disposable {
7373
const mainProcessService = new ElectronIPCMainProcessService(configuration.windowId);
7474
this.nativeHostService = new NativeHostService(configuration.windowId, mainProcessService) as INativeHostService;
7575

76-
const targetExtension = configuration.data.extensionId ? configuration.data.enabledExtensions.find(extension => extension.id === configuration.data.extensionId) : undefined;
76+
const targetExtension = configuration.data.extensionId ? configuration.data.enabledExtensions.find(extension => extension.id.toLocaleLowerCase() === configuration.data.extensionId?.toLocaleLowerCase()) : undefined;
7777
this.issueReporterModel = new IssueReporterModel({
7878
...configuration.data,
7979
issueType: configuration.data.issueType || IssueType.Bug,

src/vs/workbench/contrib/extensions/browser/browserRuntimeExtensionsEditor.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { Action } from 'vs/base/common/actions';
77
import { IExtensionHostProfile } from 'vs/workbench/services/extensions/common/extensions';
88
import { ExtensionIdentifier } from 'vs/platform/extensions/common/extensions';
99
import { AbstractRuntimeExtensionsEditor, IRuntimeExtension } from 'vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor';
10+
import { ReportExtensionIssueAction } from 'vs/workbench/contrib/extensions/common/reportExtensionIssueAction';
1011

1112
export class RuntimeExtensionsEditor extends AbstractRuntimeExtensionsEditor {
1213

@@ -23,6 +24,9 @@ export class RuntimeExtensionsEditor extends AbstractRuntimeExtensionsEditor {
2324
}
2425

2526
protected _createReportExtensionIssueAction(element: IRuntimeExtension): Action | null {
27+
if (element.marketplaceInfo) {
28+
return this._instantiationService.createInstance(ReportExtensionIssueAction, element.description);
29+
}
2630
return null;
2731
}
2832

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*---------------------------------------------------------------------------------------------
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for license information.
4+
*--------------------------------------------------------------------------------------------*/
5+
6+
import * as nls from 'vs/nls';
7+
import { Action } from 'vs/base/common/actions';
8+
import { IExtensionDescription } from 'vs/platform/extensions/common/extensions';
9+
import { IWorkbenchIssueService } from 'vs/workbench/services/issue/common/issue';
10+
11+
export class ReportExtensionIssueAction extends Action {
12+
13+
private static readonly _id = 'workbench.extensions.action.reportExtensionIssue';
14+
private static readonly _label = nls.localize('reportExtensionIssue', "Report Issue");
15+
16+
// TODO: Consider passing in IExtensionStatus or IExtensionHostProfile for additional data
17+
constructor(
18+
private extension: IExtensionDescription,
19+
@IWorkbenchIssueService private readonly issueService: IWorkbenchIssueService
20+
) {
21+
super(ReportExtensionIssueAction._id, ReportExtensionIssueAction._label, 'extension-action report-issue');
22+
23+
this.enabled = extension.isBuiltin || (!!extension.repository && !!extension.repository.url);
24+
}
25+
26+
override async run(): Promise<void> {
27+
await this.issueService.openReporter({
28+
extensionId: this.extension.id,
29+
});
30+
}
31+
}

src/vs/workbench/contrib/extensions/electron-sandbox/reportExtensionIssueAction.ts

Lines changed: 0 additions & 84 deletions
This file was deleted.

src/vs/workbench/contrib/extensions/electron-sandbox/runtimeExtensionsEditor.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import { ILabelService } from 'vs/platform/label/common/label';
1919
import { ExtensionIdentifier } from 'vs/platform/extensions/common/extensions';
2020
import { SlowExtensionAction } from 'vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions';
2121
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
22-
import { ReportExtensionIssueAction } from 'vs/workbench/contrib/extensions/electron-sandbox/reportExtensionIssueAction';
22+
import { ReportExtensionIssueAction } from 'vs/workbench/contrib/extensions/common/reportExtensionIssueAction';
2323
import { AbstractRuntimeExtensionsEditor, IRuntimeExtension } from 'vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor';
2424
import { VSBuffer } from 'vs/base/common/buffer';
2525
import { URI } from 'vs/base/common/uri';
@@ -109,12 +109,7 @@ export class RuntimeExtensionsEditor extends AbstractRuntimeExtensionsEditor {
109109

110110
protected _createReportExtensionIssueAction(element: IRuntimeExtension): Action | null {
111111
if (element.marketplaceInfo) {
112-
return this._instantiationService.createInstance(ReportExtensionIssueAction, {
113-
description: element.description,
114-
marketplaceInfo: element.marketplaceInfo,
115-
status: element.status,
116-
unresponsiveProfile: element.unresponsiveProfile
117-
});
112+
return this._instantiationService.createInstance(ReportExtensionIssueAction, element.description);
118113
}
119114
return null;
120115
}

0 commit comments

Comments
 (0)