send parsed process.argv over from main side to renderer
This commit is contained in:
parent
f2086e45f6
commit
e3eaa27e41
2 changed files with 15 additions and 17 deletions
|
@ -13,6 +13,7 @@ import { shell, screen, BrowserWindow } from 'electron';
|
|||
import { TPromise, TValueCallback } from 'vs/base/common/winjs.base';
|
||||
import { ICommandLineArguments, IEnvService, IProcessEnvironment } from 'vs/code/electron-main/env';
|
||||
import { ILogService } from 'vs/code/electron-main/log';
|
||||
import { parseArgs } from 'vs/code/node/argv';
|
||||
|
||||
export interface IWindowState {
|
||||
width?: number;
|
||||
|
@ -419,10 +420,13 @@ export class VSCodeWindow {
|
|||
this.load(configuration);
|
||||
}
|
||||
|
||||
private getUrl(config: IWindowConfiguration): string {
|
||||
private getUrl(windowConfiguration: IWindowConfiguration): string {
|
||||
let url = require.toUrl('vs/workbench/electron-browser/bootstrap/index.html');
|
||||
|
||||
// Config
|
||||
// Config (combination of process.argv and window configuration)
|
||||
const environment = parseArgs(process.argv);
|
||||
const config = objects.assign(environment, windowConfiguration);
|
||||
|
||||
url += '?config=' + encodeURIComponent(JSON.stringify(config));
|
||||
|
||||
return url;
|
||||
|
|
|
@ -16,9 +16,9 @@ import uri from 'vs/base/common/uri';
|
|||
import strings = require('vs/base/common/strings');
|
||||
import {IResourceInput} from 'vs/platform/editor/common/editor';
|
||||
import {EventService} from 'vs/platform/event/common/eventService';
|
||||
import {ParsedArgs, parseArgs} from 'vs/code/node/argv';
|
||||
import {ParsedArgs} from 'vs/code/node/argv';
|
||||
import {WorkspaceContextService} from 'vs/workbench/services/workspace/common/contextService';
|
||||
import {IWorkspace, IConfiguration, IEnvironment} from 'vs/platform/workspace/common/workspace';
|
||||
import {IWorkspace} from 'vs/platform/workspace/common/workspace';
|
||||
import {ConfigurationService} from 'vs/workbench/services/configuration/node/configurationService';
|
||||
import {EnvironmentService} from 'vs/platform/environment/node/environmentService';
|
||||
import path = require('path');
|
||||
|
@ -46,7 +46,7 @@ export interface IPath {
|
|||
columnNumber?: number;
|
||||
}
|
||||
|
||||
export interface IMainEnvironment extends IEnvironment {
|
||||
export interface IConfiguration extends ParsedArgs {
|
||||
workspacePath?: string;
|
||||
filesToOpen?: IPath[];
|
||||
filesToCreate?: IPath[];
|
||||
|
@ -54,16 +54,10 @@ export interface IMainEnvironment extends IEnvironment {
|
|||
extensionsToInstall?: string[];
|
||||
}
|
||||
|
||||
export function startup(configuration: IMainEnvironment, globalSettings: IGlobalSettings): winjs.TPromise<void> {
|
||||
|
||||
// Args (TODO@Ben clean up explicit overwrite of args)
|
||||
const parsedArgs = parseArgs(process.argv);
|
||||
if (typeof configuration.extensionDevelopmentPath === 'string') {
|
||||
parsedArgs.extensionDevelopmentPath = configuration.extensionDevelopmentPath;
|
||||
}
|
||||
export function startup(configuration: IConfiguration, globalSettings: IGlobalSettings): winjs.TPromise<void> {
|
||||
|
||||
// Shell Configuration
|
||||
const shellConfiguration: IConfiguration = {
|
||||
const shellConfiguration: any = {
|
||||
env: configuration
|
||||
};
|
||||
|
||||
|
@ -80,12 +74,12 @@ export function startup(configuration: IMainEnvironment, globalSettings: IGlobal
|
|||
globalSettings: globalSettings
|
||||
};
|
||||
|
||||
if (configuration.enablePerformance) {
|
||||
if (configuration.performance) {
|
||||
timer.ENABLE_TIMER = true;
|
||||
}
|
||||
|
||||
// Open workbench
|
||||
return openWorkbench(parsedArgs, getWorkspace(configuration.workspacePath), shellConfiguration, shellOptions);
|
||||
return openWorkbench(configuration, getWorkspace(configuration.workspacePath), shellConfiguration, shellOptions);
|
||||
}
|
||||
|
||||
function toInputs(paths: IPath[]): IResourceInput[] {
|
||||
|
@ -134,9 +128,9 @@ function getWorkspace(workspacePath: string): IWorkspace {
|
|||
};
|
||||
}
|
||||
|
||||
function openWorkbench(args: ParsedArgs, workspace: IWorkspace, configuration: IConfiguration, options: IOptions): winjs.TPromise<void> {
|
||||
function openWorkbench(environment: ParsedArgs, workspace: IWorkspace, configuration: IConfiguration, options: IOptions): winjs.TPromise<void> {
|
||||
const eventService = new EventService();
|
||||
const environmentService = new EnvironmentService(args);
|
||||
const environmentService = new EnvironmentService(environment);
|
||||
const contextService = new WorkspaceContextService(eventService, workspace, configuration, options);
|
||||
const configurationService = new ConfigurationService(contextService, eventService, environmentService);
|
||||
|
||||
|
|
Loading…
Reference in a new issue