使用 VisualStudio 的 Python "Sent to Interactive" 如何查看 Locals、Watch 或 AutoWatch 中的所有变量

When using VisualStudio's Python "Sent to Interactive" how to see all Variables in Locals, Watch or AutoWatch

我已经开始将 VS 与 Python 一起使用,我希望它具有与 R 中类似的功能。 我需要的是能够逐行编辑和执行("Sent to Interactive" 命令)以及查看已定义变量的当前值? 最后一项丢失了,我找不到任何方法来显示值 在进行交互式编辑执行时,本地、监视或任何其他 window 中的所有当前变量?

(在 Whosebug 上也有类似的问题,但找不到这个特定问题的答案)

不幸的是,在 PTVS 的交互式 Window 中,没有任何明显的方法来检查当前上下文中的变量。我们知道这个缺陷,would like to fix it in future versions.

与此同时,可能有一些解决方法 "good enough"。最明显的一个是使用 dir() 来转储当地人的名字(您可以将它变成一个单行字典理解来转储值和名字)。

或者,您可以使用 $attach 魔术命令将 PTVS 调试器附加到支持交互的 Python 进程。这与常规调试会话的工作方式相同,因此在您以某种方式暂停该过程之前,您不会看到本地人。最简单的方法是在 REPL 中引发异常,例如只需输入 raise Exception - 然后您将暂停在正确的框架中,并且可以在 Locals 中看到所有变量并像往常一样编辑它们;当然,您必须先取消暂停该过程,然后才能再次使用 REPL。