From b64508701e80d6c9425d255233dd1dcb8b2813a1 Mon Sep 17 00:00:00 2001 From: Anthony Kim Date: Sun, 22 Feb 2026 14:23:26 -0800 Subject: [PATCH 1/2] Go back to vscode engine 1.106.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index c312372c..ab946f07 100644 --- a/package-lock.json +++ b/package-lock.json @@ -42,7 +42,7 @@ "webpack-cli": "^5.1.1" }, "engines": { - "vscode": "^1.110.0-20260204" + "vscode": "^1.106.0" } }, "node_modules/@aashutoshrathi/word-wrap": { diff --git a/package.json b/package.json index 50317b48..b88c2c16 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "publisher": "ms-python", "preview": true, "engines": { - "vscode": "^1.110.0-20260204" + "vscode": "^1.106.0" }, "categories": [ "Other" From c4c43344445d512c7c000fd92b3b098e16cbc235 Mon Sep 17 00:00:00 2001 From: Anthony Kim Date: Sun, 22 Feb 2026 14:51:03 -0800 Subject: [PATCH 2/2] Revert vscode engine, taskExecutionTerminal propsed api --- package.json | 3 +- src/features/terminal/utils.ts | 7 +-- .../terminal/activateMenuButton.unit.test.ts | 57 ------------------- ...vscode.proposed.taskExecutionTerminal.d.ts | 15 ----- 4 files changed, 4 insertions(+), 78 deletions(-) delete mode 100644 src/test/features/terminal/activateMenuButton.unit.test.ts delete mode 100644 src/vscode.proposed.taskExecutionTerminal.d.ts diff --git a/package.json b/package.json index b88c2c16..dc66c260 100644 --- a/package.json +++ b/package.json @@ -13,8 +13,7 @@ ], "enabledApiProposals": [ "terminalShellEnv", - "terminalDataWriteEvent", - "taskExecutionTerminal" + "terminalDataWriteEvent" ], "capabilities": { "untrustedWorkspaces": { diff --git a/src/features/terminal/utils.ts b/src/features/terminal/utils.ts index d279a11e..83744808 100644 --- a/src/features/terminal/utils.ts +++ b/src/features/terminal/utils.ts @@ -1,5 +1,5 @@ import * as path from 'path'; -import { Disposable, env, tasks, Terminal, TerminalOptions, Uri } from 'vscode'; +import { Disposable, env, Terminal, TerminalOptions, Uri } from 'vscode'; import { PythonEnvironment, PythonProject, PythonProjectEnvironmentApi, PythonProjectGetterApi } from '../../api'; import { timeout } from '../../common/utils/asyncUtils'; import { createSimpleDebounce } from '../../common/utils/debounce'; @@ -129,9 +129,8 @@ function detectsCommonPromptPattern(terminalData: string): boolean { } export function isTaskTerminal(terminal: Terminal): boolean { - // Use tasks.taskExecutions API to check if terminal is associated with a task - // See: https://github.com/microsoft/vscode/issues/234440 - return tasks.taskExecutions.some((execution) => execution.terminal === terminal); + // TODO: Need API for core for this https://github.com/microsoft/vscode/issues/234440 + return terminal.name.toLowerCase().includes('task'); } export function getTerminalCwd(terminal: Terminal): string | undefined { diff --git a/src/test/features/terminal/activateMenuButton.unit.test.ts b/src/test/features/terminal/activateMenuButton.unit.test.ts deleted file mode 100644 index 07c3fb84..00000000 --- a/src/test/features/terminal/activateMenuButton.unit.test.ts +++ /dev/null @@ -1,57 +0,0 @@ -import * as assert from 'assert'; -import * as sinon from 'sinon'; -import { Terminal } from 'vscode'; -import { PythonEnvironment } from '../../../api'; -import * as commandApi from '../../../common/command.api'; -import * as activation from '../../../features/common/activation'; -import { setActivateMenuButtonContext } from '../../../features/terminal/activateMenuButton'; -import * as utils from '../../../features/terminal/utils'; - -suite('Terminal - Activate Menu Button', () => { - let executeCommandStub: sinon.SinonStub; - let isTaskTerminalStub: sinon.SinonStub; - let isActivatableEnvironmentStub: sinon.SinonStub; - - const mockTerminal = { name: 'test-terminal' } as Terminal; - const mockEnv = {} as PythonEnvironment; // Stubbed, so no properties needed - - setup(() => { - executeCommandStub = sinon.stub(commandApi, 'executeCommand').resolves(); - isTaskTerminalStub = sinon.stub(utils, 'isTaskTerminal'); - isActivatableEnvironmentStub = sinon.stub(activation, 'isActivatableEnvironment'); - }); - - teardown(() => { - sinon.restore(); - }); - - test('should show activate icon when isTaskTerminal returns false', async () => { - // Arrange: terminal is NOT a task terminal, env is activatable - isTaskTerminalStub.returns(false); - isActivatableEnvironmentStub.returns(true); - - // Act - await setActivateMenuButtonContext(mockTerminal, mockEnv); - - // Assert: icon should be shown (pythonTerminalActivation = true) - assert.ok( - executeCommandStub.calledWith('setContext', 'pythonTerminalActivation', true), - 'Should set pythonTerminalActivation to true for non-task terminal', - ); - }); - - test('should hide activate icon when isTaskTerminal returns true', async () => { - // Arrange: terminal IS a task terminal (even if env is activatable) - isTaskTerminalStub.returns(true); - isActivatableEnvironmentStub.returns(true); - - // Act - await setActivateMenuButtonContext(mockTerminal, mockEnv); - - // Assert: icon should be hidden (pythonTerminalActivation = false) - assert.ok( - executeCommandStub.calledWith('setContext', 'pythonTerminalActivation', false), - 'Should set pythonTerminalActivation to false for task terminal', - ); - }); -}); diff --git a/src/vscode.proposed.taskExecutionTerminal.d.ts b/src/vscode.proposed.taskExecutionTerminal.d.ts deleted file mode 100644 index 549a9b12..00000000 --- a/src/vscode.proposed.taskExecutionTerminal.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -// https://github.com/microsoft/vscode/issues/234440 - -declare module 'vscode' { - export interface TaskExecution { - /** - * The terminal associated with this task execution, if any. - */ - terminal?: Terminal; - } -}