提问人:ljwobker 提问时间:11/10/2023 更新时间:11/10/2023 访问量:41
python VSCode:根据启动/调试状态以不同方式运行代码的建议方法
python VSCode: suggested way to run code differently based on launch / debug state
问:
我有一些 python 代码可以迭代大量文件,并且我编写了一个简单的多线程池,这大大加快了它的速度。(该应用程序并不复杂,没有并发或锁定问题,因为每个输入文件都是 1:1 映射到输出文件,并且这些线程之间没有共享数据结构......
但是,当我调试(在 VSCode 中)时,将其作为单个线程运行对我来说要容易得多,因此我在函数调用中添加了一个变量,允许我强制它在没有线程的情况下运行。这解决了问题,但手动且笨重。我至少想过几种方法可以半自动化,但对这些东西知之甚少(显然),我想我会征求建议。
- 我可以设置一个环境变量,将其拉入脚本,然后根据该变量选择单线程代码与多线程代码。
- 我可以向选择单线程/多线程模式的现有解析器添加一个参数。
如果其中任何一个存在,我大概可以修改调试器的节,并让它在调试器中启动代码之前设置这些参数或变量。launch.json
但是,这部分我感到困惑......Ctrl-F5 “运行程序” 快捷方式是否始终与在调试器中启动程序的 “F5” 快捷方式完全相同?
当我知道(或至少认为)代码会运行时,我经常使用 Ctrl-F5,而当我认为它不会运行时,我会使用 F5。有没有一些合理的方法可以让 Ctrl-F5 做一些与 F5 “略有不同”的事情?
我刚才描述的也完全有可能是一个非常糟糕的主意,原因对我来说并不明显,和/或在这件事上有更优雅和我不为人知的智慧...... ;-)
答:
Ctrl-F5 “运行程序” 快捷方式是否始终与在调试器中启动程序的 “F5” 快捷方式完全相同?
两者都使用调试器来执行代码,并且都将使用 launch.json 中的配置。不同之处在于 F5 将在断点处停止,而 Ctrl+F5 不会。
https://code.visualstudio.com/Docs/editor/debugging#_run-mode
如果要直接运行脚本:
评论