diff --git a/src/vs/workbench/contrib/userDataSync/browser/userDataSync.ts b/src/vs/workbench/contrib/userDataSync/browser/userDataSync.ts index c8e3f5c636f2807e48372e50b0e3e8ce820cbd4e..d3a24fc66f32ae30515af174181916417d8004f0 100644 --- a/src/vs/workbench/contrib/userDataSync/browser/userDataSync.ts +++ b/src/vs/workbench/contrib/userDataSync/browser/userDataSync.ts @@ -243,17 +243,20 @@ export class UserDataSyncWorkbenchContribution extends Disposable implements IWo MenuRegistry.appendMenuItem(MenuId.GlobalActivity, signInMenuItem); MenuRegistry.appendMenuItem(MenuId.CommandPalette, signInMenuItem); - const stopSyncMenuItem: IMenuItem = { + const stopSycCommand = { + id: 'workbench.userData.actions.stopSync', + title: localize('stop sync', "Configuration Sync: Turn Off") + }; + CommandsRegistry.registerCommand(stopSycCommand.id, () => this.turnOff()); + MenuRegistry.appendMenuItem(MenuId.GlobalActivity, { group: '5_sync', - command: { - id: 'workbench.userData.actions.stopSync', - title: localize('stop sync', "Configuration Sync: Turn Off") - }, + command: stopSycCommand, + when: ContextKeyExpr.and(ContextKeyExpr.has(`config.${UserDataSyncWorkbenchContribution.ENABLEMENT_SETTING}`), CONTEXT_AUTH_TOKEN_STATE.isEqualTo(AuthTokenStatus.Active), CONTEXT_SYNC_STATE.notEqualsTo(SyncStatus.Uninitialized), CONTEXT_SYNC_STATE.notEqualsTo(SyncStatus.HasConflicts)) + }); + MenuRegistry.appendMenuItem(MenuId.CommandPalette, { + command: stopSycCommand, when: ContextKeyExpr.and(CONTEXT_SYNC_STATE.notEqualsTo(SyncStatus.Uninitialized), ContextKeyExpr.has(`config.${UserDataSyncWorkbenchContribution.ENABLEMENT_SETTING}`)), - }; - CommandsRegistry.registerCommand(stopSyncMenuItem.command.id, () => this.turnOff()); - MenuRegistry.appendMenuItem(MenuId.GlobalActivity, stopSyncMenuItem); - MenuRegistry.appendMenuItem(MenuId.CommandPalette, stopSyncMenuItem); + }); const resolveConflictsMenuItem: IMenuItem = { group: '5_sync',