mirror of
https://github.com/Microsoft/vscode
synced 2024-10-01 08:50:48 +00:00
add notification on auto restart (#215976)
This commit is contained in:
parent
1b6851d686
commit
be0e53510d
|
@ -16,7 +16,7 @@ import { append, $, Dimension, hide, show, DragAndDropObserver, trackFocus } fro
|
|||
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
|
||||
import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions';
|
||||
import { IExtensionsWorkbenchService, IExtensionsViewPaneContainer, VIEWLET_ID, CloseExtensionDetailsOnViewChangeKey, INSTALL_EXTENSION_FROM_VSIX_COMMAND_ID, WORKSPACE_RECOMMENDATIONS_VIEW_ID, AutoCheckUpdatesConfigurationKey, OUTDATED_EXTENSIONS_VIEW_ID, CONTEXT_HAS_GALLERY, extensionsSearchActionsMenu } from '../common/extensions';
|
||||
import { IExtensionsWorkbenchService, IExtensionsViewPaneContainer, VIEWLET_ID, CloseExtensionDetailsOnViewChangeKey, INSTALL_EXTENSION_FROM_VSIX_COMMAND_ID, WORKSPACE_RECOMMENDATIONS_VIEW_ID, AutoCheckUpdatesConfigurationKey, OUTDATED_EXTENSIONS_VIEW_ID, CONTEXT_HAS_GALLERY, extensionsSearchActionsMenu, AutoRestartConfigurationKey } from '../common/extensions';
|
||||
import { InstallLocalExtensionsInRemoteAction, InstallRemoteExtensionsInLocalAction } from 'vs/workbench/contrib/extensions/browser/extensionsActions';
|
||||
import { IExtensionManagementService } from 'vs/platform/extensionManagement/common/extensionManagement';
|
||||
import { IWorkbenchExtensionEnablementService, IExtensionManagementServerService, IExtensionManagementServer } from 'vs/workbench/services/extensionManagement/common/extensionManagement';
|
||||
|
@ -846,7 +846,8 @@ export class StatusUpdater extends Disposable implements IWorkbenchContribution
|
|||
constructor(
|
||||
@IActivityService private readonly activityService: IActivityService,
|
||||
@IExtensionsWorkbenchService private readonly extensionsWorkbenchService: IExtensionsWorkbenchService,
|
||||
@IWorkbenchExtensionEnablementService private readonly extensionEnablementService: IWorkbenchExtensionEnablementService
|
||||
@IWorkbenchExtensionEnablementService private readonly extensionEnablementService: IWorkbenchExtensionEnablementService,
|
||||
@IConfigurationService private readonly configurationService: IConfigurationService
|
||||
) {
|
||||
super();
|
||||
this.onServiceChange();
|
||||
|
@ -856,7 +857,7 @@ export class StatusUpdater extends Disposable implements IWorkbenchContribution
|
|||
private onServiceChange(): void {
|
||||
this.badgeHandle.clear();
|
||||
|
||||
const actionRequired = this.extensionsWorkbenchService.installed.filter(e => e.runtimeState !== undefined);
|
||||
const actionRequired = this.configurationService.getValue(AutoRestartConfigurationKey) === true ? [] : this.extensionsWorkbenchService.installed.filter(e => e.runtimeState !== undefined);
|
||||
const outdated = this.extensionsWorkbenchService.outdated.reduce((r, e) => r + (this.extensionEnablementService.isEnabled(e.local!) && !actionRequired.includes(e) ? 1 : 0), 0);
|
||||
const newBadgeNumber = outdated + actionRequired.length;
|
||||
if (newBadgeNumber > 0) {
|
||||
|
|
|
@ -30,7 +30,7 @@ import { IURLService, IURLHandler, IOpenURLOptions } from 'vs/platform/url/commo
|
|||
import { ExtensionsInput, IExtensionEditorOptions } from 'vs/workbench/contrib/extensions/common/extensionsInput';
|
||||
import { ILogService } from 'vs/platform/log/common/log';
|
||||
import { IProgressOptions, IProgressService, ProgressLocation } from 'vs/platform/progress/common/progress';
|
||||
import { INotificationService, Severity } from 'vs/platform/notification/common/notification';
|
||||
import { INotificationService, NotificationPriority, Severity } from 'vs/platform/notification/common/notification';
|
||||
import * as resources from 'vs/base/common/resources';
|
||||
import { CancellationToken } from 'vs/base/common/cancellation';
|
||||
import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage';
|
||||
|
@ -1345,6 +1345,13 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
|
|||
if (toAdd.length || toRemove.length) {
|
||||
if (await this.extensionService.stopExtensionHosts(nls.localize('restart', "Enable or Disable extensions"), auto)) {
|
||||
await this.extensionService.startExtensionHosts({ toAdd, toRemove });
|
||||
if (auto) {
|
||||
this.notificationService.notify({
|
||||
severity: Severity.Info,
|
||||
message: nls.localize('extensionsAutoRestart', "Extensions were auto restarted to enable updates."),
|
||||
priority: NotificationPriority.SILENT
|
||||
});
|
||||
}
|
||||
type ExtensionsAutoRestartClassification = {
|
||||
owner: 'sandy081';
|
||||
comment: 'Report when extensions are auto restarted';
|
||||
|
|
Loading…
Reference in a new issue