在VSCode中使用Python:如何运行之前的命令?

3
我对软件开发有点陌生。除了 VSCode,我可以打开终端(比如 PowerShell),在其中运行 python,输入命令(比如 2+2),然后能够点击上箭头键找到我的先前命令,以便再次运行。
如果我在 VSCode 中运行 PowerShell 并执行同样的操作,在我点击上箭头时没有任何反应,我期望它应该循环出我之前的命令。
这是我的 Python 还是 VSCode 出现问题?我一直在寻找解决方法,但并没有找到许多有用的主题。

欢迎来到 Stack Overflow,我认为这不是预期的行为,请尝试使用另一个 shell(例如默认的 shell),并告诉我们更多关于您的系统的信息。如果您认为这是 VSCode 的问题,您可以在 GitHub 存储库上提出问题。 - Benoît P
谢谢Benoit! 采纳了你的建议,它确实有点用。所以在我的原始帖子中,我实际上是从VSCode的Git Bash中运行PowerShell(我的默认shell是Git Bash,所以我命令Bash -> PowerShell -> Python)。在这个Python实例中,我无法循环到我的上一个命令。 然后我将默认shell设置为PowerShell并从那里运行python。它可以循环到上一个命令! 问题出在哪里?似乎问题出在bash上,因为bash -> python也不记得最后一个命令。 - Sirius Sam
嗨,Sam。在你发布这个问题的几分钟前,我已经回答了一个问题,提到了在bash上使用向上箭头自动完成是一个已知的问题,特别是在Windows上。这就是我认为可能会出现的情况。当你使用VSCode时,只需使用PowerShell即可,这样就不会有问题了。 - user10597469
2个回答

2
这本来只是一条评论,但内容太长了。很抱歉它比较不具有信息性。这是一个有些奇怪的问题,因为VSCode并不是一个真正的IDE。它没有自己的shell,而是劫持你的powershell或bash终端(取决于你使用哪个操作系统)。你应该能够像在powershell中那样使用上下箭头。我已经在自己的VSCode安装上进行过测试,对我来说工作得很好。如果有问题,那与python无关,因为无论你用它做什么语言,VSCode都会以同样的方式与终端交互,所以问题可能出在VSCode或终端上。我听说过其他人在bash中使用上箭头自动补全时遇到问题,所以如果你连接到一个bash终端,可能是这个原因,但我从未听说过powershell出现故障。我的建议是检查你正在使用哪个终端,看看当你更改终端时问题是否仍然存在,并尝试重新安装VSCode。除此之外,我不知道该告诉你什么。

问题似乎出在bash上(正如我在之前的评论和你的回复中所说)。虽然我希望我的默认shell是bash(用于git相关操作),但似乎我只能使用PS。感谢你详细的回答,Jeremiah! - Sirius Sam
如果一切都失败了,你可以只使用VSCode作为编辑器,并从bash本地运行代码。我有时候也会这样做,因为当涉及到虚拟环境时,VSCode可能会出现问题,如果我在其中工作,我发现使用本机终端会更少头痛。此外,我只听说在Windows中bash能够这样做,所以如果您有一个Linux或Mac机器,您可以在其中使用bash顺畅地工作。我认为最简单的方式是使用PowerShell进行基本操作(如提供和运行代码),并使用本机bash终端执行需要使用bash的操作。 - user10597469
更新:所以我决定在~/.bashrc中添加:alias python='winpty python.exe',以便永久别名并尝试使用独立的bash终端进行测试。我打开了VSCode,哇!从bash(作为默认shell)运行python似乎记住了先前的命令!不知道为什么它起作用了,但我想这应该足够了。 :) 再次感谢Jeremiah提供的信息。 - Sirius Sam
不错。我刚刚收藏了这个问题。我在Windows电脑上遇到了一些构建问题,我认为如果我使用bash,这些问题就会消失,所以我想试一试。 - user10597469

0

我找到了一个解决方法。对我来说,无论是git bash还是PowerShell都不能在python shell中使用上/下箭头进行历史记录切换。所以接下来就是解决方案。

Ctr-Shift-P打开VSCode命令

Python: Create Terminal并不会实际启动python,但它确实会以一种启动powershell的模式,这将使我们成功

py使用工作正常的上/下箭头启动python shell!


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