Yer*_*aze 20 build make sublime-text-3
如何在 ST3 构建输出窗口中添加颜色?
我正在使用 gccfilter 为我的构建输出着色,但 ST3 只显示原始转义序列。有没有办法让它处理它们?或者删除 gccfilter 并让 ST3 对输出进行着色(例如,仅 grep 警告和错误就可以了)?
Dim*_*tar 16
ST3 的 Makefile 构建系统的最新版本(如Make.sublime-build 文件中所述)已经包含生成彩色输出的语法定义。
如果您对此不满意,如果您有一个在终端中生成 ANSI 颜色的构建系统,并且您希望它们显示在 Sublime Text 3 的构建输出面板中,那么您可以采用以下方法作为替代且通常可行的方法.
这就是我在 RSpec 的 Sublime Text 3 安装中这样做的方式,但我认为它在任何情况下都完全适用于在常规控制台/TTY 中生成颜色的工具:
1. 强制您的构建系统输出颜色,即使它没有输出到 TTY。
这取决于构建系统。例如,对于 Ruby 和 RSpec,您可以.rspec
在项目中创建一个包含以下内容的文件:
--color --tty
Run Code Online (Sandbox Code Playgroud)
在您的情况下,您已经有一个构建系统,该系统生成带有 ANSI 颜色转义序列的输出。
建议通过包控制安装它。有关安装和配置说明,请参阅包的 repo。
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"
}
Run Code Online (Sandbox Code Playgroud)
最后两个配置选项取自SublimeANSI 的自述文件。您可以将其应用于 Make 的构建系统。您可以基于Make.sublime-build
Sublime Text 3 包中文件的当前版本。
4. 使用新创建的构建系统构建您的文件/项目。
使用“Build with...”菜单选择新的构建系统。在 OS X 上,这是Cmd + Shift + B
. 后续构建Cmd + B
将使用最后选择的构建系统。
这是它的外观:
目前没有办法让 ST3 控制台解析我发现的颜色。这需要与作者讨论。我之前注意到控制台总是有单色输出。ST3 当前仅使用随您应用的主题提供的颜色。
摆脱转义序列的唯一方法是在输出到达 Sublime 之前将它们过滤掉。
归档时间: |
|
查看次数: |
9943 次 |
最近记录: |