Change:
Ability to update VS Code from the command palette as I have disabled activity bar and have to reenable it to update VS Code. Also, there is a palette option to check for extensions updates, but not for the whole app Steps: Command palette VS Code
First timer here. Could I give this one a shot?
I can do this work.
Hello there, I'm experienced developer and would like to contribute.
Hello there, I am a developer and I have gone through the whole code base and I think that I can add this feature without much problem. Can I please give it a shot?
Please do, you can check the
I have implemented this feature in . Kindly review it.
Works nicely, for downloading updates, but a command doesn't show to Restart To Update.

Discussion:
*  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <del> export const ShowCurrentReleaseNotesActionId = 'update.showCurrentReleaseNotes'; </del>  No newline at end of file <ins> export const ShowCurrentReleaseNotesActionId = 'update.showCurrentReleaseNotes'; export const CheckForVSCodeUpdateActionId = 'update.checkForVSCodeUpdate'; </ins>  No newline at end of file

import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions'; import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actions'; import { SyncActionDescriptor } from 'vs/platform/actions/common/actions'; <del> import { ShowCurrentReleaseNotesAction, ProductContribution, UpdateContribution, Win3264BitContribution } from './update'; </del> <ins> import { CheckForVSCodeUpdateAction, ShowCurrentReleaseNotesAction, ProductContribution, UpdateContribution, Win3264BitContribution, } from './update'; </ins> import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle'; const workbench = Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench);

workbench.registerWorkbenchContribution(UpdateContribution, LifecyclePhase.Restored); <ins> const actionRegistry = Registry.as<IWorkbenchActionRegistry>(ActionExtensions.WorkbenchActions); </ins> // Editor <del> Registry.as<IWorkbenchActionRegistry>(ActionExtensions.WorkbenchActions) </del> <ins> actionRegistry </ins> .registerWorkbenchAction(new SyncActionDescriptor(ShowCurrentReleaseNotesAction, ShowCurrentReleaseNotesAction.ID, ShowCurrentReleaseNotesAction.LABEL), 'Show Release Notes'); <ins> actionRegistry .registerWorkbenchAction(new SyncActionDescriptor(CheckForVSCodeUpdateAction, CheckForVSCodeUpdateAction.ID, CheckForVSCodeUpdateAction.LABEL), 'Check for VS Code Update'); </ins>

import { MenuRegistry, MenuId } from 'vs/platform/actions/common/actions'; import { CommandsRegistry } from 'vs/platform/commands/common/commands'; import { FalseContext } from 'vs/platform/contextkey/common/contextkeys'; <del> import { ShowCurrentReleaseNotesActionId } from 'vs/workbench/contrib/update/common/update'; </del> <ins> import { ShowCurrentReleaseNotesActionId, CheckForVSCodeUpdateActionId } from 'vs/workbench/contrib/update/common/update'; </ins> import { IWindowService, IWindowsService } from 'vs/platform/windows/common/windows'; const CONTEXT_UPDATE_STATE = new RawContextKey<string>('updateState', StateType.Uninitialized); let releaseNotesManager: ReleaseNotesManager | undefined = undefined;

}); } } <ins> export class CheckForVSCodeUpdateAction extends Action { static readonly ID = CheckForVSCodeUpdateActionId; static LABEL = nls.localize('checkForVSCodeUpdate', "Check for VS Code Update"); constructor( id: string, label: string, @IWorkbenchEnvironmentService private readonly environmentService: IWorkbenchEnvironmentService, @IUpdateService private readonly updateService: IUpdateService, ) { super(id, label, undefined, true); } run(): Promise<void> { return this.updateService.checkForUpdates({ windowId: this.environmentService.configuration.windowId }); } } </ins>