Skip to content

Commit df0a857

Browse files
authored
Install all outdated extensions action (microsoft#162170)
Install all outdated extensions
1 parent e59d1e2 commit df0a857

File tree

3 files changed

+21
-12
lines changed

3 files changed

+21
-12
lines changed

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

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { IExtensionIgnoredRecommendationsService, IExtensionRecommendationsServi
1414
import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions, IWorkbenchContribution } from 'vs/workbench/common/contributions';
1515
import { IOutputChannelRegistry, Extensions as OutputExtensions } from 'vs/workbench/services/output/common/output';
1616
import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
17-
import { VIEWLET_ID, IExtensionsWorkbenchService, IExtensionsViewPaneContainer, TOGGLE_IGNORE_EXTENSION_ACTION_ID, INSTALL_EXTENSION_FROM_VSIX_COMMAND_ID, WORKSPACE_RECOMMENDATIONS_VIEW_ID, IWorkspaceRecommendedExtensionsView, AutoUpdateConfigurationKey, HasOutdatedExtensionsContext, SELECT_INSTALL_VSIX_EXTENSION_COMMAND_ID, LIST_WORKSPACE_UNSUPPORTED_EXTENSIONS_COMMAND_ID, ExtensionEditorTab, THEME_ACTIONS_GROUP, INSTALL_ACTIONS_GROUP } from 'vs/workbench/contrib/extensions/common/extensions';
17+
import { VIEWLET_ID, IExtensionsWorkbenchService, IExtensionsViewPaneContainer, TOGGLE_IGNORE_EXTENSION_ACTION_ID, INSTALL_EXTENSION_FROM_VSIX_COMMAND_ID, WORKSPACE_RECOMMENDATIONS_VIEW_ID, IWorkspaceRecommendedExtensionsView, AutoUpdateConfigurationKey, HasOutdatedExtensionsContext, SELECT_INSTALL_VSIX_EXTENSION_COMMAND_ID, LIST_WORKSPACE_UNSUPPORTED_EXTENSIONS_COMMAND_ID, ExtensionEditorTab, THEME_ACTIONS_GROUP, INSTALL_ACTIONS_GROUP, OUTDATED_EXTENSIONS_VIEW_ID } from 'vs/workbench/contrib/extensions/common/extensions';
1818
import { ReinstallAction, InstallSpecificVersionOfExtensionAction, ConfigureWorkspaceRecommendedExtensionsAction, ConfigureWorkspaceFolderRecommendedExtensionsAction, PromptExtensionInstallFailureAction, SearchExtensionsAction, SwitchToPreReleaseVersionAction, SwitchToReleasedVersionAction, SetColorThemeAction, SetFileIconThemeAction, SetProductIconThemeAction, ClearLanguageAction } from 'vs/workbench/contrib/extensions/browser/extensionsActions';
1919
import { ExtensionsInput } from 'vs/workbench/contrib/extensions/common/extensionsInput';
2020
import { ExtensionEditor } from 'vs/workbench/contrib/extensions/browser/extensionEditor';
@@ -653,15 +653,23 @@ class ExtensionsContributions extends Disposable implements IWorkbenchContributi
653653
title: { value: localize('updateAll', "Update All Extensions"), original: 'Update All Extensions' },
654654
category: ExtensionsLocalizedLabel,
655655
precondition: HasOutdatedExtensionsContext,
656-
menu: [{
657-
id: MenuId.CommandPalette,
658-
when: ContextKeyExpr.and(CONTEXT_HAS_GALLERY, ContextKeyExpr.or(CONTEXT_HAS_LOCAL_SERVER, CONTEXT_HAS_REMOTE_SERVER, CONTEXT_HAS_WEB_SERVER))
659-
}, {
660-
id: MenuId.ViewContainerTitle,
661-
when: ContextKeyExpr.and(ContextKeyExpr.equals('viewContainer', VIEWLET_ID), ContextKeyExpr.or(ContextKeyExpr.has(`config.${AutoUpdateConfigurationKey}`).negate(), ContextKeyExpr.equals(`config.${AutoUpdateConfigurationKey}`, 'onlyEnabledExtensions'))),
662-
group: '1_updates',
663-
order: 2
664-
}],
656+
menu: [
657+
{
658+
id: MenuId.CommandPalette,
659+
when: ContextKeyExpr.and(CONTEXT_HAS_GALLERY, ContextKeyExpr.or(CONTEXT_HAS_LOCAL_SERVER, CONTEXT_HAS_REMOTE_SERVER, CONTEXT_HAS_WEB_SERVER))
660+
}, {
661+
id: MenuId.ViewContainerTitle,
662+
when: ContextKeyExpr.and(ContextKeyExpr.equals('viewContainer', VIEWLET_ID), ContextKeyExpr.or(ContextKeyExpr.has(`config.${AutoUpdateConfigurationKey}`).negate(), ContextKeyExpr.equals(`config.${AutoUpdateConfigurationKey}`, 'onlyEnabledExtensions'))),
663+
group: '1_updates',
664+
order: 2
665+
}, {
666+
id: MenuId.ViewTitle,
667+
when: ContextKeyExpr.equals('view', OUTDATED_EXTENSIONS_VIEW_ID),
668+
group: 'navigation',
669+
order: 1
670+
}
671+
],
672+
icon: installWorkspaceRecommendedIcon,
665673
run: () => {
666674
return Promise.all(this.extensionsWorkbenchService.outdated.map(async extension => {
667675
try {

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import { append, $, Dimension, hide, show, DragAndDropObserver } from 'vs/base/b
1616
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
1717
import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
1818
import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions';
19-
import { IExtensionsWorkbenchService, IExtensionsViewPaneContainer, VIEWLET_ID, CloseExtensionDetailsOnViewChangeKey, INSTALL_EXTENSION_FROM_VSIX_COMMAND_ID, WORKSPACE_RECOMMENDATIONS_VIEW_ID, AutoCheckUpdatesConfigurationKey } from '../common/extensions';
19+
import { IExtensionsWorkbenchService, IExtensionsViewPaneContainer, VIEWLET_ID, CloseExtensionDetailsOnViewChangeKey, INSTALL_EXTENSION_FROM_VSIX_COMMAND_ID, WORKSPACE_RECOMMENDATIONS_VIEW_ID, AutoCheckUpdatesConfigurationKey, OUTDATED_EXTENSIONS_VIEW_ID } from '../common/extensions';
2020
import { InstallLocalExtensionsInRemoteAction, InstallRemoteExtensionsInLocalAction } from 'vs/workbench/contrib/extensions/browser/extensionsActions';
2121
import { IExtensionManagementService } from 'vs/platform/extensionManagement/common/extensionManagement';
2222
import { IWorkbenchExtensionEnablementService, IExtensionManagementServerService, IExtensionManagementServer } from 'vs/workbench/services/extensionManagement/common/extensionManagement';
@@ -328,7 +328,7 @@ export class ExtensionsViewletViewsContribution implements IWorkbenchContributio
328328
* View used for searching outdated extensions
329329
*/
330330
viewDescriptors.push({
331-
id: 'workbench.views.extensions.searchOutdated',
331+
id: OUTDATED_EXTENSIONS_VIEW_ID,
332332
name: localize('availableUpdates', "Available Updates"),
333333
ctorDescriptor: new SyncDescriptor(OutdatedExtensionsView, [{}]),
334334
when: ContextKeyExpr.or(SearchExtensionUpdatesContext, ContextKeyExpr.has('searchOutdatedExtensions')),

src/vs/workbench/contrib/extensions/common/extensions.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,7 @@ export class ExtensionContainers extends Disposable {
183183
}
184184

185185
export const WORKSPACE_RECOMMENDATIONS_VIEW_ID = 'workbench.views.extensions.workspaceRecommendations';
186+
export const OUTDATED_EXTENSIONS_VIEW_ID = 'workbench.views.extensions.searchOutdated';
186187
export const TOGGLE_IGNORE_EXTENSION_ACTION_ID = 'workbench.extensions.action.toggleIgnoreExtension';
187188
export const SELECT_INSTALL_VSIX_EXTENSION_COMMAND_ID = 'workbench.extensions.action.installVSIX';
188189
export const INSTALL_EXTENSION_FROM_VSIX_COMMAND_ID = 'workbench.extensions.command.installFromVSIX';

0 commit comments

Comments
 (0)