diff --git a/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts b/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts index fbe6435ebadf6b07a775c51fff6089565820c86f..82a425562aa8219480027e5b35b8b5e529376748 100644 --- a/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts +++ b/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts @@ -780,7 +780,8 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService, if (i.enablementState === enablementState) { return false; } - return i.type === LocalExtensionType.User + const enable = enablementState === EnablementState.Enabled || enablementState === EnablementState.WorkspaceEnabled; + return (enable || i.type === LocalExtensionType.User) // Include all Extensions for enablement and only user extensions for disablement && (options.dependencies || options.pack) && extensions.some(extension => (options.dependencies && extension.dependencies.some(id => areSameExtensions({ id }, i)))