diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts index fa278c08276..5b64a6cbb1d 100644 --- a/src/vs/code/electron-main/app.ts +++ b/src/vs/code/electron-main/app.ts @@ -1288,8 +1288,8 @@ export class CodeApplication extends Disposable { const context = isLaunchedFromCli(process.env) ? OpenContext.CLI : OpenContext.DESKTOP; const args = this.environmentMainService.args; - // Open sessions window if requested - if ((process as INodeProcess).isEmbeddedApp || args['sessions']) { + // Embedded app launches directly into the sessions window + if ((process as INodeProcess).isEmbeddedApp) { return windowsMainService.openSessionsWindow({ context, contextWindowId: undefined }); } diff --git a/src/vs/code/node/cli.ts b/src/vs/code/node/cli.ts index e2aa3084c3f..8e29f492476 100644 --- a/src/vs/code/node/cli.ts +++ b/src/vs/code/node/cli.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { ChildProcess, spawn, SpawnOptions, StdioOptions } from 'child_process'; -import { chmodSync, existsSync, readFileSync, readdirSync, statSync, truncateSync, unlinkSync } from 'fs'; +import { chmodSync, existsSync, readFileSync, statSync, truncateSync, unlinkSync } from 'fs'; import { homedir, tmpdir } from 'os'; import type { ProfilingSession, Target } from 'v8-inspect-profiler'; import { Event } from '../../base/common/event.js'; @@ -500,23 +500,7 @@ export async function main(argv: string[]): Promise { // focusing issues when the new instance only sends data to a previous instance and then closes. const spawnArgs = ['-n', '-g']; // -a opens the given application. - let appToLaunch = process.execPath; - if (args['sessions']) { - // process.execPath is e.g. /Applications/Code.app/Contents/MacOS/Electron - // Embedded app is at /Applications/Code.app/Contents/Applications/.app - const contentsPath = dirname(dirname(process.execPath)); - const applicationsPath = join(contentsPath, 'Applications'); - const embeddedApp = existsSync(applicationsPath) && readdirSync(applicationsPath).find(f => f.endsWith('.app')); - if (embeddedApp) { - appToLaunch = join(applicationsPath, embeddedApp); - argv = argv.filter(arg => arg !== '--sessions'); - } else { - console.error(`No embedded app found in: ${applicationsPath}`); - console.error('The --sessions flag requires an embedded app to be installed.'); - return; - } - } - spawnArgs.push('-a', appToLaunch); + spawnArgs.push('-a', process.execPath); // -a: opens a specific application if (args.verbose || args.status) { spawnArgs.push('--wait-apps'); // `open --wait-apps`: blocks until the launched app is closed (even if they were already running) diff --git a/src/vs/platform/environment/common/argv.ts b/src/vs/platform/environment/common/argv.ts index 45cb23ba6f3..a10f4c9b3bb 100644 --- a/src/vs/platform/environment/common/argv.ts +++ b/src/vs/platform/environment/common/argv.ts @@ -53,7 +53,6 @@ export interface NativeParsedArgs { goto?: boolean; 'new-window'?: boolean; 'reuse-window'?: boolean; - 'sessions'?: boolean; locale?: string; 'user-data-dir'?: string; 'prof-startup'?: boolean; diff --git a/src/vs/platform/environment/node/argv.ts b/src/vs/platform/environment/node/argv.ts index 6d00ad0ae09..35a833d5f90 100644 --- a/src/vs/platform/environment/node/argv.ts +++ b/src/vs/platform/environment/node/argv.ts @@ -99,7 +99,6 @@ export const OPTIONS: OptionDescriptions> = { 'goto': { type: 'boolean', cat: 'o', alias: 'g', args: 'file:line[:character]', description: localize('goto', "Open a file at the path on the specified line and character position.") }, 'new-window': { type: 'boolean', cat: 'o', alias: 'n', description: localize('newWindow', "Force to open a new window.") }, 'reuse-window': { type: 'boolean', cat: 'o', alias: 'r', description: localize('reuseWindow', "Force to open a file or folder in an already opened window.") }, - 'sessions': { type: 'boolean', cat: 'o', description: localize('sessions', "Opens the sessions window.") }, 'wait': { type: 'boolean', cat: 'o', alias: 'w', description: localize('wait', "Wait for the files to be closed before returning.") }, 'waitMarkerFilePath': { type: 'string' }, 'locale': { type: 'string', cat: 'o', args: 'locale', description: localize('locale', "The locale to use (e.g. en-US or zh-TW).") },