如何在VS Code中为不同项目/工作区单独保留PowerShell命令历史
VS Code 按工作区单独保存PowerShell命令历史配置方法
完全可以实现,以下是两种可直接使用的配置方案:
方案1:全局PowerShell配置(自动适配所有VS Code工作区)
不需要每个项目单独改设置,配置一次就可以对所有VS Code打开的工作区生效:
- 打开任意PowerShell窗口,执行命令查看你的用户配置文件路径:
echo $PROFILE - 如果路径对应的文件不存在,执行以下命令创建:
New-Item -Path $PROFILE -ItemType File -Force - 打开该配置文件,把以下代码粘贴进去保存:
# 检测当前是否运行在VS Code终端中且存在工作区目录 if ($env:VSCODE_WORKSPACE_FOLDER) { $historyDir = Join-Path $env:VSCODE_WORKSPACE_FOLDER ".vscode\powershell_history" # 历史目录不存在则创建 if (-not (Test-Path $historyDir)) { New-Item -Path $historyDir -ItemType Directory -Force | Out-Null } # 设置当前会话的PSReadLine历史保存路径 $HistorySavePath = Join-Path $historyDir "ConsoleHost_history.txt" }
- 重启VS Code的所有终端会话就可以生效,之后每个工作区的命令历史都会保存在各自
.vscode/powershell_history目录下。
方案2:单工作区手动配置
只需要给指定项目启用单独历史的话,用这个方案更灵活:
- 打开对应项目的工作区设置文件(
.vscode/settings.json,不存在就手动创建) - 粘贴以下配置:
{ "terminal.integrated.env.windows": { "PSREADLINE_HISTORY_SAVE_PATH": "${workspaceFolder}\\.vscode\\powershell_history\\ConsoleHost_history.txt" } }
- 手动创建对应目录,或者第一次启动终端的时候自动生成即可。
注意事项
- 如果不想把历史记录提交到Git仓库,在项目的
.gitignore文件中添加一行:**/.vscode/powershell_history* - 该配置依赖PowerShell自带的PSReadLine模块,默认PowerShell 5.1及以上版本都已预装,不需要额外安装。
内容的提问来源于stack exchange,提问作者kob490
相关产品推荐
相关产品推荐

