@@ -475,10 +475,10 @@ export class Workbench extends Disposable implements IPartService {
475475 serviceCollection . set ( ILabelService , new SyncDescriptor ( LabelService , undefined , true ) ) ;
476476
477477 // Clipboard
478- serviceCollection . set ( IClipboardService , new SyncDescriptor ( ClipboardService ) ) ;
478+ serviceCollection . set ( IClipboardService , new SyncDescriptor ( ClipboardService , undefined , true ) ) ;
479479
480480 // Broadcast
481- serviceCollection . set ( IBroadcastService , new SyncDescriptor ( BroadcastService , [ this . configuration . windowId ] ) ) ;
481+ serviceCollection . set ( IBroadcastService , new SyncDescriptor ( BroadcastService , [ this . configuration . windowId ] , true ) ) ;
482482
483483 // Notifications
484484 this . notificationService = new NotificationService ( ) ;
@@ -520,7 +520,7 @@ export class Workbench extends Disposable implements IPartService {
520520 this . _register ( configurationTelemetry ( this . telemetryService , this . configurationService ) ) ;
521521
522522 // Dialogs
523- serviceCollection . set ( IDialogService , this . instantiationService . createInstance ( DialogService ) ) ;
523+ serviceCollection . set ( IDialogService , new SyncDescriptor ( DialogService , undefined , true ) ) ;
524524
525525 // Lifecycle
526526 this . lifecycleService = this . instantiationService . createInstance ( LifecycleService ) ;
@@ -565,8 +565,7 @@ export class Workbench extends Disposable implements IPartService {
565565 serviceCollection . set ( IExtensionManagementService , new SyncDescriptor ( MultiExtensionManagementService ) ) ;
566566
567567 // Extension Enablement
568- const extensionEnablementService = this . _register ( this . instantiationService . createInstance ( ExtensionEnablementService ) ) ;
569- serviceCollection . set ( IExtensionEnablementService , extensionEnablementService ) ;
568+ serviceCollection . set ( IExtensionEnablementService , new SyncDescriptor ( ExtensionEnablementService , undefined , true ) ) ;
570569
571570 // Extensions
572571 serviceCollection . set ( IExtensionService , this . instantiationService . createInstance ( ExtensionService ) ) ;
@@ -610,7 +609,7 @@ export class Workbench extends Disposable implements IPartService {
610609 serviceCollection . set ( ISearchHistoryService , new SyncDescriptor ( SearchHistoryService ) ) ;
611610
612611 // Code Editor
613- serviceCollection . set ( ICodeEditorService , new SyncDescriptor ( CodeEditorService ) ) ;
612+ serviceCollection . set ( ICodeEditorService , new SyncDescriptor ( CodeEditorService , undefined , true ) ) ;
614613
615614 // Opener
616615 serviceCollection . set ( IOpenerService , new SyncDescriptor ( OpenerService , undefined , true ) ) ;
@@ -632,10 +631,11 @@ export class Workbench extends Disposable implements IPartService {
632631 // Progress 2
633632 serviceCollection . set ( IProgressService2 , new SyncDescriptor ( ProgressService2 ) ) ;
634633
635- // Keybindings
634+ // Context Keys
636635 this . contextKeyService = this . instantiationService . createInstance ( ContextKeyService ) ;
637636 serviceCollection . set ( IContextKeyService , this . contextKeyService ) ;
638637
638+ // Keybindings
639639 this . keybindingService = this . instantiationService . createInstance ( WorkbenchKeybindingService , window ) ;
640640 serviceCollection . set ( IKeybindingService , this . keybindingService ) ;
641641
@@ -654,7 +654,7 @@ export class Workbench extends Disposable implements IPartService {
654654 }
655655
656656 // Menus/Actions
657- serviceCollection . set ( IMenuService , new SyncDescriptor ( MenuService ) ) ;
657+ serviceCollection . set ( IMenuService , new SyncDescriptor ( MenuService , undefined , true ) ) ;
658658
659659 // Sidebar part
660660 this . sidebarPart = this . instantiationService . createInstance ( SidebarPart , Identifiers . SIDEBAR_PART ) ;
@@ -666,14 +666,12 @@ export class Workbench extends Disposable implements IPartService {
666666 this . panelPart = this . instantiationService . createInstance ( PanelPart , Identifiers . PANEL_PART ) ;
667667 serviceCollection . set ( IPanelService , this . panelPart ) ;
668668
669- // views service
670- const viewsService = this . instantiationService . createInstance ( ViewsService ) ;
671- serviceCollection . set ( IViewsService , viewsService ) ;
669+ // Views service
670+ serviceCollection . set ( IViewsService , new SyncDescriptor ( ViewsService ) ) ;
672671
673672 // Activity service (activitybar part)
674673 this . activitybarPart = this . instantiationService . createInstance ( ActivitybarPart , Identifiers . ACTIVITYBAR_PART ) ;
675- const activityService = this . instantiationService . createInstance ( ActivityService , this . activitybarPart , this . panelPart ) ;
676- serviceCollection . set ( IActivityService , activityService ) ;
674+ serviceCollection . set ( IActivityService , new SyncDescriptor ( ActivityService , [ this . activitybarPart , this . panelPart ] , true ) ) ;
677675
678676 // File Service
679677 this . fileService = this . instantiationService . createInstance ( RemoteFileService ) ;
@@ -682,8 +680,7 @@ export class Workbench extends Disposable implements IPartService {
682680 this . themeService . acquireFileService ( this . fileService ) ;
683681
684682 // Editor and Group services
685- const restorePreviousEditorState = ! this . hasInitialFilesToOpen ;
686- this . editorPart = this . instantiationService . createInstance ( EditorPart , Identifiers . EDITOR_PART , restorePreviousEditorState ) ;
683+ this . editorPart = this . instantiationService . createInstance ( EditorPart , Identifiers . EDITOR_PART , ! this . hasInitialFilesToOpen ) ;
687684 this . editorGroupService = this . editorPart ;
688685 serviceCollection . set ( IEditorGroupsService , this . editorPart ) ;
689686 this . editorService = this . instantiationService . createInstance ( EditorService ) ;
@@ -700,7 +697,7 @@ export class Workbench extends Disposable implements IPartService {
700697 serviceCollection . set ( IHistoryService , new SyncDescriptor ( HistoryService ) ) ;
701698
702699 // File Dialogs
703- serviceCollection . set ( IFileDialogService , new SyncDescriptor ( FileDialogService ) ) ;
700+ serviceCollection . set ( IFileDialogService , new SyncDescriptor ( FileDialogService , undefined , true ) ) ;
704701
705702 // Backup File Service
706703 if ( this . configuration . backupPath ) {
@@ -720,20 +717,19 @@ export class Workbench extends Disposable implements IPartService {
720717 serviceCollection . set ( IExtensionUrlHandler , new SyncDescriptor ( ExtensionUrlHandler ) ) ;
721718
722719 // Text Model Resolver Service
723- serviceCollection . set ( ITextModelService , new SyncDescriptor ( TextModelResolverService ) ) ;
720+ serviceCollection . set ( ITextModelService , new SyncDescriptor ( TextModelResolverService , undefined , true ) ) ;
724721
725722 // JSON Editing
726- const jsonEditingService = this . instantiationService . createInstance ( JSONEditingService ) ;
727- serviceCollection . set ( IJSONEditingService , jsonEditingService ) ;
723+ serviceCollection . set ( IJSONEditingService , new SyncDescriptor ( JSONEditingService , undefined , true ) ) ;
728724
729725 // Workspace Editing
730- serviceCollection . set ( IWorkspaceEditingService , new SyncDescriptor ( WorkspaceEditingService ) ) ;
726+ serviceCollection . set ( IWorkspaceEditingService , new SyncDescriptor ( WorkspaceEditingService , undefined , true ) ) ;
731727
732728 // Keybinding Editing
733- serviceCollection . set ( IKeybindingEditingService , this . instantiationService . createInstance ( KeybindingsEditingService ) ) ;
729+ serviceCollection . set ( IKeybindingEditingService , new SyncDescriptor ( KeybindingsEditingService , undefined , true ) ) ;
734730
735731 // Configuration Resolver
736- serviceCollection . set ( IConfigurationResolverService , new SyncDescriptor ( ConfigurationResolverService , [ process . env ] ) ) ;
732+ serviceCollection . set ( IConfigurationResolverService , new SyncDescriptor ( ConfigurationResolverService , [ process . env ] , true ) ) ;
737733
738734 // Quick open service (quick open controller)
739735 this . quickOpen = this . instantiationService . createInstance ( QuickOpenController ) ;
0 commit comments