VSCode中Python终端及Anaconda Python控制台如何调用历史命令?
在VSCode的Anaconda Python控制台中使用历史命令的解决方案
嘿,我来帮你搞定这两个VSCode终端的小问题:
1. VSCode的Python终端切换至上一条命令的通用方法
- 如果是在PowerShell终端的命令行层面(就是你看到
PS C:\Users\Fred\...提示符的时候),直接按上箭头键就能快速调出上一条输入过的命令,多次按可以往前翻更多历史记录。 - 如果是进入了Python交互式控制台(输入
python后出现>>>提示符),默认Windows环境下可能没启用历史回溯功能,这时候可以用下面的方法解决。
2. 让Anaconda Python控制台支持上下箭头调用历史命令
你遇到的核心问题是原生Python控制台默认不支持历史命令回溯,而Anaconda其实自带了更便捷的工具,或者我们可以给原生控制台加配置,两种方案任你选:
方案一:用IPython替代默认Python控制台(最简单)
Anaconda预装了IPython,它天生支持上下箭头翻历史、代码补全等实用功能,步骤超简单:
- 在VSCode的终端里,不要输入
python,直接输入ipython回车,进入IPython控制台(你会看到In [1]:这样的提示符)。 - 这时候按上箭头就能直接调出之前输入过的命令,体验和PowerShell完全一致,还能享受IPython的其他便利功能。
方案二:给默认Python控制台添加历史支持
如果你习惯用原生Python控制台,可以通过设置启动脚本实现:
- 新建一个文本文件,命名为
python_startup.py,把下面的代码复制进去:
import os import readline import rlcompleter import atexit # 启用Tab补全(额外福利) readline.parse_and_bind('tab: complete') # 设置历史记录文件的保存路径(存在你的用户目录下) histfile = os.path.join(os.path.expanduser('~'), '.python_history') # 读取已有的历史记录 try: readline.read_history_file(histfile) # 设置最多保存1000条历史记录,可按需修改 readline.set_history_length(1000) except FileNotFoundError: pass # 退出Python时自动保存历史记录 atexit.register(readline.write_history_file, histfile)
- 打开Windows的「系统属性」→「高级」→「环境变量」,在「用户变量」里新建一个变量:
- 变量名:
PYTHONSTARTUP - 变量值:刚才创建的
python_startup.py文件的完整路径(比如C:\Users\Fred\python_startup.py)
- 变量名:
- 重启VSCode,之后再输入
python进入控制台,按上箭头就能查看和重复之前的命令啦!
内容的提问来源于stack exchange,提问作者Fred
相关产品推荐
相关产品推荐

