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

remove env.createPaths

上级 eb7161d2
......@@ -9,11 +9,9 @@ import * as fs from 'original-fs';
import * as path from 'path';
import * as os from 'os';
import { app } from 'electron';
import { mkdirp } from 'vs/base/node/pfs';
import * as arrays from 'vs/base/common/arrays';
import * as strings from 'vs/base/common/strings';
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 URI from 'vs/base/common/uri';
import * as types from 'vs/base/common/types';
......@@ -34,7 +32,6 @@ export const IEnvService = createDecorator<IEnvService>('mainEnvironmentService'
export interface IEnvService {
_serviceBrand: any;
cliArgs: ICommandLineArguments;
userExtensionsHome: string;
isTestingFromCli: boolean;
isBuilt: boolean;
product: IProductConfiguration;
......@@ -47,8 +44,6 @@ export interface IEnvService {
appSettingsHome: string;
appSettingsPath: string;
appKeybindingsPath: string;
createPaths(): TPromise<void>;
}
export class EnvService implements IEnvService {
......@@ -138,13 +133,6 @@ export class EnvService implements IEnvService {
this._userHome = path.join(os.homedir(), product.dataFolderName);
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[] {
......
......@@ -11,6 +11,7 @@ import { app, ipcMain as ipc } from 'electron';
import { assign } from 'vs/base/common/objects';
import * as platform from 'vs/base/common/platform';
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 { IWindowsService, WindowsManager } from 'vs/code/electron-main/windows';
import { ILifecycleService, LifecycleService } from 'vs/code/electron-main/lifecycle';
......@@ -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
// and assign them to the process environment (e.g. when doubleclick app on Mac)
getEnvironment().then(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(mainIpcServer => instantiationService.invokeFunction(main, mainIpcServer, env));
})
......
......@@ -153,7 +153,7 @@ export function main(argv: ParsedArgs): TPromise<void> {
return instantiationService.invokeFunction(accessor => {
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 services = new ServiceCollection();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册