Skip to content

Commit 37c04d7

Browse files
committed
Remove extension from disabled list after uninstall
1 parent 8102ed5 commit 37c04d7

3 files changed

Lines changed: 6 additions & 3 deletions

File tree

src/vs/platform/extensions/common/extensions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,5 +90,5 @@ export interface IExtensionsRuntimeService {
9090
*
9191
* Throws error if enablement is requested for workspace and there is no workspace
9292
*/
93-
setEnablement(identifier: string, enable: boolean, displayName: string, workspace?: boolean): TPromise<boolean>;
93+
setEnablement(identifier: string, enable: boolean, workspace?: boolean): TPromise<boolean>;
9494
}

src/vs/workbench/parts/extensions/electron-browser/extensionsWorkbenchService.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -481,7 +481,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService {
481481
}
482482

483483
setEnablement(extension: IExtension, enable: boolean, workspace: boolean = false): TPromise<any> {
484-
return this.extensionsRuntimeService.setEnablement(extension.identifier, enable, extension.displayName, workspace).then(restart => {
484+
return this.extensionsRuntimeService.setEnablement(extension.identifier, enable, workspace).then(restart => {
485485
(<Extension>extension).needsReload = restart;
486486
this.telemetryService.publicLog(enable ? 'extension:enable' : 'extension:disable', extension.telemetryData);
487487
this._onChange.fire();
@@ -585,6 +585,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService {
585585

586586
private onDidUninstallExtension({id, error}: DidUninstallExtensionEvent): void {
587587
if (!error) {
588+
this.newlyInstalled = this.newlyInstalled.filter(e => e.local.id !== id);
588589
this.installed = this.installed.filter(e => e.local.id !== id);
589590
}
590591

@@ -596,9 +597,11 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService {
596597

597598
if (!error) {
598599
this.unInstalled.push(uninstalling.extension);
600+
this.extensionsRuntimeService.setEnablement(uninstalling.extension.identifier, true);
599601
uninstalling.extension.needsReload = true;
600602
this.reportTelemetry(uninstalling, true);
601603
}
604+
602605
this._onChange.fire();
603606
}
604607

src/vs/workbench/services/extensions/electron-browser/extensions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export class ExtensionsRuntimeService implements IExtensionsRuntimeService {
5656
});
5757
}
5858

59-
public setEnablement(identifier: string, enable: boolean, displayName: string, workspace: boolean = false): TPromise<boolean> {
59+
public setEnablement(identifier: string, enable: boolean, workspace: boolean = false): TPromise<boolean> {
6060
const disabled = this.getDisabledExtensionsFromStorage().indexOf(identifier) !== -1;
6161

6262
if (!enable === disabled) {

0 commit comments

Comments
 (0)