Skip to content

Commit 08d4c53

Browse files
committed
Ensure all environment paths are created
This normally happens in electron-main/main.ts but we don't run anything from there. Fixes #499.
1 parent 70cd939 commit 08d4c53

File tree

2 files changed

+14
-18
lines changed

2 files changed

+14
-18
lines changed

packages/server/src/vscode/sharedProcess.ts

-12
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
import { ChildProcess } from "child_process";
2-
import * as fs from "fs";
3-
import * as fse from "fs-extra";
42
import * as os from "os";
53
import * as path from "path";
64
import { forkModule } from "./bootstrapFork";
@@ -90,16 +88,6 @@ export class SharedProcess {
9088
this.activeProcess.kill();
9189
}
9290

93-
const backupsDir = path.join(this.userDataDir, "Backups");
94-
await Promise.all([
95-
fse.mkdirp(backupsDir),
96-
]);
97-
98-
const workspacesFile = path.join(backupsDir, "workspaces.json");
99-
if (!fs.existsSync(workspacesFile)) {
100-
fs.appendFileSync(workspacesFile, "");
101-
}
102-
10391
const activeProcess = forkModule("vs/code/electron-browser/sharedProcess/sharedProcessMain", [], {
10492
env: {
10593
VSCODE_ALLOW_IO: "true",

scripts/vscode.patch

+14-6
Original file line numberDiff line numberDiff line change
@@ -138,17 +138,25 @@ index e0ff793..885de12 100644
138138
- const cmdOrCtrlKey = platform.isMacintosh ? e.metaKey : e.ctrlKey;
139139
+ const cmdOrCtrlKey = browser.isMacintosh ? e.metaKey : e.ctrlKey;
140140
diff --git a/src/vs/code/electron-browser/sharedProcess/sharedProcessMain.ts b/src/vs/code/electron-browser/sharedProcess/sharedProcessMain.ts
141-
index 6fd8249..039d31a 100644
141+
index 6fd8249..04c0933 100644
142142
--- a/src/vs/code/electron-browser/sharedProcess/sharedProcessMain.ts
143143
+++ b/src/vs/code/electron-browser/sharedProcess/sharedProcessMain.ts
144-
@@ -50,0 +51 @@ import { ServiceIdentifier } from 'vs/platform/instantiation/common/instantiatio
144+
@@ -50,0 +51,2 @@ import { ServiceIdentifier } from 'vs/platform/instantiation/common/instantiatio
145145
+import { BackupMainService } from 'vs/platform/backup/electron-main/backupMainService';
146-
@@ -120,0 +122,3 @@ function main(server: Server, initData: ISharedProcessInitData, configuration: I
146+
+import { mkdirp } from 'vs/base/node/pfs';
147+
@@ -93,0 +96,8 @@ function main(server: Server, initData: ISharedProcessInitData, configuration: I
148+
+ Promise.all<boolean | undefined>([ // Copied from src/vs/code/electron-main/main.ts
149+
+ environmentService.extensionsPath,
150+
+ environmentService.nodeCachedDataDir,
151+
+ environmentService.logsPath,
152+
+ environmentService.globalStorageHome,
153+
+ environmentService.workspaceStorageHome,
154+
+ environmentService.backupHome
155+
+ ].map((path): undefined | Promise<boolean> => path ? mkdirp(path) : undefined));
156+
@@ -119,0 +130,2 @@ function main(server: Server, initData: ISharedProcessInitData, configuration: I
147157
+ const backupMainService = instantiationService.createInstance(BackupMainService) as BackupMainService;
148158
+ backupMainService.initialize().catch(console.error);
149-
+
150-
@@ -223,0 +228,2 @@ async function handshake(configuration: ISharedProcessConfiguration): Promise<vo
151-
+
159+
@@ -223,0 +236 @@ async function handshake(configuration: ISharedProcessConfiguration): Promise<vo
152160
+startup({ machineId: "1" });
153161
diff --git a/src/vs/editor/browser/config/configuration.ts b/src/vs/editor/browser/config/configuration.ts
154162
index f97a692..0206957 100644

0 commit comments

Comments
 (0)