在 Visual Studio Code 中运行 Python 代码后保持控制台打开

问题描述 投票:0回答:3

我正在使用带有标准 Python 扩展的 Visual Studio Code。

我的问题是,当我运行代码时,Python 解释器立即关闭,我只能看到输出。这意味着如果我创建一些数据结构,我必须每次都创建它。

运行代码后是否可以让控制台保持打开状态,并且可能在同一个 Python 解释器实例中运行多个文件?

python visual-studio-code console
3个回答
3
投票

我曾经使用spyder,它完全可以做你想做的事(可能像PyCharm)...... 然后我简单地尝试了 VS Code,也很容易让它表现得像这样。

首先确保您打开了集成终端(或执行 Ctrl+`,或查看 > 集成终端),然后在该终端中启动

ipython
。 现在,当您使用 Don Jayamanne 的 Python 扩展中的命令时(
Ctrl+Shift+P
打开命令面板):

  • “在终端中运行 Python 文件”
  • “在终端中运行选择/行”

它将直接在 ipython 控制台内运行该行。因此运行整个文件将在 ipython 中调用

python module.py
,因此失败

因此,为了完成这项工作,只需创建设置来映射“在终端中运行 select/line”时执行哪个命令:

  • 打开语言特定设置(Shift+Ctrl+P,搜索“配置语言特定设置...”)
  • 拿起Python
  • 现在我建议仅在工作区设置(右上角选项卡)中进行更改,以在其他情况下保持默认行为 所以添加
    WORKSPACE SETTINGS

(请记住,这只是一个简单/愚蠢的解决方法)

{
    "python.pythonPath": "run"
}

现在运行整个文件时,它将在我们启动的 ipython 终端中使用 ipython 函数

run
,从而保留所有工作区变量。 另外,如果您使用“在终端中运行 Select/Line”运行某行代码,则该终端的 ipython 会话将保留所有变量。

这允许实时调试,而无需实际进入调试模式。


1
投票

当你运行一个程序时,它会一直运行直到结束。然后它就关闭了。如果你想让它活得更久,你可以制作一个程序,在被告知之前不会停止,例如

while True:
    something = raw_input('Write something: ')
    print('You wrote: %s' % something)
    if something == 'bye':
        print 'bye.'
        break

这将运行直到用户写“再见”。


0
投票

我对这次对话已经很晚了,但我使用的解决方法是在文件末尾放置一个 pass 语句,然后向其添加一个断点。然后我在调试器中运行它并可以访问所有变量等。

这允许我在 PyCharm python 终端中使用的大部分功能,例如探索数据结构、检查方法等。请记住,如果您想创建多行语句(例如 for 循环) ),您需要使用 Shift-Enter 转到下一行,否则它会立即尝试对其进行评估。

© www.soinside.com 2019 - 2024. All rights reserved.