Skip to content

Commit 4aa3f05

Browse files
author
Benjamin Pasero
committed
💄 main side
1 parent 7ceab4e commit 4aa3f05

14 files changed

Lines changed: 94 additions & 93 deletions

File tree

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export const ILogService = createDecorator<ILogService>('logService');
1212

1313
export interface ILogService {
1414
_serviceBrand: any;
15+
1516
log(...args: any[]): void;
1617
}
1718

@@ -22,7 +23,7 @@ export class MainLogService implements ILogService {
2223
constructor( @IEnvironmentService private environmentService: IEnvironmentService) {
2324
}
2425

25-
log(...args: any[]): void {
26+
public log(...args: any[]): void {
2627
if (this.environmentService.verbose) {
2728
console.log(`\x1b[93m[main ${new Date().toLocaleTimeString()}]\x1b[0m`, ...args);
2829
}

src/vs/code/common/windows.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ export interface IWindowEventService {
3636
}
3737

3838
export class ActiveWindowManager implements IDisposable {
39-
4039
private disposables: IDisposable[] = [];
4140
private _activeWindowId: number;
4241

@@ -49,11 +48,11 @@ export class ActiveWindowManager implements IDisposable {
4948
this._activeWindowId = windowId;
5049
}
5150

52-
get activeClientId(): string {
51+
public get activeClientId(): string {
5352
return `window:${this._activeWindowId}`;
5453
}
5554

56-
dispose() {
55+
public dispose() {
5756
this.disposables = dispose(this.disposables);
5857
}
5958
}

src/vs/code/electron-main/app.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { WindowsChannel } from 'vs/platform/windows/common/windowsIpc';
1414
import { WindowsService } from 'vs/platform/windows/electron-main/windowsService';
1515
import { ILifecycleService } from 'vs/code/electron-main/lifecycle';
1616
import { VSCodeMenu } from 'vs/code/electron-main/menus';
17-
import { getShellEnvironment } from 'vs/code/electron-main/shellEnv';
17+
import { getShellEnvironment } from 'vs/code/node/shellEnv';
1818
import { IUpdateService } from 'vs/platform/update/common/update';
1919
import { UpdateChannel } from 'vs/platform/update/common/updateIpc';
2020
import { UpdateService } from 'vs/platform/update/electron-main/updateService';
@@ -26,8 +26,8 @@ import { LaunchService, LaunchChannel, ILaunchService } from './launch';
2626
import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
2727
import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
2828
import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
29-
import { ILogService } from 'vs/code/electron-main/log';
30-
import { IStorageService } from 'vs/code/electron-main/storage';
29+
import { ILogService } from 'vs/code/common/log';
30+
import { IStorageService } from 'vs/code/node/storage';
3131
import { IBackupMainService } from 'vs/platform/backup/common/backup';
3232
import { BackupChannel } from 'vs/platform/backup/common/backupIpc';
3333
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
@@ -146,8 +146,7 @@ export class VSCodeApplication {
146146
// Spawn shared process
147147
this.sharedProcess = new SharedProcess(this.environmentService, this.userEnv);
148148
this.toDispose.push(this.sharedProcess);
149-
this.sharedProcessClient = this.sharedProcess.whenReady()
150-
.then(() => connect(this.environmentService.sharedIPCHandle, 'main'));
149+
this.sharedProcessClient = this.sharedProcess.whenReady().then(() => connect(this.environmentService.sharedIPCHandle, 'main'));
151150

152151
// Services
153152
const appInstantiationService = this.initServices();

src/vs/code/electron-main/launch.ts

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { IWindowsMainService } from 'vs/code/electron-main/windows';
1010
import { VSCodeWindow } from 'vs/code/electron-main/window';
1111
import { TPromise } from 'vs/base/common/winjs.base';
1212
import { IChannel } from 'vs/base/parts/ipc/common/ipc';
13-
import { ILogService } from 'vs/code/electron-main/log';
13+
import { ILogService } from 'vs/code/common/log';
1414
import { IURLService } from 'vs/platform/url/common/url';
1515
import { IProcessEnvironment } from 'vs/base/common/platform';
1616
import { ParsedArgs } from 'vs/platform/environment/common/environment';
@@ -41,7 +41,7 @@ export class LaunchChannel implements ILaunchChannel {
4141

4242
constructor(private service: ILaunchService) { }
4343

44-
call(command: string, arg: any): TPromise<any> {
44+
public call(command: string, arg: any): TPromise<any> {
4545
switch (command) {
4646
case 'start':
4747
const { args, userEnv } = arg as IStartArguments;
@@ -50,6 +50,7 @@ export class LaunchChannel implements ILaunchChannel {
5050
case 'get-main-process-id':
5151
return this.service.getMainProcessId();
5252
}
53+
5354
return undefined;
5455
}
5556
}
@@ -60,11 +61,11 @@ export class LaunchChannelClient implements ILaunchService {
6061

6162
constructor(private channel: ILaunchChannel) { }
6263

63-
start(args: ParsedArgs, userEnv: IProcessEnvironment): TPromise<void> {
64+
public start(args: ParsedArgs, userEnv: IProcessEnvironment): TPromise<void> {
6465
return this.channel.call('start', { args, userEnv });
6566
}
6667

67-
getMainProcessId(): TPromise<number> {
68+
public getMainProcessId(): TPromise<number> {
6869
return this.channel.call('get-main-process-id', null);
6970
}
7071
}
@@ -79,19 +80,20 @@ export class LaunchService implements ILaunchService {
7980
@IURLService private urlService: IURLService
8081
) { }
8182

82-
start(args: ParsedArgs, userEnv: IProcessEnvironment): TPromise<void> {
83+
public start(args: ParsedArgs, userEnv: IProcessEnvironment): TPromise<void> {
8384
this.logService.log('Received data from other instance: ', args, userEnv);
8485

86+
// Check early for open-url which is handled in URL service
8587
const openUrlArg = args['open-url'] || [];
8688
const openUrl = typeof openUrlArg === 'string' ? [openUrlArg] : openUrlArg;
87-
const context = !!userEnv['VSCODE_CLI'] ? OpenContext.CLI : OpenContext.DESKTOP;
88-
8989
if (openUrl.length > 0) {
9090
openUrl.forEach(url => this.urlService.open(url));
91+
9192
return TPromise.as(null);
9293
}
9394

9495
// Otherwise handle in windows service
96+
const context = !!userEnv['VSCODE_CLI'] ? OpenContext.CLI : OpenContext.DESKTOP;
9597
let usedWindows: VSCodeWindow[];
9698
if (!!args.extensionDevelopmentPath) {
9799
this.windowsService.openExtensionDevelopmentHostWindow({ context, cli: args, userEnv });
@@ -129,8 +131,9 @@ export class LaunchService implements ILaunchService {
129131
return TPromise.as(null);
130132
}
131133

132-
getMainProcessId(): TPromise<number> {
134+
public getMainProcessId(): TPromise<number> {
133135
this.logService.log('Received request for process ID from other instance.');
136+
134137
return TPromise.as(process.pid);
135138
}
136139
}

src/vs/code/electron-main/lifecycle.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import { ipcMain as ipc, app } from 'electron';
99
import { TPromise, TValueCallback } from 'vs/base/common/winjs.base';
1010
import { ReadyState, VSCodeWindow } from 'vs/code/electron-main/window';
1111
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
12-
import { ILogService } from 'vs/code/electron-main/log';
13-
import { IStorageService } from 'vs/code/electron-main/storage';
12+
import { ILogService } from 'vs/code/common/log';
13+
import { IStorageService } from 'vs/code/node/storage';
1414
import Event, { Emitter } from 'vs/base/common/event';
1515
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
1616

src/vs/code/electron-main/main.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { assign } from 'vs/base/common/objects';
1010
import * as platform from 'vs/base/common/platform';
1111
import { parseMainProcessArgv } from 'vs/platform/environment/node/argv';
1212
import { mkdirp } from 'vs/base/node/pfs';
13-
import { validatePaths } from 'vs/code/electron-main/paths';
13+
import { validatePaths } from 'vs/code/node/paths';
1414
import { LifecycleService, ILifecycleService } from 'vs/code/electron-main/lifecycle';
1515
import { Server, serve, connect } from 'vs/base/parts/ipc/node/ipc.net';
1616
import { TPromise } from 'vs/base/common/winjs.base';
@@ -19,8 +19,8 @@ import { ServicesAccessor, IInstantiationService } from 'vs/platform/instantiati
1919
import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService';
2020
import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
2121
import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
22-
import { ILogService, MainLogService } from 'vs/code/electron-main/log';
23-
import { IStorageService, StorageService } from 'vs/code/electron-main/storage';
22+
import { ILogService, MainLogService } from 'vs/code/common/log';
23+
import { IStorageService, StorageService } from 'vs/code/node/storage';
2424
import { IBackupMainService } from 'vs/platform/backup/common/backup';
2525
import { BackupMainService } from 'vs/platform/backup/electron-main/backupMainService';
2626
import { IEnvironmentService, ParsedArgs } from 'vs/platform/environment/common/environment';

src/vs/code/electron-main/menus.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { OpenContext } from 'vs/code/common/windows';
1414
import { IWindowsMainService } from 'vs/code/electron-main/windows';
1515
import { VSCodeWindow } from 'vs/code/electron-main/window';
1616
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
17-
import { IStorageService } from 'vs/code/electron-main/storage';
17+
import { IStorageService } from 'vs/code/node/storage';
1818
import { IFilesConfiguration, AutoSaveConfiguration } from 'vs/platform/files/common/files';
1919
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
2020
import { IUpdateService, State as UpdateState } from 'vs/platform/update/common/update';

src/vs/code/electron-main/sharedProcess.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ import { PromiseSource } from 'vs/base/common/async';
1414

1515
export class SharedProcess {
1616

17+
private spawnPromiseSource: PromiseSource<void>;
18+
1719
private window: Electron.BrowserWindow;
1820
private disposables: IDisposable[] = [];
1921

@@ -41,6 +43,7 @@ export class SharedProcess {
4143
this.disposables.push(toDisposable(() => this.window.removeListener('close', onClose)));
4244

4345
this.disposables.push(toDisposable(() => {
46+
4447
// Electron seems to crash on Windows without this setTimeout :|
4548
setTimeout(() => {
4649
try {
@@ -65,42 +68,40 @@ export class SharedProcess {
6568
});
6669
}
6770

68-
private spawnPromiseSource: PromiseSource<void>;
69-
7071
constructor(
7172
private environmentService: IEnvironmentService,
7273
private userEnv: IProcessEnvironment
7374
) {
7475
this.spawnPromiseSource = new PromiseSource<void>();
7576
}
7677

77-
spawn(): void {
78+
public spawn(): void {
7879
this.spawnPromiseSource.complete();
7980
}
8081

81-
whenReady(): TPromise<void> {
82+
public whenReady(): TPromise<void> {
8283
return this.spawnPromiseSource.value.then(() => this._whenReady);
8384
}
8485

85-
toggle(): void {
86+
public toggle(): void {
8687
if (this.window.isVisible()) {
8788
this.hide();
8889
} else {
8990
this.show();
9091
}
9192
}
9293

93-
show(): void {
94+
public show(): void {
9495
this.window.show();
9596
this.window.webContents.openDevTools();
9697
}
9798

98-
hide(): void {
99+
public hide(): void {
99100
this.window.webContents.closeDevTools();
100101
this.window.hide();
101102
}
102103

103-
dispose(): void {
104+
public dispose(): void {
104105
this.disposables = dispose(this.disposables);
105106
}
106107
}

0 commit comments

Comments
 (0)