Skip to content

Commit 85618de

Browse files
author
Benjamin Pasero
committed
services - use more descriptors
1 parent eee10d2 commit 85618de

3 files changed

Lines changed: 30 additions & 35 deletions

File tree

src/vs/platform/clipboard/electron-browser/clipboardService.ts

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,44 +10,43 @@ import { isMacintosh } from 'vs/base/common/platform';
1010

1111
export class ClipboardService implements IClipboardService {
1212

13-
// Clipboard format for files
14-
private static FILE_FORMAT = 'code/file-list';
13+
private static FILE_FORMAT = 'code/file-list'; // Clipboard format for files
1514

1615
_serviceBrand: any;
1716

18-
public writeText(text: string, type?: string): void {
17+
writeText(text: string, type?: string): void {
1918
clipboard.writeText(text, type);
2019
}
2120

22-
public readText(type?: string): string {
21+
readText(type?: string): string {
2322
return clipboard.readText(type);
2423
}
2524

26-
public readFindText(): string {
25+
readFindText(): string {
2726
if (isMacintosh) {
2827
return clipboard.readFindText();
2928
}
3029

3130
return '';
3231
}
3332

34-
public writeFindText(text: string): void {
33+
writeFindText(text: string): void {
3534
if (isMacintosh) {
3635
clipboard.writeFindText(text);
3736
}
3837
}
3938

40-
public writeResources(resources: URI[]): void {
39+
writeResources(resources: URI[]): void {
4140
if (resources.length) {
4241
clipboard.writeBuffer(ClipboardService.FILE_FORMAT, this.resourcesToBuffer(resources));
4342
}
4443
}
4544

46-
public readResources(): URI[] {
45+
readResources(): URI[] {
4746
return this.bufferToResources(clipboard.readBuffer(ClipboardService.FILE_FORMAT));
4847
}
4948

50-
public hasResources(): boolean {
49+
hasResources(): boolean {
5150
return clipboard.has(ClipboardService.FILE_FORMAT);
5251
}
5352

src/vs/workbench/electron-browser/workbench.ts

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -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);

src/vs/workbench/services/broadcast/electron-browser/broadcastService.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
77
import { Event, Emitter } from 'vs/base/common/event';
8-
98
import { ipcRenderer as ipc } from 'electron';
109
import { ILogService } from 'vs/platform/log/common/log';
10+
import { Disposable } from 'vs/base/common/lifecycle';
1111

1212
export const IBroadcastService = createDecorator<IBroadcastService>('broadcastService');
1313

@@ -24,17 +24,17 @@ export interface IBroadcastService {
2424
broadcast(b: IBroadcast): void;
2525
}
2626

27-
export class BroadcastService implements IBroadcastService {
27+
export class BroadcastService extends Disposable implements IBroadcastService {
2828
_serviceBrand: any;
2929

30-
private readonly _onBroadcast: Emitter<IBroadcast>;
30+
private readonly _onBroadcast: Emitter<IBroadcast> = this._register(new Emitter<IBroadcast>());
3131
get onBroadcast(): Event<IBroadcast> { return this._onBroadcast.event; }
3232

3333
constructor(
3434
private windowId: number,
3535
@ILogService private readonly logService: ILogService
3636
) {
37-
this._onBroadcast = new Emitter<IBroadcast>();
37+
super();
3838

3939
this.registerListeners();
4040
}

0 commit comments

Comments
 (0)