@@ -1267,10 +1267,10 @@ index 0000000000..56331ff1fc
1267
1267
+ require('../../bootstrap-amd').load('vs/server/entry');
1268
1268
diff --git a/src/vs/server/ipc.d.ts b/src/vs/server/ipc.d.ts
1269
1269
new file mode 100644
1270
- index 0000000000..7e1cd270c8
1270
+ index 0000000000..16ed214d94
1271
1271
--- /dev/null
1272
1272
+++ b/src/vs/server/ipc.d.ts
1273
- @@ -0,0 +1,115 @@
1273
+ @@ -0,0 +1,119 @@
1274
1274
+ /**
1275
1275
+ * External interfaces for integration into code-server over IPC. No vs imports
1276
1276
+ * should be made in this file.
@@ -1319,6 +1319,7 @@ index 0000000000..7e1cd270c8
1319
1319
+ export interface Args {
1320
1320
+ 'user-data-dir'?: string;
1321
1321
+
1322
+ + 'enable-proposed-api'?: string[];
1322
1323
+ 'extensions-dir'?: string;
1323
1324
+ 'builtin-extensions-dir'?: string;
1324
1325
+ 'extra-extensions-dir'?: string[];
@@ -1366,7 +1367,10 @@ index 0000000000..7e1cd270c8
1366
1367
+ readonly workspaceUri?: UriComponents;
1367
1368
+ readonly logLevel?: number;
1368
1369
+ readonly workspaceProvider?: {
1369
- + payload: [["userDataPath", string]];
1370
+ + payload: [
1371
+ + ["userDataPath", string],
1372
+ + ["enableProposedApi", string],
1373
+ + ];
1370
1374
+ };
1371
1375
+ };
1372
1376
+ readonly remoteUserDataUri: UriComponents;
@@ -2475,10 +2479,10 @@ index 0000000000..3c74512192
2475
2479
+ }
2476
2480
diff --git a/src/vs/server/node/server.ts b/src/vs/server/node/server.ts
2477
2481
new file mode 100644
2478
- index 0000000000..f2c16b9f81
2482
+ index 0000000000..4b88fedb2f
2479
2483
--- /dev/null
2480
2484
+++ b/src/vs/server/node/server.ts
2481
- @@ -0,0 +1,282 @@
2485
+ @@ -0,0 +1,285 @@
2482
2486
+ import * as fs from 'fs';
2483
2487
+ import * as net from 'net';
2484
2488
+ import * as path from 'path';
@@ -2578,7 +2582,10 @@ index 0000000000..f2c16b9f81
2578
2582
+ remoteAuthority: options.remoteAuthority,
2579
2583
+ logLevel: getLogLevel(environment),
2580
2584
+ workspaceProvider: {
2581
- + payload: [["userDataPath", environment.userDataPath]],
2585
+ + payload: [
2586
+ + ["userDataPath", environment.userDataPath],
2587
+ + ["enableProposedApi", JSON.stringify(options.args["enable-proposed-api"] || [])]
2588
+ + ],
2582
2589
+ },
2583
2590
+ },
2584
2591
+ remoteUserDataUri: transformer.transformOutgoing(URI.file(environment.userDataPath)),
@@ -3073,7 +3080,7 @@ index 6e3182a696..7df85da165 100644
3073
3080
};
3074
3081
3075
3082
diff --git a/src/vs/workbench/services/environment/browser/environmentService.ts b/src/vs/workbench/services/environment/browser/environmentService.ts
3076
- index ba2701ec54..efea3bd5bc 100644
3083
+ index ba2701ec54..4d4aaa6958 100644
3077
3084
--- a/src/vs/workbench/services/environment/browser/environmentService.ts
3078
3085
+++ b/src/vs/workbench/services/environment/browser/environmentService.ts
3079
3086
@@ -121,8 +121,18 @@ export class BrowserWorkbenchEnvironmentService implements IWorkbenchEnvironment
@@ -3096,6 +3103,20 @@ index ba2701ec54..efea3bd5bc 100644
3096
3103
3097
3104
@memoize
3098
3105
get settingsResource(): URI { return joinPath(this.userRoamingDataHome, 'settings.json'); }
3106
+ @@ -284,7 +294,12 @@ export class BrowserWorkbenchEnvironmentService implements IWorkbenchEnvironment
3107
+ extensionHostDebugEnvironment.params.port = parseInt(value);
3108
+ break;
3109
+ case 'enableProposedApi':
3110
+ - extensionHostDebugEnvironment.extensionEnabledProposedApi = [];
3111
+ + try {
3112
+ + extensionHostDebugEnvironment.extensionEnabledProposedApi = JSON.parse(value);
3113
+ + } catch (error) {
3114
+ + console.error(error);
3115
+ + extensionHostDebugEnvironment.extensionEnabledProposedApi = [];
3116
+ + }
3117
+ break;
3118
+ }
3119
+ }
3099
3120
diff --git a/src/vs/workbench/services/extensionManagement/common/extensionEnablementService.ts b/src/vs/workbench/services/extensionManagement/common/extensionEnablementService.ts
3100
3121
index c28b147740..6090200d9c 100644
3101
3122
--- a/src/vs/workbench/services/extensionManagement/common/extensionEnablementService.ts
0 commit comments