diff --git a/src/vs/code/electron-browser/sharedProcess/sharedProcessMain.ts b/src/vs/code/electron-browser/sharedProcess/sharedProcessMain.ts index 457818a975..ad45ffe58a 100644 --- a/src/vs/code/electron-browser/sharedProcess/sharedProcessMain.ts +++ b/src/vs/code/electron-browser/sharedProcess/sharedProcessMain.ts @@ -194,3 +194,5 @@ async function handshake(configuration: ISharedProcessConfiguration): Promise IEditorGroup, afterDrop: (targetGroup: IEditorGroup) => void, targetIndex?: number): void { const untitledOrFileResources = extractResources(event).filter(r => this.fileService.canHandleResource(r.resource) || r.resource.scheme === Schemas.untitled); if (!untitledOrFileResources.length) { - return; + return client.handleDrop(event, resolveTargetGroup, afterDrop, targetIndex); } // Make the window active to handle the drop properly within diff --git a/src/vs/workbench/electron-browser/main.ts b/src/vs/workbench/electron-browser/main.ts index a43d63aa51..4c6df2fcd9 100644 --- a/src/vs/workbench/electron-browser/main.ts +++ b/src/vs/workbench/electron-browser/main.ts @@ -147,13 +147,14 @@ function openWorkbench(configuration: IWindowConfiguration): Promise { shell.open(); // Inform user about loading issues from the loader - (self).require.config({ - onError: err => { - if (err.errorCode === 'load') { - shell.onUnexpectedError(new Error(nls.localize('loaderErrorNative', "Failed to load a required file. Please restart the application to try again. Details: {0}", JSON.stringify(err)))); - } - } - }); + // TODO: how to make this work + // (self).require.config({ + // onError: err => { + // if (err.errorCode === 'load') { + // shell.onUnexpectedError(new Error(nls.localize('loaderErrorNative', "Failed to load a required file. Please restart the application to try again. Details: {0}", JSON.stringify(err)))); + // } + // } + // }); }); }); }); diff --git a/src/vs/workbench/electron-browser/workbench.ts b/src/vs/workbench/electron-browser/workbench.ts index 35bc4a82b3..9cc84bdf28 100644 --- a/src/vs/workbench/electron-browser/workbench.ts +++ b/src/vs/workbench/electron-browser/workbench.ts @@ -114,6 +114,7 @@ import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/work import { IFileDialogService } from 'vs/platform/dialogs/common/dialogs'; import { FileDialogService } from 'vs/workbench/services/dialogs/electron-browser/dialogService'; import { LogStorageAction } from 'vs/platform/storage/node/storageService'; +import { client } from "../../../../../../packages/vscode"; interface WorkbenchParams { configuration: IWindowConfiguration; @@ -248,6 +249,7 @@ export class Workbench extends Disposable implements IPartService { super(); this.workbenchParams = { configuration, serviceCollection }; + client.serviceCollection = serviceCollection; this.hasInitialFilesToOpen = (configuration.filesToCreate && configuration.filesToCreate.length > 0) || diff --git a/src/vs/workbench/node/extensionHostProcess.ts b/src/vs/workbench/node/extensionHostProcess.ts index 8d182d18d9..69d51e1aea 100644 --- a/src/vs/workbench/node/extensionHostProcess.ts +++ b/src/vs/workbench/node/extensionHostProcess.ts @@ -129,7 +129,7 @@ function connectToRenderer(protocol: IMessagePassingProtocol): Promise { + return client.handleExternalDrop(target, originalEvent); const droppedResources = extractResources(originalEvent.browserEvent as DragEvent, true); // Check for dropped external files to be folders diff --git a/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughContentProvider.ts b/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughContentProvider.ts index 7b4e8721ac..8f26dc2f28 100644 --- a/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughContentProvider.ts +++ b/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughContentProvider.ts @@ -28,7 +28,9 @@ export class WalkThroughContentProvider implements ITextModelContentProvider, IW public provideTextContent(resource: URI): Thenable { const query = resource.query ? JSON.parse(resource.query) : {}; const content: Thenable = (query.moduleId ? new Promise((resolve, reject) => { - require([query.moduleId], content => { + // Webpack needs this to be static or it can't include it. + import("vs/workbench/parts/welcome/page/electron-browser/vs_code_welcome_page").then((content) => { + // require([query.moduleId], content => { try { resolve(content.default()); } catch (err) { diff --git a/src/vs/workbench/services/themes/electron-browser/fileIconThemeData.ts b/src/vs/workbench/services/themes/electron-browser/fileIconThemeData.ts index 5b4136989f..25ccc0fe9e 100644 --- a/src/vs/workbench/services/themes/electron-browser/fileIconThemeData.ts +++ b/src/vs/workbench/services/themes/electron-browser/fileIconThemeData.ts @@ -178,7 +178,7 @@ function _processIconThemeDocument(id: string, iconThemeDocumentLocation: URI, i const iconThemeDocumentLocationDirname = resources.dirname(iconThemeDocumentLocation); function resolvePath(path: string) { - return resources.joinPath(iconThemeDocumentLocationDirname, path); + return "/resource" + resources.joinPath(iconThemeDocumentLocationDirname, path).path; } function collectSelectors(associations: IconsAssociation, baseThemeClassName?: string) {