Windows 7下如何禁用或启用perl6-debug-m的ANSI转义序列
解决Windows 7 cmd中Perl 6调试器显示ANSI转义序列的问题
作为有20多年Perl开发经验的同行,碰到Windows 7 cmd下Perl 6调试器直接输出ANSI颜色转义序列的问题确实挺头疼的。针对你使用的Rakudo Star 2018.04.1版本,这里有两种可行的解决思路:
方法一:让ANSI转义序列在cmd中正常生效
Windows 7的默认cmd.exe本身并不支持ANSI颜色转义序列,所以需要借助第三方工具来开启支持:
- 下载并安装ANSICON:这是一款专门为Windows cmd添加ANSI序列支持的工具。下载对应你系统位数(32/64位)的版本,将其路径添加到系统环境变量
PATH中,重启cmd后再运行perl6-debug-m,颜色就能正常显示了。
方法二:直接禁用调试器的颜色输出
如果不需要颜色高亮,只想得到干净的纯文本输出,可以通过环境变量关闭颜色功能:
- 临时生效:在当前cmd窗口中执行以下命令,之后运行调试器就不会输出ANSI代码了:
set PERL6_DEBUG_COLOR=0 - 永久生效:右键「计算机」→「属性」→「高级系统设置」→「环境变量」,在用户变量或系统变量中新建
PERL6_DEBUG_COLOR,值设为0。之后所有新打开的cmd窗口都会自动应用这个设置。
需要注意的是,在Rakudo Star 2018.04.1版本中,perl6-debug-m没有提供直接禁用颜色的命令行参数,所以设置环境变量是最可靠的方式。测试下来,设置后那些类似←[35m的转义序列就会消失,输出恢复正常的纯文本格式。
内容的提问来源于stack exchange,提问作者Dan Hale
相关产品推荐
相关产品推荐

