我正在使用带有标准 Python 扩展的 Visual Studio Code。
我的问题是,当我运行代码时,Python 解释器立即关闭,我只能看到输出。这意味着如果我创建一些数据结构,我必须每次都创建它。
运行代码后是否可以让控制台保持打开状态,并且可能在同一个 Python 解释器实例中运行多个文件?
我曾经使用spyder,它完全可以做你想做的事(可能像PyCharm)...... 然后我简单地尝试了 VS Code,也很容易让它表现得像这样。
首先确保您打开了集成终端(或执行 Ctrl+`,或查看 > 集成终端),然后在该终端中启动
ipython
。
现在,当您使用 Don Jayamanne 的 Python 扩展中的命令时(Ctrl+Shift+P
打开命令面板):
它将直接在 ipython 控制台内运行该行。因此运行整个文件将在 ipython 中调用
python module.py
,因此失败。
因此,为了完成这项工作,只需创建设置来映射“在终端中运行 select/line”时执行哪个命令:
WORKSPACE SETTINGS
:(请记住,这只是一个简单/愚蠢的解决方法)
{
"python.pythonPath": "run"
}
现在运行整个文件时,它将在我们启动的 ipython 终端中使用 ipython 函数
run
,从而保留所有工作区变量。
另外,如果您使用“在终端中运行 Select/Line”运行某行代码,则该终端的 ipython 会话将保留所有变量。
这允许实时调试,而无需实际进入调试模式。
当你运行一个程序时,它会一直运行直到结束。然后它就关闭了。如果你想让它活得更久,你可以制作一个程序,在被告知之前不会停止,例如
while True:
something = raw_input('Write something: ')
print('You wrote: %s' % something)
if something == 'bye':
print 'bye.'
break
这将运行直到用户写“再见”。
我对这次对话已经很晚了,但我使用的解决方法是在文件末尾放置一个 pass 语句,然后向其添加一个断点。然后我在调试器中运行它并可以访问所有变量等。
这允许我在 PyCharm python 终端中使用的大部分功能,例如探索数据结构、检查方法等。请记住,如果您想创建多行语句(例如 for 循环) ),您需要使用 Shift-Enter 转到下一行,否则它会立即尝试对其进行评估。