diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts index 9b7717747f19db9b5a668169c53bdda49d4cde74..83933d5871370a61d81b5f3b0e8b9f1f4b6b0734 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts @@ -1609,7 +1609,7 @@ export class ShowRecommendedExtensionsAction extends Action { export class ShowSyncedExtensionsAction extends Action { static readonly ID = 'workbench.extensions.action.listSyncedExtensions'; - static LABEL = localize('showSyncedExtensions', "Show My Accoount Extensions"); + static LABEL = localize('showSyncedExtensions', "Show My Account Extensions"); constructor( id: string, diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts b/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts index 8278838492b74084aaff8d38540dd23c69f015fe..69fa4fdf39c1e9c4126fdde335c5b4462d70ce8c 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts @@ -58,7 +58,7 @@ import { ViewContainerViewlet } from 'vs/workbench/browser/parts/views/viewsView import { RemoteNameContext } from 'vs/workbench/browser/contextkeys'; import { ILabelService } from 'vs/platform/label/common/label'; import { MementoObject } from 'vs/workbench/common/memento'; -import { SyncStatus, CONTEXT_SYNC_STATE } from 'vs/platform/userDataSync/common/userDataSync'; +import { SyncStatus, CONTEXT_SYNC_STATE, IUserDataSyncService } from 'vs/platform/userDataSync/common/userDataSync'; const NonEmptyWorkspaceContext = new RawContextKey('nonEmptyWorkspace', false); const DefaultViewsContext = new RawContextKey('defaultExtensionViews', true); @@ -366,7 +366,8 @@ export class ExtensionsViewlet extends ViewContainerViewlet implements IExtensio @IWorkspaceContextService contextService: IWorkspaceContextService, @IContextKeyService contextKeyService: IContextKeyService, @IContextMenuService contextMenuService: IContextMenuService, - @IExtensionService extensionService: IExtensionService + @IExtensionService extensionService: IExtensionService, + @IUserDataSyncService private readonly userDataSyncService: IUserDataSyncService ) { super(VIEWLET_ID, `${VIEWLET_ID}.state`, true, configurationService, layoutService, telemetryService, storageService, instantiationService, themeService, contextMenuService, extensionService, contextService); @@ -400,6 +401,15 @@ export class ExtensionsViewlet extends ViewContainerViewlet implements IExtensio this.defaultRecommendedExtensionsContextKey.set(!this.configurationService.getValue(ShowRecommendationsOnlyOnDemandKey)); } }, this)); + + let status = this.userDataSyncService.status; + this._register(this.userDataSyncService.onDidChangeStatus(() => { + const oldStatus = status; + status = this.userDataSyncService.status; + if (oldStatus === SyncStatus.Uninitialized || status === SyncStatus.Uninitialized) { + this.updateTitleArea(); + } + })); } create(parent: HTMLElement): void { @@ -483,7 +493,7 @@ export class ExtensionsViewlet extends ViewContainerViewlet implements IExtensio this.instantiationService.createInstance(ShowBuiltInExtensionsAction, ShowBuiltInExtensionsAction.ID, ShowBuiltInExtensionsAction.LABEL), this.instantiationService.createInstance(ShowRecommendedExtensionsAction, ShowRecommendedExtensionsAction.ID, ShowRecommendedExtensionsAction.LABEL), this.instantiationService.createInstance(ShowPopularExtensionsAction, ShowPopularExtensionsAction.ID, ShowPopularExtensionsAction.LABEL), - this.instantiationService.createInstance(ShowSyncedExtensionsAction, ShowSyncedExtensionsAction.ID, ShowSyncedExtensionsAction.LABEL), + ...(this.userDataSyncService.status !== SyncStatus.Uninitialized ? [this.instantiationService.createInstance(ShowSyncedExtensionsAction, ShowSyncedExtensionsAction.ID, ShowSyncedExtensionsAction.LABEL)] : []), new Separator(), this.instantiationService.createInstance(ChangeSortAction, 'extensions.sort.install', localize('sort by installs', "Sort By: Install Count"), this.onSearchChange, 'installs'), this.instantiationService.createInstance(ChangeSortAction, 'extensions.sort.rating', localize('sort by rating', "Sort By: Rating"), this.onSearchChange, 'rating'),