Windows系统下Scala REPL输出ANSI颜色码未正常渲染问题
Scala 3.1 REPL在Win7 64位下ANSI颜色码不解析问题解答
核心原因
这是系统终端特性缺失+REPL默认配置共同导致的问题:
- Windows 7 原生的命令提示符(cmd)、低版本PowerShell均不支持ANSI转义序列,该特性直到Windows 10 1511版本才被系统默认内置,所以Win7下终端会把颜色控制码当做普通文本直接打印。
- Scala 3.1的REPL默认开启了彩色输出逻辑,没有针对Win7这类旧系统自动关闭颜色输出,直接输出了带ANSI控制码的内容。
修复方案
- 临时关闭REPL彩色输出:启动REPL时添加参数
scala -color never,即可完全避免ANSI控制码输出,内容正常展示。 - 更换兼容终端:Win7下安装Cmder、ConEmu等第三方终端工具,在这类终端内启动Scala REPL即可正常解析颜色控制码,显示彩色效果。
- 如果你习惯用PowerShell,可以将PowerShell升级到5.1以上版本,手动开启VT100转义支持后也可正常显示颜色。
内容的提问来源于stack exchange,提问作者mygitscala
相关产品推荐
相关产品推荐

