microsoft / microsoft/vscode-python-debugger
Prevent vscode from exiting the Python interpreter a script completes
還沒有人認領這個 Issue。
- 主要語言
- TypeScript
- 星號
- 181
- 分支
- 126
- 平均合併
- 2 天 3 小時
- 30 天內合併 PR
- 3
描述
Discussed in https://github.com/microsoft/vscode-python/discussions/16082
Originally posted by larsoner April 29, 2021
The way I have used Python for years (through Spyder, directly from a bash terminal, etc.) is to execute a script in interactive mode such that once it's done, you can interact with it, e.g.:
python -i script.py
VSCode's debugger does not give a way to get this behavior currently. And it seems like I am not the only one looking for it:
- https://stackoverflow.com/questions/56568304/how-to-run-my-python-module-in-visual-studio-code-in-interactive-mode
- https://stackoverflow.com/questions/54609806/how-to-prevent-vscode-from-exiting-python-environment-after-running-code
- https://www.reddit.com/r/vscode/comments/8uv8xc/how_to_keep_python_running_after_script_execution/
- https://github.com/microsoft/vscode-python/issues/5497
One workaround is to put a breakpoint at the end of your file, but this requires extra work.
Another workaround is to add "env": {"PYTHONINSPECT": "true"}, to the launch configuration with integratedTerminal, but this doesn't work properly as any input is captured and newlines aren't treated properly while printing, which makes it pretty unusable.
I could see at least two potential solutions (the first would be better I think):
- Make it so that in
PYTHONINSPECTmode, the terminal could be interacted with properly, possibly by adding a newinspectOnExitor something that ran in-i/PYTHONINSPECTmode and returned proper input/output when the script completes. Based on https://github.com/microsoft/vscode-python/issues/5497 it sounds like this is a no-go, though. - Add a
stopOnExitdebug option to mirrorstopOnEntryin the debugger. This way at least variables could be inspected using the vscode debugger.
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
研究方向
Issue 中沒有指定實作檔案或測試。首先查看連結的討論以及現有的 stopOnEntry 偵錯器行為,然後將提議的互動式 PYTHONINSPECT 和 stopOnExit 方案與 issue 5497 進行比較。Done 應提供可用的指令碼結束後檢查體驗,而不要求在結尾設定 breakpoint。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- typescript
- 領域
- devtools
- Issue 類型
- 功能
- 難度
- 5/5
- 預估耗時
- 一週以上
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 25/100