背景
最近用phpstorm使用codex辅助开发,发现有时候codex改完后的代码中,有的中文变为了乱码。其根本原因是 Windows 自带的 PowerShell 版本太老(5.1)
打开PowerShell,输入以下命令:
$PSVersionTable.PSVersion
如果输出类似:
说明你用的是 Windows PowerShell 5.1(系统自带)。
PowerShell 5.1 无法升级到 7
PowerShell 7(pwsh)只能 单独安装,与 5.1 并存
安装 PowerShell 7(pwsh)
使用 winget安装(推荐)
在 PowerShell 5.1 中执行:
winget install --id Microsoft.PowerShell -e
安装完成后,关闭所有终端窗口并重新打开。
验证是否安装成功
pwsh -v
如果输出类似:
PowerShell 7.x.x
说明 PowerShell 7 已安装成功。
Windows Terminal 设置默认使用 PowerShell 7
打开 Windows Terminal,点击设置:
将默认配置文件从Windows PowerShell改为PowerShell
保存并重启 Windows Terminal
验证
$PSVersionTable.PSVersion

如果看到 7.x,说明切换成功。
PhpStorm中设置默认终端为 PowerShell 7
点击左下角终端的按钮,点击设置,如下图:
在shell路径中选择C:\Program Files\PowerShell\7\pwsh.exe
点击确定保存,然后重启PhpStorm即可。
安装ripgrep
Ripgrep(简称 rg)是一个基于 Rust 开发的高性能命令行搜索工具,专为快速递归搜索文件内容而设计,支持正则表达式和智能文件过滤。调用codex时,有时候会用到这个工具,可以安装上方便codex调用。
在 PowerShell中执行:
winget install BurntSushi.ripgrep.MSVC
安装完成后验证:
rg --version
参考
https://blog.csdn.net/Pridelzh/article/details/157439619