Merge from vscode e74405d11443c5361c31e2bc341866d146eee206 (#8740)

This commit is contained in:
Anthony Dresser
2019-12-18 23:36:29 -08:00
committed by GitHub
parent 48dcb7258e
commit 099916bf19
109 changed files with 1327 additions and 910 deletions

View File

@@ -727,7 +727,7 @@ export class ManageExtensionAction extends ExtensionDropDownAction {
groups.push([this.instantiationService.createInstance(InstallAnotherVersionAction)]);
if (this.extension) {
const extensionActions: ExtensionAction[] = [this.instantiationService.createInstance(ExtensionInfoAction)];
const extensionActions: ExtensionAction[] = [this.instantiationService.createInstance(ExtensionInfoAction), this.instantiationService.createInstance(CopyExtensionIdAction)];
if (this.extension.local && this.extension.local.manifest.contributes && this.extension.local.manifest.contributes.configuration) {
extensionActions.push(this.instantiationService.createInstance(ExtensionSettingsAction));
}
@@ -812,8 +812,8 @@ export class InstallAnotherVersionAction extends ExtensionAction {
export class ExtensionInfoAction extends ExtensionAction {
static readonly ID = 'extensions.extensionInfo';
static readonly LABEL = localize('extensionInfoAction', "Copy Extension Information");
static readonly ID = 'workbench.extensions.action.copyExtension';
static readonly LABEL = localize('workbench.extensions.action.copyExtension', "Copy");
constructor(
@IClipboardService private readonly clipboardService: IClipboardService
@@ -844,6 +844,30 @@ export class ExtensionInfoAction extends ExtensionAction {
}
}
export class CopyExtensionIdAction extends ExtensionAction {
static readonly ID = 'workbench.extensions.action.copyExtensionId';
static readonly LABEL = localize('workbench.extensions.action.copyExtensionId', "Copy Extension Id");
constructor(
@IClipboardService private readonly clipboardService: IClipboardService
) {
super(CopyExtensionIdAction.ID, CopyExtensionIdAction.LABEL);
this.update();
}
update(): void {
this.enabled = !!this.extension;
}
async run(): Promise<any> {
if (!this.extension) {
return;
}
return this.clipboardService.writeText(this.extension.identifier.id);
}
}
export class ExtensionSettingsAction extends ExtensionAction {
static readonly ID = 'extensions.extensionSettings';