在 Python Visual Studio 下进行调试时是否支持“编辑并继续”功能?

14

我经常发现在调试代码时,会出现一些小错误,例如变量拼写错误。如果需要重新从头开始运行程序,这将耗费大量时间。

是否有可能纠正这个错误,并让程序从它停止的地方继续运行?具体来说,我使用Visual Studio作为IDE,在Python中编码。


这个回答解决了你的问题吗?在使用VS Code进行Python调试时,是否有一种方法可以在调试过程中更改代码?(严格来说,这是VS Code而不是老式的VS,但是在网络搜索中,VS Code的结果中列出了这个问题,并且没有人还在使用老式的VS来进行Python开发,对吗?) - undefined
1个回答

10

由于您在Visual Studio的上下文中谈论Python,我假设您正在使用Python Tools for Visual Studio (PTVS)。

您所指的功能通常在VS中称为“编辑并继续”(ENC),因为它最初是针对C#和VB而设计的。不幸的是,PTVS尚不支持此功能,但有一个功能请求跟踪它-请为它投票!

使用Python Debug Interactive窗口,也称为Debug REPL(在Debug -> Windows中可用),可以实现一定程度的ENC。这允许您在断点处中断,并以类似REPL的方式操作进程状态-包括定义新函数或重新定义现有函数等。这不是非常精细,因为即使您只想更改单个标识符,也必须重写整个函数体(虽然您可以将编辑器中的定义复制/粘贴到REPL中,然后在其中进行编辑)。它也不涵盖所有相同的场景-例如,如果您重新定义的函数当前正在运行,则仍将使用原始定义;此外,如果有人存储了对原始函数的引用,则不会受到影响。尽管如此,在某些情况下,您可能会发现它很有用。


谢谢你的回答,Pavel。ENC正是我想要做的。我会尝试你的建议,希望能为我节省一些时间。顺便说一句,我投了票。 - rwolst
功能请求的链接已经失效了。有人知道这个功能是否已经添加了,或者是否有其他地方的功能请求吗? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接