Visual Studio Code - Python控制台

5

我正在使用带有标准Python扩展的Visual Studio Code,我的问题是当我运行代码时,Python解释器会立即关闭,我只能看到输出,这意味着如果我创建了一些数据结构,我必须每次都重新创建。是否可能在运行代码后保留控制台打开,并且可以在同一个Python解释器实例中运行多个文件?


这是一个通用问题,无论我运行什么代码。如果我要运行x = [1,2,3],我希望能够从另一个文件中运行print x[0]并仍然获得结果(这意味着我希望控制台在运行代码后不关闭)。 - Please be gentle
让我更好地解释一下我的问题,我正在使用ctrl+shift+b组合键从visual studio code执行我的python代码。首先我运行这个http://imgur.com/a/EB8ah,然后获得结果。然后我运行这个http://imgur.com/a/za8am,我得到错误提示x未定义,这意味着x没有保存在内存中,我猜测这是因为控制台在每次执行后立即关闭的缘故。 - Please be gentle
我猜测了你想要的内容并写下了答案。无论看起来似乎是“无论我运行什么代码”,你都应该提供一个示例。因为,“无论我运行什么代码”有时与“无论你运行什么代码”非常不同,当我们看到你实际运行的代码时,理解你的意图就更容易了。 - zvone
3个回答

3
我以前用过完全符合您要求的Spyder(可能类似于PyCharm)... 然后我简单地尝试了一下VS Code,发现很容易让它也像那样工作。 首先确保打开一个终端窗口(或按Ctrl+`,或者菜单栏选择View > Integrated Terminal),然后在终端中运行命令ipython。现在,当使用Don Jayamanne的Python扩展的命令时(按Ctrl+Shift+P打开命令列表): - "在终端中运行Python文件" - "在终端中运行选定/行"
它会直接在ipython控制台中运行代码。因此,运行整个文件将在ipython内部调用python module.py,从而失败
因此,要使其正常工作,只需创建设置来映射“在终端中运行选定/行”命令执行的内容即可: - 打开语言特定设置(Shift + Ctrl + P,搜索“配置语言特定设置…”) - 选择Python - 现在我建议仅在工作区设置(右上角选项卡)中进行更改以保持其他情况的默认行为,因此在工作区设置中添加:
(请记住这只是一种简单/愚蠢的解决方法)
{
    "python.pythonPath": "run"
}

现在,运行整个文件时,它将在我们启动的IPython终端中使用IPython函数“run”,从而保留所有工作区变量。此外,如果您使用“在终端中选择/运行一行”功能运行某些代码行,则该终端的IPython会话将保留所有变量。
这样可以进行实时调试,而无需进入调试模式。

1
当您运行程序时,它会一直运行直到结束,然后关闭。如果您希望它保持活动状态更长时间,您可以编写一个程序,它不会停止,除非收到停止命令,例如:
while True:
    something = raw_input('Write something: ')
    print('You wrote: %s' % something)
    if something == 'bye':
        print 'bye.'
        break

这将一直运行,直到用户写下“bye”为止。


那不是我当时想要的答案。我想知道如何在Python控制台中运行文件,并使控制台保持打开状态,就像将文件复制粘贴到Python控制台中一样。似乎VCS没有这个选项,但自从那时以来,我转向了PyCharm,它有这个功能。 - Please be gentle

0

我来参与这个讨论有点晚了,但是我使用的一个解决方法是在文件末尾加上一个 pass 语句,然后在它上面添加一个断点。然后我在调试器中运行它,就可以访问所有的变量等。

这样就可以实现大部分我在 PyCharm Python 终端中使用的功能,例如探索数据结构、检查方法等。只需要记住,如果你想要编写多行语句(例如循环),需要使用 Shift-Enter 进入下一行,否则它会立即尝试评估它。


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