有没有一种方法可以在使用 VSCode 调试 Python 代码时修改代码?

3
我知道一些编程语言,比如.NET(我在Visual Studio上有一些经验),有一种方法可以在断点处停止执行并更改下一行代码、更改变量的值甚至更改执行行而无需重新加载应用程序。
这非常有用,因为你可以在代码执行时编写代码,特别是对于非线性代码,其中一些函数在事件中被调用,例如django或flask应用程序。
我想知道是否有一种方法(如果可能使用vscode)在Python中做同样的事情。
1个回答

4

是的,您需要在 launch.json 文件中添加以下内容:

"autoReload": {
    "enable": true
}

您可以参考官方文档了解更多信息。

请注意,此功能只是在调试点命中或保存时自动重新加载。这意味着所有文件都会被重新加载,并且可能会触发未包含在if __name__ == "__main__"语句中的代码。这也意味着如果您的调试点位于if __name__ == "__main__"块内部,热重载将不起作用;它只适用于块外的代码。尽管如此,总比没有好。 - undefined
此外,我要补充说这个功能完全有缺陷。它似乎只在有限的情况下起作用,只能修改代码行的内容,而不能添加或删除函数中的代码行,否则它会使用旧版本的函数。虽然我没有进行过太多测试,但它的局限性和不可靠性使其对我来说无法使用(实际上,大多数Python及其生态系统也是如此)。 - undefined

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