Answers:
ST3的Makefile构建系统的最新版本(如 Make.sublime-build文件中所述)已经包含产生彩色输出的语法定义。
如果您对此不满意,可以使用以下方法作为替代方法,即如果您的构建系统可以在终端中生成ANSI颜色,并且希望将其显示在Sublime Text 3的构建输出面板中,则可以使用该方法作为通常的替代方法。
这是我在RSpec的Sublime Text 3安装中做到的方式,但是我认为它在任何情况下都适用于在常规控制台/ TTY中产生颜色的工具:
1.强制您的构建系统输出颜色,即使它没有输出到TTY。
这取决于构建系统。例如,对于Ruby和RSpec,您可以.rspec
在项目中创建具有以下内容的文件:
--color --tty
在您的情况下,您已经有一个生成系统,该系统生成具有ANSI颜色转义序列的输出。
2.安装ANSIescape(SublimeANSI)软件包
建议通过Package Control安装它。有关安装和配置说明,请参阅软件包的回购。
3.在Sublime Text中创建一个新的构建系统定义,并将其配置为识别ANSI颜色
例如,这是我的Colorized RSpec.sublime-build
构建系统的内容:
{
"cmd": ["rspec", "-I ${file_path}", "$file"],
"file_regex": "# ([A-Za-z:0-9_./ ]+rb):([0-9]+)",
"working_dir": "${project_path:${folder:${file_path}}}",
"selector": "source.ruby.rspec",
// Recognize ANSI colors in the output
"target": "ansi_color_build",
"syntax": "Packages/ANSIescape/ANSI.tmLanguage"
}
最后两个配置选项来自SublimeANSI的自述文件。您可以将其应用于Make的构建系统。您可以基于Make.sublime-build
Sublime Text 3软件包中文件的当前版本。
4.使用新创建的构建系统构建文件/项目。
使用“使用...构建”菜单选择新的构建系统。在OS X上是Cmd + Shift + B
。随后的构建Cmd + B
将使用最后选择的构建系统。
外观如下:
当前无法使ST3控制台解析我发现的颜色。这将需要与作者讨论。我之前注意到控制台始终具有单色输出。ST3当前仅使用已应用于其主题的颜色。
摆脱转义序列的唯一方法是在输出达到Sublime之前将其过滤掉。