- Notifications
You must be signed in to change notification settings - Fork1.2k
Use sendText to send Python code to Terminal REPL for Python >= 3.13#24765
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
@@ -261,6 +280,36 @@ suite('Terminal Service', () => { | |||
terminal.verify((t) => t.sendText(TypeMoq.It.isValue(textToSend)), TypeMoq.Times.never()); | |||
}); | |||
test('Ensure sendText is called when Python shell integration and terminal shell integration are both enabled - Mac, Linux && Python >= 3.13', async () => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Note we will start using executeCommand again once we resolve all the Python3.13 related issue and start using Python shell integration again.
If the changes appear safe, you can manually trigger the pipeline by commenting |
6b784e5
intomicrosoft:mainUh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Resolves:#24674 (comment)
Use sendText to send Python code to Terminal REPL for Python >= 3.13 to prevent keyboard interrupt.
Relevant file context from VS Code:https://github.com/microsoft/vscode/blob/f9c927cf7a29a59b896b6cdac2d8b5d2d43afea5/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts#L906
It seems like we are on this edge scenario where generic terminal shell integration is enabled (so executeCommand can be used), but we have temporarily disabled Python shell integration for Python >= 3.13 (and of course sending the relevant escape sequences such as the commandLine itself to VS Code). Why?
Why and where I think the keyboard interrupt is happening:
Python extension tries to executeCommand when sending commands to terminal REPL >= Python3.13, where we are not sending shell integration escape sequences from the Python side.