VS Code终端PowerShell命令行输入多字符出现异常洋红色高亮问题
故障原因
该问题是PowerShell 内置 PSReadLine 模块的语法高亮/自动预测配色与 Windows Server 2019 系统默认终端配色、VSCode 集成终端配色冲突导致。仅输入单个字符时不会触发模块的高亮匹配规则,输入多字符后命中规则就会触发洋红色异常填充,出现字符与背景同色无法辨认的问题。
修复步骤
- 首先验证问题根源:在异常的 PowerShell 终端执行命令
Remove-Module PSReadLine,输入多字符测试,如果高亮消失即可确认是该模块导致的问题。 - 临时关闭自动预测功能测试:执行命令
Set-PSReadLineOption -PredictionSource None,查看高亮是否消失,若恢复正常可将该命令写入 PowerShell Profile 中永久生效。 - 自定义 PSReadLine 配色覆盖冲突项:执行以下命令直接修改冲突的高亮配色:
Set-PSReadLineOption -Colors @{ PredictionText = 'DarkGray' Command = 'White' Parameter = 'Gray' String = 'Yellow' Error = 'Red' } - 修改 VSCode 集成终端的 ANSI 配色:打开 VSCode
settings.json配置文件,添加以下配置覆盖默认洋红色值:{ "workbench.colorCustomizations": { "terminal.ansiMagenta": "#c586c0", "terminal.ansiBrightMagenta": "#ff79c6" } } - 检查 Windows Server 2019 系统显示设置:确认是否开启了高对比度模式,若开启请关闭后重启 VSCode 测试。
- 若上述方案均无效,可降级 PSReadLine 到兼容版本:执行命令
Install-Module PSReadLine -RequiredVersion 2.1.0 -Force,重启终端后生效。
内容的提问来源于stack exchange,提问作者bgraves
相关产品推荐
相关产品推荐

