VS Code 1.90中PowerShell转义ANSI转义码问题求助
VS Code 1.90中PowerShell ANSI转义码显示异常的解决办法
在VS Code 1.90版本中,PowerShell终端会将
\x1b[0m这类ANSI转义码以明文形式显示,示例内容如下:\x1b[0m \x1b7\x1b[1000C\x1b[32D\x1b[38\x3b2\x3b0\x3b119\x3b194m\x1b[0m\x1b[48\x3b2\x3b0\x3b119\x3b194m\x1b[38\x3b2\x3b255\x3b255\x3b255m pwsh \x1b[0m\x1b[38\x3b2\x3b0\x3b119\x3b194\x3b49m\x1b[7m\x1b[0m\x1b[38\x3b2\x3b76\x3b175\x3b80m\x1b[0m\x1b[48\x3b2\x3b76\x3b175\x3b80m\x1b[38\x3b2\x3b255\x3b255\x3b255m 100 \x1b[0m\x1b[38\x3b2\x3b76\x3b175\x3b80\x3b49m\x1b[7m\x1b[0m\x1b[38\x3b2\x3b46\x3b149\x3b153m\x1b[0m\x1b[48\x3b2\x3b46\x3b149\x3b153m\x1b[38\x3b2\x3b17\x3b17\x3b17m 08:55:45 \x1b[0m\x1b[38\x3b2\x3b46\x3b149\x3b153m\x1b[0m\x1b8已尝试在VS Code中设置
"terminal.integrated.shellIntegration.enabled": false,同时在oh-my-posh配置文件中启用"shell_integration": true,但该方案无效。
以下是可行的排查和解决步骤:
调整VS Code终端基础配置
添加或修改settings.json中的以下项,确保ANSI转义码正常解析:"terminal.integrated.gpuAcceleration": "off", "terminal.integrated.enablePersistentSessions": falseGPU加速可能干扰终端渲染,关闭后可避免转义码解析异常;持久会话也可能导致状态冲突。
验证oh-my-posh主题兼容性
临时切换到默认主题,确认是否为自定义主题的问题:oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\default.omp.json" | Invoke-Expression如果默认主题显示正常,说明自定义主题中存在不兼容的ANSI序列,需检查主题文件里的颜色、分隔符配置,替换为标准格式。
更新依赖版本
确保PowerShell和oh-my-posh为最新版本,旧版本可能与VS Code 1.90存在兼容性问题:winget install Microsoft.PowerShell winget install JanDeDobbeleer.OhMyPosh -s winget重置VS Code终端配置
备份当前settings.json后,清空所有终端相关配置,只保留必要项,逐步排查冲突设置。
内容的提问来源于stack exchange,提问作者Andriy Petrushchak
相关产品推荐
相关产品推荐

