提交 2adf526f 编写于 作者: J Joao Moreno

remove env.createPaths

上级 eb7161d2
...@@ -9,11 +9,9 @@ import * as fs from 'original-fs'; ...@@ -9,11 +9,9 @@ import * as fs from 'original-fs';
import * as path from 'path'; import * as path from 'path';
import * as os from 'os'; import * as os from 'os';
import { app } from 'electron'; import { app } from 'electron';
import { mkdirp } from 'vs/base/node/pfs';
import * as arrays from 'vs/base/common/arrays'; import * as arrays from 'vs/base/common/arrays';
import * as strings from 'vs/base/common/strings'; import * as strings from 'vs/base/common/strings';
import * as paths from 'vs/base/common/paths'; import * as paths from 'vs/base/common/paths';
import { TPromise } from 'vs/base/common/winjs.base';
import * as platform from 'vs/base/common/platform'; import * as platform from 'vs/base/common/platform';
import URI from 'vs/base/common/uri'; import URI from 'vs/base/common/uri';
import * as types from 'vs/base/common/types'; import * as types from 'vs/base/common/types';
...@@ -34,7 +32,6 @@ export const IEnvService = createDecorator<IEnvService>('mainEnvironmentService' ...@@ -34,7 +32,6 @@ export const IEnvService = createDecorator<IEnvService>('mainEnvironmentService'
export interface IEnvService { export interface IEnvService {
_serviceBrand: any; _serviceBrand: any;
cliArgs: ICommandLineArguments; cliArgs: ICommandLineArguments;
userExtensionsHome: string;
isTestingFromCli: boolean; isTestingFromCli: boolean;
isBuilt: boolean; isBuilt: boolean;
product: IProductConfiguration; product: IProductConfiguration;
...@@ -47,8 +44,6 @@ export interface IEnvService { ...@@ -47,8 +44,6 @@ export interface IEnvService {
appSettingsHome: string; appSettingsHome: string;
appSettingsPath: string; appSettingsPath: string;
appKeybindingsPath: string; appKeybindingsPath: string;
createPaths(): TPromise<void>;
} }
export class EnvService implements IEnvService { export class EnvService implements IEnvService {
...@@ -138,13 +133,6 @@ export class EnvService implements IEnvService { ...@@ -138,13 +133,6 @@ export class EnvService implements IEnvService {
this._userHome = path.join(os.homedir(), product.dataFolderName); this._userHome = path.join(os.homedir(), product.dataFolderName);
this._userExtensionsHome = this.cliArgs.extensionHomePath || path.join(this._userHome, 'extensions'); this._userExtensionsHome = this.cliArgs.extensionHomePath || path.join(this._userHome, 'extensions');
} }
createPaths(): TPromise<void> {
const promises = [this.appSettingsHome, this.userHome, this.userExtensionsHome]
.map(p => mkdirp(p));
return TPromise.join(promises) as TPromise<any>;
}
} }
function parsePathArguments(cwd: string, args: string[], gotoLineMode?: boolean): string[] { function parsePathArguments(cwd: string, args: string[], gotoLineMode?: boolean): string[] {
......
...@@ -11,6 +11,7 @@ import { app, ipcMain as ipc } from 'electron'; ...@@ -11,6 +11,7 @@ import { app, ipcMain as ipc } from 'electron';
import { assign } from 'vs/base/common/objects'; import { assign } from 'vs/base/common/objects';
import * as platform from 'vs/base/common/platform'; import * as platform from 'vs/base/common/platform';
import { parseArgs } from 'vs/code/node/argv'; import { parseArgs } from 'vs/code/node/argv';
import { mkdirp } from 'vs/base/node/pfs';
import { IProcessEnvironment, IEnvService, EnvService } from 'vs/code/electron-main/env'; import { IProcessEnvironment, IEnvService, EnvService } from 'vs/code/electron-main/env';
import { IWindowsService, WindowsManager } from 'vs/code/electron-main/windows'; import { IWindowsService, WindowsManager } from 'vs/code/electron-main/windows';
import { ILifecycleService, LifecycleService } from 'vs/code/electron-main/lifecycle'; import { ILifecycleService, LifecycleService } from 'vs/code/electron-main/lifecycle';
...@@ -385,12 +386,17 @@ function getEnvironment(): TPromise<IEnv> { ...@@ -385,12 +386,17 @@ function getEnvironment(): TPromise<IEnv> {
}); });
} }
function createPaths(environmentService: IEnvironmentService): TPromise<any> {
const paths = [environmentService.appSettingsHome, environmentService.userHome, environmentService.extensionsPath];
return TPromise.join(paths.map(p => mkdirp(p))) as TPromise<any>;
}
// On some platforms we need to manually read from the global environment variables // On some platforms we need to manually read from the global environment variables
// and assign them to the process environment (e.g. when doubleclick app on Mac) // and assign them to the process environment (e.g. when doubleclick app on Mac)
getEnvironment().then(env => { getEnvironment().then(env => {
assign(process.env, env); assign(process.env, env);
return instantiationService.invokeFunction(a => a.get(IEnvService).createPaths()) return instantiationService.invokeFunction(a => createPaths(a.get(IEnvironmentService)))
.then(() => instantiationService.invokeFunction(setupIPC)) .then(() => instantiationService.invokeFunction(setupIPC))
.then(mainIpcServer => instantiationService.invokeFunction(main, mainIpcServer, env)); .then(mainIpcServer => instantiationService.invokeFunction(main, mainIpcServer, env));
}) })
......
...@@ -153,7 +153,7 @@ export function main(argv: ParsedArgs): TPromise<void> { ...@@ -153,7 +153,7 @@ export function main(argv: ParsedArgs): TPromise<void> {
return instantiationService.invokeFunction(accessor => { return instantiationService.invokeFunction(accessor => {
const envService = accessor.get(IEnvironmentService); const envService = accessor.get(IEnvironmentService);
return TPromise.join([envService.userHome, envService.extensionsPath].map(p => mkdirp(p))).then(() => { return TPromise.join([envService.appSettingsHome, envService.userHome, envService.extensionsPath].map(p => mkdirp(p))).then(() => {
const { appRoot, extensionsPath, extensionDevelopmentPath, isBuilt } = envService; const { appRoot, extensionsPath, extensionDevelopmentPath, isBuilt } = envService;
const services = new ServiceCollection(); const services = new ServiceCollection();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册