【问题标题】:Sending code snippets to the debug console interpreter将代码片段发送到调试控制台解释器
【发布时间】:2020-04-14 03:52:44
【问题描述】:

我想在活动调试会话期间将我从编辑器中选择的代码发送到在调试控制台中运行的解释器。我可以在 VSCode 中执行此操作吗?如果有,怎么做?

更新 1

虽然 Mark(已接受的答案)提供了似乎是正确的命令(它适用于我使用鼠标的上下文菜单),但作为键盘绑定,这对我来说还不起作用,我报告了这个问题 @ 987654321@.

更新 2

自 2020 年 4 月 21 日(最新 Insiders 版本)起,此功能再次开始工作。

【问题讨论】:

    标签: python debugging visual-studio-code


    【解决方案1】:

    https://code.visualstudio.com/docs/python/editing#_run-selectionline-in-terminal-repl

    在终端中运行选择/行 (REPL)

    Python: Run Selection/Line in Python Terminal 命令 (Shift+Enter) 是一种选择任何代码的简单方法,或者 如果没有选择,则在当前行上的代码,并运行它 Python 终端。上下文菜单中也提供了相同的Run Selection/Line in Python Terminal 命令以供选择 在编辑器中。

    VS Code 会根据第一个非空字符自动删除缩进 选择的行,并相应地向左移动所有其他行。

    在终端/REPL 中运行的源代码是累积的,直到 终端的当前实例已关闭。

    如有必要,该命令会打开 Python 终端;你也可以打开 直接使用Python: Start REPL 的交互式 REPL 环境 命令。 (初始启动可能需要一些时间,特别是如果 您运行的第一条语句是导入。)

    在 Python 终端中首次使用 Python: Run Selection/Line 命令,VS Code 可能会在该环境之前将文本发送到 REPL 准备就绪,在这种情况下,选择或行不会运行。如果你 遇到这种行为,当 REPL 有 加载完毕。

    有关 IPython REPL 的信息,请参阅 Use IPython REPL in VS Code


    --------- 其他语言的通用信息 --------------------------------- ----------------------------------------

    听起来您想将 repl 发送给它。有一个未绑定的命令:

    editor.debug.action.selectionToRepl

    这会将选定的文本发送到调试副本。

    {
      "key": "alt+y",           // whatever you want here
      "command": "editor.debug.action.selectionToRepl"
    },
    

    【讨论】:

    • 奇怪,这对我不起作用(在最新版本的 Insiders 中),我在任何地方都看不到任何错误或消息。我想我会提交一张票
    • 它适用于我,但我不使用 python,所以我无法在那里测试它。
    • 谢谢 - 我认为这确实是正确的答案,即使它对我来说不是很有效(我打开了 a ticket 和他们,以防其他人遇到类似问题)
    【解决方案2】:

    不,您不能将选择的代码发送到调试器。您需要调试整个文件或使用交互式窗口支持来调试特定单元格。

    【讨论】:

    • 谢谢 Brett - 你知道这是否是一种设计选择吗?如果是这样,您是否知道讨论/丢弃该想法的任何线程,或者排除此功能的基础是否已建立?还是您认为这更多地限制了这两个实体(调试器控制台进程和编辑器)今天的通信方式?
    • 另外,我很想知道您将如何将您在这里写的内容与@mark 在另一个答案中发布的commandID 相协调。
    • Mark 的回答不同,因为他知道我不知道的 VS Code 特定命令。我是从 Python 扩展的角度说的,这里没有对此的具体支持。
    • 知道了 - 谢谢@Brett
    • 顺便说一句,我恰巧刚刚在这个话题上打开了a related feature request(如果你有兴趣,仅供参考)。再次感谢。
    猜你喜欢
    • 2010-11-14
    • 1970-01-01
    • 2015-06-23
    • 2018-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多