Path: blob/main/src/vs/workbench/contrib/extensions/common/reportExtensionIssueAction.ts
3296 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import * as nls from '../../../../nls.js';6import { Action } from '../../../../base/common/actions.js';7import { IExtensionDescription } from '../../../../platform/extensions/common/extensions.js';8import { IWorkbenchIssueService } from '../../issue/common/issue.js';910export class ReportExtensionIssueAction extends Action {1112private static readonly _id = 'workbench.extensions.action.reportExtensionIssue';13private static readonly _label = nls.localize('reportExtensionIssue', "Report Issue");1415// TODO: Consider passing in IExtensionStatus or IExtensionHostProfile for additional data16constructor(17private extension: IExtensionDescription,18@IWorkbenchIssueService private readonly issueService: IWorkbenchIssueService19) {20super(ReportExtensionIssueAction._id, ReportExtensionIssueAction._label, 'extension-action report-issue');2122this.enabled = extension.isBuiltin || (!!extension.repository && !!extension.repository.url);23}2425override async run(): Promise<void> {26await this.issueService.openReporter({27extensionId: this.extension.identifier.value,28});29}30}313233