diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js index c45e465d20b..cc799c132ff 100644 --- a/build/gulpfile.vscode.js +++ b/build/gulpfile.vscode.js @@ -43,7 +43,8 @@ var vscodeEntryPoints = _.flatten([ buildfile.base, buildfile.editor, buildfile.languages, - buildfile.vscode + buildfile.workbench, + buildfile.code ]); var vscodeResources = [ diff --git a/src/buildfile.js b/src/buildfile.js index c319bbbf8bd..f4f3fb62212 100644 --- a/src/buildfile.js +++ b/src/buildfile.js @@ -6,7 +6,8 @@ exports.base = require('./vs/base/buildfile').collectModules(); exports.editor = require('./vs/editor/buildfile').collectModules(); exports.languages = require('./vs/languages/buildfile').collectModules(); -exports.vscode = require('./vs/workbench/buildfile').collectModules(['vs/workbench/workbench.main']); +exports.workbench = require('./vs/workbench/buildfile').collectModules(['vs/workbench/workbench.main']); +exports.code = require('./vs/code/buildfile').collectModules(); exports.standaloneLanguages = require('./vs/editor/standalone-languages/buildfile').collectModules(); exports.standaloneLanguages2 = require('./vs/languages/buildfile-editor-languages').collectModules(); diff --git a/src/cli.js b/src/cli.js index 7bf6862757a..a32bd83d168 100644 --- a/src/cli.js +++ b/src/cli.js @@ -3,4 +3,4 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -require('./bootstrap-amd').bootstrap('vs/workbench/electron-main/cli'); \ No newline at end of file +require('./bootstrap-amd').bootstrap('vs/code/electron-main/cli'); \ No newline at end of file diff --git a/src/main.js b/src/main.js index 362345c3ff1..aac042561fe 100644 --- a/src/main.js +++ b/src/main.js @@ -79,7 +79,7 @@ function getNLSConfiguration() { // We have a built version so we have extracted nls file. Try to find // the right file to use. while (locale) { - var candidate = path.join(__dirname, 'vs', 'workbench', 'electron-main', 'main.nls.') + locale + '.js'; + var candidate = path.join(__dirname, 'vs', 'code', 'electron-main', 'main.nls.') + locale + '.js'; if (fs.existsSync(candidate)) { return { locale: initialLocale, availableLanguages: { '*': locale } }; } else { @@ -132,5 +132,5 @@ app.on('open-file', function (event, path) { app.once('ready', function () { var nlsConfig = getNLSConfiguration(); process.env['VSCODE_NLS_CONFIG'] = JSON.stringify(nlsConfig); - require('./bootstrap-amd').bootstrap('vs/workbench/electron-main/main'); + require('./bootstrap-amd').bootstrap('vs/code/electron-main/main'); }); diff --git a/src/vs/code/buildfile.js b/src/vs/code/buildfile.js new file mode 100644 index 00000000000..3b2c874a370 --- /dev/null +++ b/src/vs/code/buildfile.js @@ -0,0 +1,24 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +'use strict'; + +function createModuleDescription(name, exclude) { + var result= {}; + var excludes = ['vs/css', 'vs/nls', 'vs/text']; + result.name= name; + if (Array.isArray(exclude) && exclude.length > 0) { + excludes = excludes.concat(exclude); + } + result.exclude= excludes; + return result; +} + +exports.collectModules= function() { + return [ + createModuleDescription('vs/code/electron-main/main', []), + createModuleDescription('vs/code/electron-main/cli', []), + createModuleDescription('vs/code/electron-main/sharedProcessMain', []) + ]; +}; \ No newline at end of file diff --git a/src/vs/workbench/electron-main/argv.ts b/src/vs/code/electron-main/argv.ts similarity index 100% rename from src/vs/workbench/electron-main/argv.ts rename to src/vs/code/electron-main/argv.ts diff --git a/src/vs/workbench/electron-main/auto-updater.linux.ts b/src/vs/code/electron-main/auto-updater.linux.ts similarity index 93% rename from src/vs/workbench/electron-main/auto-updater.linux.ts rename to src/vs/code/electron-main/auto-updater.linux.ts index 98e833f724b..dbb72b65b47 100644 --- a/src/vs/workbench/electron-main/auto-updater.linux.ts +++ b/src/vs/code/electron-main/auto-updater.linux.ts @@ -10,8 +10,8 @@ import { isString } from 'vs/base/common/types'; import { Promise } from 'vs/base/common/winjs.base'; import { json } from 'vs/base/node/request'; import { getProxyAgent } from 'vs/base/node/proxy'; -import { ISettingsService } from 'vs/workbench/electron-main/settings'; -import { IEnvironmentService } from 'vs/workbench/electron-main/env'; +import { ISettingsService } from 'vs/code/electron-main/settings'; +import { IEnvironmentService } from 'vs/code/electron-main/env'; export interface IUpdate { url: string; diff --git a/src/vs/workbench/electron-main/auto-updater.win32.ts b/src/vs/code/electron-main/auto-updater.win32.ts similarity index 96% rename from src/vs/workbench/electron-main/auto-updater.win32.ts rename to src/vs/code/electron-main/auto-updater.win32.ts index ba2b7895934..79a1c79b346 100644 --- a/src/vs/workbench/electron-main/auto-updater.win32.ts +++ b/src/vs/code/electron-main/auto-updater.win32.ts @@ -15,8 +15,8 @@ import { isString } from 'vs/base/common/types'; import { Promise, TPromise } from 'vs/base/common/winjs.base'; import { download, json } from 'vs/base/node/request'; import { getProxyAgent } from 'vs/base/node/proxy'; -import { ISettingsService } from 'vs/workbench/electron-main/settings'; -import { ILifecycleService } from 'vs/workbench/electron-main/lifecycle'; +import { ISettingsService } from 'vs/code/electron-main/settings'; +import { ILifecycleService } from 'vs/code/electron-main/lifecycle'; import { IEnvironmentService } from './env'; export interface IUpdate { diff --git a/src/vs/workbench/electron-main/cli.ts b/src/vs/code/electron-main/cli.ts similarity index 100% rename from src/vs/workbench/electron-main/cli.ts rename to src/vs/code/electron-main/cli.ts diff --git a/src/vs/workbench/electron-main/env.ts b/src/vs/code/electron-main/env.ts similarity index 100% rename from src/vs/workbench/electron-main/env.ts rename to src/vs/code/electron-main/env.ts diff --git a/src/vs/workbench/electron-main/launch.ts b/src/vs/code/electron-main/launch.ts similarity index 92% rename from src/vs/workbench/electron-main/launch.ts rename to src/vs/code/electron-main/launch.ts index e5fe216965d..0fc4cdab3c3 100644 --- a/src/vs/workbench/electron-main/launch.ts +++ b/src/vs/code/electron-main/launch.ts @@ -5,9 +5,9 @@ 'use strict'; -import { ICommandLineArguments, IProcessEnvironment } from 'vs/workbench/electron-main/env'; -import { IWindowsService } from 'vs/workbench/electron-main/windows'; -import { VSCodeWindow } from 'vs/workbench/electron-main/window'; +import { ICommandLineArguments, IProcessEnvironment } from 'vs/code/electron-main/env'; +import { IWindowsService } from 'vs/code/electron-main/windows'; +import { VSCodeWindow } from 'vs/code/electron-main/window'; import { TPromise } from 'vs/base/common/winjs.base'; import { IChannel } from 'vs/base/parts/ipc/common/ipc'; import { ILogService } from './log'; diff --git a/src/vs/workbench/electron-main/lifecycle.ts b/src/vs/code/electron-main/lifecycle.ts similarity index 97% rename from src/vs/workbench/electron-main/lifecycle.ts rename to src/vs/code/electron-main/lifecycle.ts index 727d15596e5..a39b01fdfeb 100644 --- a/src/vs/workbench/electron-main/lifecycle.ts +++ b/src/vs/code/electron-main/lifecycle.ts @@ -9,8 +9,8 @@ import events = require('events'); import {ipcMain as ipc, app} from 'electron'; import {TPromise, TValueCallback} from 'vs/base/common/winjs.base'; -import {ReadyState, VSCodeWindow} from 'vs/workbench/electron-main/window'; -import env = require('vs/workbench/electron-main/env'); +import {ReadyState, VSCodeWindow} from 'vs/code/electron-main/window'; +import env = require('vs/code/electron-main/env'); import {ServiceIdentifier, createDecorator} from 'vs/platform/instantiation/common/instantiation'; import {ILogService} from './log'; diff --git a/src/vs/workbench/electron-main/log.ts b/src/vs/code/electron-main/log.ts similarity index 100% rename from src/vs/workbench/electron-main/log.ts rename to src/vs/code/electron-main/log.ts diff --git a/src/vs/workbench/electron-main/main.ts b/src/vs/code/electron-main/main.ts similarity index 95% rename from src/vs/workbench/electron-main/main.ts rename to src/vs/code/electron-main/main.ts index 3dc856803ba..24ed520f964 100644 --- a/src/vs/workbench/electron-main/main.ts +++ b/src/vs/code/electron-main/main.ts @@ -10,18 +10,18 @@ import fs = require('fs'); import nls = require('vs/nls'); import {assign} from 'vs/base/common/objects'; import platform = require('vs/base/common/platform'); -import { IProcessEnvironment, IEnvironmentService, EnvService } from 'vs/workbench/electron-main/env'; -import windows = require('vs/workbench/electron-main/windows'); -import { ILifecycleService, LifecycleService } from 'vs/workbench/electron-main/lifecycle'; -import { VSCodeMenu } from 'vs/workbench/electron-main/menus'; -import {ISettingsService, SettingsManager} from 'vs/workbench/electron-main/settings'; -import {IUpdateService, UpdateManager} from 'vs/workbench/electron-main/update-manager'; +import { IProcessEnvironment, IEnvironmentService, EnvService } from 'vs/code/electron-main/env'; +import windows = require('vs/code/electron-main/windows'); +import { ILifecycleService, LifecycleService } from 'vs/code/electron-main/lifecycle'; +import { VSCodeMenu } from 'vs/code/electron-main/menus'; +import {ISettingsService, SettingsManager} from 'vs/code/electron-main/settings'; +import {IUpdateService, UpdateManager} from 'vs/code/electron-main/update-manager'; import {Server, serve, connect} from 'vs/base/parts/ipc/node/ipc.net'; import {getUnixUserEnvironment, IEnv} from 'vs/base/node/env'; import {TPromise} from 'vs/base/common/winjs.base'; import {AskpassChannel} from 'vs/workbench/parts/git/common/gitIpc'; import {GitAskpassService} from 'vs/workbench/parts/git/electron-main/askpassService'; -import {spawnSharedProcess} from 'vs/workbench/electron-main/sharedProcess'; +import {spawnSharedProcess} from 'vs/code/electron-main/sharedProcess'; import {Mutex} from 'windows-mutex'; import {LaunchService, ILaunchChannel, LaunchChannel, LaunchChannelClient} from './launch'; import {ServicesAccessor, IInstantiationService} from 'vs/platform/instantiation/common/instantiation'; diff --git a/src/vs/workbench/electron-main/menus.ts b/src/vs/code/electron-main/menus.ts similarity index 99% rename from src/vs/workbench/electron-main/menus.ts rename to src/vs/code/electron-main/menus.ts index 7c37d268c48..2924039afe4 100644 --- a/src/vs/workbench/electron-main/menus.ts +++ b/src/vs/code/electron-main/menus.ts @@ -10,11 +10,11 @@ import {ipcMain as ipc, app, shell, dialog, Menu, MenuItem} from 'electron'; import nls = require('vs/nls'); import platform = require('vs/base/common/platform'); import arrays = require('vs/base/common/arrays'); -import { IWindowsService, WindowsManager, IOpenedPathsList } from 'vs/workbench/electron-main/windows'; -import window = require('vs/workbench/electron-main/window'); -import env = require('vs/workbench/electron-main/env'); -import { IStorageService } from 'vs/workbench/electron-main/storage'; -import { IUpdateService, State as UpdateState } from 'vs/workbench/electron-main/update-manager'; +import { IWindowsService, WindowsManager, IOpenedPathsList } from 'vs/code/electron-main/windows'; +import window = require('vs/code/electron-main/window'); +import env = require('vs/code/electron-main/env'); +import { IStorageService } from 'vs/code/electron-main/storage'; +import { IUpdateService, State as UpdateState } from 'vs/code/electron-main/update-manager'; import {Keybinding} from 'vs/base/common/keyCodes'; interface IResolvedKeybinding { diff --git a/src/vs/workbench/electron-main/settings.ts b/src/vs/code/electron-main/settings.ts similarity index 95% rename from src/vs/workbench/electron-main/settings.ts rename to src/vs/code/electron-main/settings.ts index f88f0c18454..ee4a45e676b 100644 --- a/src/vs/workbench/electron-main/settings.ts +++ b/src/vs/code/electron-main/settings.ts @@ -8,7 +8,7 @@ import {app} from 'electron'; import { ServiceIdentifier, createDecorator } from 'vs/platform/instantiation/common/instantiation'; import { UserSettings, ISettings } from 'vs/workbench/node/userSettings'; -import { IEnvironmentService } from 'vs/workbench/electron-main/env'; +import { IEnvironmentService } from 'vs/code/electron-main/env'; import Event from 'vs/base/common/event'; export const ISettingsService = createDecorator('settingsService'); diff --git a/src/vs/workbench/electron-main/sharedProcess.ts b/src/vs/code/electron-main/sharedProcess.ts similarity index 91% rename from src/vs/workbench/electron-main/sharedProcess.ts rename to src/vs/code/electron-main/sharedProcess.ts index e4593da5dde..33a66e281d7 100644 --- a/src/vs/workbench/electron-main/sharedProcess.ts +++ b/src/vs/code/electron-main/sharedProcess.ts @@ -8,9 +8,9 @@ import URI from 'vs/base/common/uri'; import { IDisposable } from 'vs/base/common/lifecycle'; import { assign } from 'vs/base/common/objects'; import { IEnvironment } from 'vs/platform/workspace/common/workspace'; -import { IEnvironmentService } from 'vs/workbench/electron-main/env'; -import { ISettingsService } from 'vs/workbench/electron-main/settings'; -import { IUpdateService } from 'vs/workbench/electron-main/update-manager'; +import { IEnvironmentService } from 'vs/code/electron-main/env'; +import { ISettingsService } from 'vs/code/electron-main/settings'; +import { IUpdateService } from 'vs/code/electron-main/update-manager'; import {ServicesAccessor} from 'vs/platform/instantiation/common/instantiation'; const boostrapPath = URI.parse(require.toUrl('bootstrap')).fsPath; @@ -38,7 +38,7 @@ function _spawnSharedProcess(envService: IEnvironmentService, updateManager: IUp // Make sure the nls configuration travels to the shared process. const opts = { env: assign(assign({}, process.env), { - AMD_ENTRYPOINT: 'vs/workbench/electron-main/sharedProcessMain' + AMD_ENTRYPOINT: 'vs/code/electron-main/sharedProcessMain' }) }; diff --git a/src/vs/workbench/electron-main/sharedProcessMain.ts b/src/vs/code/electron-main/sharedProcessMain.ts similarity index 99% rename from src/vs/workbench/electron-main/sharedProcessMain.ts rename to src/vs/code/electron-main/sharedProcessMain.ts index 25b2a1fc77e..e7bb95e4d15 100644 --- a/src/vs/workbench/electron-main/sharedProcessMain.ts +++ b/src/vs/code/electron-main/sharedProcessMain.ts @@ -7,13 +7,9 @@ import * as fs from 'fs'; import platform = require('vs/base/common/platform'); import { serve, Server, connect } from 'vs/base/parts/ipc/node/ipc.net'; import { TPromise } from 'vs/base/common/winjs.base'; - -// Services import { IConfiguration } from 'vs/platform/workspace/common/workspace'; import { WorkspaceContextService } from 'vs/workbench/services/workspace/common/contextService'; import { EventService } from 'vs/platform/event/common/eventService'; - -// Extra services import { ExtensionsChannel } from 'vs/workbench/parts/extensions/common/extensionsIpc'; import { ExtensionsService } from 'vs/workbench/parts/extensions/node/extensionsService'; diff --git a/src/vs/workbench/electron-main/storage.ts b/src/vs/code/electron-main/storage.ts similarity index 98% rename from src/vs/workbench/electron-main/storage.ts rename to src/vs/code/electron-main/storage.ts index f98be93500f..f3495643b7e 100644 --- a/src/vs/workbench/electron-main/storage.ts +++ b/src/vs/code/electron-main/storage.ts @@ -9,7 +9,7 @@ import path = require('path'); import fs = require('fs'); import events = require('events'); -import env = require('vs/workbench/electron-main/env'); +import env = require('vs/code/electron-main/env'); import {ServiceIdentifier, createDecorator} from 'vs/platform/instantiation/common/instantiation'; const EventTypes = { diff --git a/src/vs/workbench/electron-main/update-manager.ts b/src/vs/code/electron-main/update-manager.ts similarity index 94% rename from src/vs/workbench/electron-main/update-manager.ts rename to src/vs/code/electron-main/update-manager.ts index 164e48b7971..782431039d0 100644 --- a/src/vs/workbench/electron-main/update-manager.ts +++ b/src/vs/code/electron-main/update-manager.ts @@ -10,11 +10,11 @@ import path = require('path'); import events = require('events'); import electron = require('electron'); import platform = require('vs/base/common/platform'); -import { IEnvironmentService, getPlatformIdentifier } from 'vs/workbench/electron-main/env'; -import { ISettingsService } from 'vs/workbench/electron-main/settings'; -import { Win32AutoUpdaterImpl } from 'vs/workbench/electron-main/auto-updater.win32'; -import { LinuxAutoUpdaterImpl } from 'vs/workbench/electron-main/auto-updater.linux'; -import { ILifecycleService } from 'vs/workbench/electron-main/lifecycle'; +import { IEnvironmentService, getPlatformIdentifier } from 'vs/code/electron-main/env'; +import { ISettingsService } from 'vs/code/electron-main/settings'; +import { Win32AutoUpdaterImpl } from 'vs/code/electron-main/auto-updater.win32'; +import { LinuxAutoUpdaterImpl } from 'vs/code/electron-main/auto-updater.linux'; +import { ILifecycleService } from 'vs/code/electron-main/lifecycle'; import { ServiceIdentifier, createDecorator, IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; export enum State { diff --git a/src/vs/workbench/electron-main/window.ts b/src/vs/code/electron-main/window.ts similarity index 99% rename from src/vs/workbench/electron-main/window.ts rename to src/vs/code/electron-main/window.ts index fa381820cc0..b3c35534920 100644 --- a/src/vs/workbench/electron-main/window.ts +++ b/src/vs/code/electron-main/window.ts @@ -6,14 +6,12 @@ 'use strict'; import path = require('path'); - import {shell, screen, BrowserWindow} from 'electron'; - import {TPromise, TValueCallback} from 'vs/base/common/winjs.base'; import platform = require('vs/base/common/platform'); import objects = require('vs/base/common/objects'); -import { ICommandLineArguments, IEnvironmentService, IProcessEnvironment } from 'vs/workbench/electron-main/env'; -import storage = require('vs/workbench/electron-main/storage'); +import { ICommandLineArguments, IEnvironmentService, IProcessEnvironment } from 'vs/code/electron-main/env'; +import storage = require('vs/code/electron-main/storage'); import { ILogService } from './log'; export interface IWindowState { diff --git a/src/vs/workbench/electron-main/windows.ts b/src/vs/code/electron-main/windows.ts similarity index 98% rename from src/vs/workbench/electron-main/windows.ts rename to src/vs/code/electron-main/windows.ts index 2cf25022418..75d9e541fd8 100644 --- a/src/vs/workbench/electron-main/windows.ts +++ b/src/vs/code/electron-main/windows.ts @@ -9,20 +9,18 @@ import events = require('events'); import path = require('path'); import fs = require('fs'); - import {ipcMain as ipc, app, screen, crashReporter, BrowserWindow, dialog} from 'electron'; - import platform = require('vs/base/common/platform'); -import { ICommandLineArguments, IProcessEnvironment, IEnvironmentService, IParsedPath, parseLineAndColumnAware } from 'vs/workbench/electron-main/env'; -import window = require('vs/workbench/electron-main/window'); -import { ILifecycleService } from 'vs/workbench/electron-main/lifecycle'; +import { ICommandLineArguments, IProcessEnvironment, IEnvironmentService, IParsedPath, parseLineAndColumnAware } from 'vs/code/electron-main/env'; +import window = require('vs/code/electron-main/window'); +import { ILifecycleService } from 'vs/code/electron-main/lifecycle'; import nls = require('vs/nls'); import paths = require('vs/base/common/paths'); import arrays = require('vs/base/common/arrays'); import objects = require('vs/base/common/objects'); -import storage = require('vs/workbench/electron-main/storage'); -import {ISettingsService} from 'vs/workbench/electron-main/settings'; -import {IUpdateService, IUpdate} from 'vs/workbench/electron-main/update-manager'; +import storage = require('vs/code/electron-main/storage'); +import {ISettingsService} from 'vs/code/electron-main/settings'; +import {IUpdateService, IUpdate} from 'vs/code/electron-main/update-manager'; import { ILogService } from './log'; import {ServiceIdentifier, createDecorator, IInstantiationService} from 'vs/platform/instantiation/common/instantiation'; diff --git a/src/vs/workbench/buildfile.js b/src/vs/workbench/buildfile.js index 005fc839fb2..1bfc911de3c 100644 --- a/src/vs/workbench/buildfile.js +++ b/src/vs/workbench/buildfile.js @@ -20,9 +20,6 @@ exports.collectModules= function(excludes) { var languageWorkerExcludes = ['vs/base/common/worker/workerServer', 'vs/editor/common/worker/editorWorkerServer']; return [ - createModuleDescription('vs/workbench/electron-main/main', []), - createModuleDescription('vs/workbench/electron-main/cli', []), - createModuleDescription('vs/workbench/parts/search/browser/searchViewlet', excludes), createModuleDescription('vs/workbench/parts/search/browser/openAnythingHandler', excludes), @@ -43,7 +40,5 @@ exports.collectModules= function(excludes) { createModuleDescription('vs/workbench/services/files/node/watcher/unix/watcherApp', []), createModuleDescription('vs/workbench/node/extensionHostProcess', []), - - createModuleDescription('vs/workbench/electron-main/sharedProcessMain', []) ]; }; \ No newline at end of file