diff --git a/.vscode/launch.json b/.vscode/launch.json index 80c053af5b8..8660dc21bb4 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -549,6 +549,7 @@ "Attach to Main Process", "Attach to Extension Host", "Attach to Shared Process", + "Attach to Pty Host Process" ], "preLaunchTask": "Ensure Prelaunch Dependencies", "presentation": { diff --git a/extensions/jupyter-adapter/src/JupyterKernel.ts b/extensions/jupyter-adapter/src/JupyterKernel.ts index 07e4ee7855c..76ffdf0684a 100644 --- a/extensions/jupyter-adapter/src/JupyterKernel.ts +++ b/extensions/jupyter-adapter/src/JupyterKernel.ts @@ -409,7 +409,7 @@ export class JupyterKernel extends EventEmitter implements vscode.Disposable { const command = args.join(' '); // Create environment. - const env = {}; + const env = { POSITRON_LANGUAGE: this._spec.language }; Object.assign(env, process.env, this._spec.env); // We are now starting the kernel diff --git a/src/vs/platform/terminal/node/ptyService.ts b/src/vs/platform/terminal/node/ptyService.ts index a116038d6f2..06038e3a24f 100644 --- a/src/vs/platform/terminal/node/ptyService.ts +++ b/src/vs/platform/terminal/node/ptyService.ts @@ -134,6 +134,15 @@ export class PtyService extends Disposable implements IPtyService { async serializeTerminalState(ids: number[]): Promise { const promises: Promise[] = []; for (const [persistentProcessId, persistentProcess] of this._ptys.entries()) { + + // --- Start Positron --- + // Skip serializing Positron language runtime kernel processes + const positronLanguage = persistentProcess.shellLaunchConfig.env?.POSITRON_LANGUAGE; + if (positronLanguage) { + continue; + } + // --- End Positron --- + // Only serialize persistent processes that have had data written or performed a replay if (persistentProcess.hasWrittenData && ids.indexOf(persistentProcessId) !== -1) { promises.push(Promises.withAsyncBody(async r => {