src/Tools/VSCode/patches/cli.patch
changeset 75277 f64725832d63
child 75279 9229f2681db7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/Tools/VSCode/patches/cli.patch	Mon Mar 14 16:03:15 2022 +0100
@@ -0,0 +1,33 @@
+diff --git a/src/vs/code/node/cli.ts b/src/vs/code/node/cli.ts
+--- a/src/vs/code/node/cli.ts
++++ b/src/vs/code/node/cli.ts
+@@ -24,6 +24,7 @@ import product from 'vs/platform/product/common/product';
+ import { CancellationTokenSource } from 'vs/base/common/cancellation';
+ import { randomPath } from 'vs/base/common/extpath';
+ import { Utils } from 'vs/platform/profiling/common/profiling';
++import * as path from 'path';
+ 
+ function shouldSpawnCliProcess(argv: NativeParsedArgs): boolean {
+ 	return !!argv['install-source']
+@@ -363,9 +364,11 @@ export async function main(argv: string[]): Promise<any> {
+ 		}
+ 
+ 		let child: ChildProcess;
++		const app_arg = '--app=' + path.join(path.dirname(process.execPath), 'resources', 'vscodium');
++		const electron_args = [app_arg].concat(argv.slice(2));
+ 		if (!isMacOSBigSurOrNewer) {
+ 			// We spawn process.execPath directly
+-			child = spawn(process.execPath, argv.slice(2), options);
++			child = spawn(process.execPath, electron_args, options);
+ 		} else {
+ 			// On Big Sur, we spawn using the open command to obtain behavior
+ 			// similar to if the app was launched from the dock
+@@ -425,7 +428,7 @@ export async function main(argv: string[]): Promise<any> {
+ 				}
+ 			}
+ 
+-			spawnArgs.push('--args', ...argv.slice(2)); // pass on our arguments
++			spawnArgs.push('--args', ...electron_args); // pass on our arguments
+ 
+ 			if (env['VSCODE_DEV']) {
+ 				// If we're in development mode, replace the . arg with the