近日,代码写得越来越少,大部分时间都用来查 Bug 了,而查 Bug 的大部分时间里,是在看崩溃报告和用户日志。
有过看 Log 经历的人都知道,Log 到看时方恨少,对着十多兆的日志文件,满屏幕的文本信息,却找不到自己想要的那个关键点的记录,这是极其让人崩溃的。于是,看代码和写代码的时候都会下意识地在关键路径都打上 Log,宁可错打一千,不可放过一条。几次下来, Log 文件越来越大,看 Log 越来越累……如果逼不得已非得要大海捞针,那就让捞针这个过程更方便一些吧,这时候,关键字过滤以及高亮的需求随之而来。
软件界的神器之所以能成为神器,除了其本身功能突出之外,很大部分原因是它支持各种定制,能方便地添加插件或扩展,比如 Vim,Alfred,Chrome,等等。Sublime Text 也毫不例外地支持插件和自定义。本文要说的就是如何为 Log 文本文件添加自定义的语法高亮。
1. 创建自定义语法高亮文件
1.1 安装 Package Control
Package Control 是 Sublime Text 的插件管理器,其本身也是一个插件,通过 Package Control 能很方便地查找、安装、卸载插件。
1.2 安装 PackageDev 插件
PackageDev 是一款快速创建 Sublime Text 的语法定义、片段等扩展文件的插件。
1.3 创建语法文件
安装 PackageDev 后,通过Tools | Packages | Package Development | New Syntax Definition
菜单,创建一个新的语法文件。
这时候,会自动新建一个空模板:
1 2 3 4 5 6 7 8 9 10 |
|
1.4 定义语法高亮规则
包括设置语法名、后缀名、需要匹配的关键字、使用什么语法高亮关键字,等等。如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
点击保存,在 Packages/User/
目录下创建一个 MyLog
文件夹,文件名改为 MyLog.YAML-tmLanguage
,保存到 MyLog
文件中。
语法的定义可以参考官方文档。
匹配的关键字的 name
的定义,见这里。
1.5 保存为 tmLanguage 文件
上面的 YAML 文件提高了可读性,但为了让 Sublime Text 能识别,还需要转换为 tmLanguage 文件。
编辑完并保存 YAML 后,点击 Tools | Build System | Convert to
,或者按 Ctrl(CMD) + B
把 YAML 文件转为 tmLanguage
,这时应该会自动保存到 Sublime Text 的配置文件夹中 Packages/User/MyLog/MyLog.tmLanguage
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
|
此后,使用 Sublime Text 打开一个后缀名 .mylog
的文件,或者打开 Plain Text
类型的文件然后设置 Syntax
为 MyLog
类型,就可以看到高亮的效果了。如图:
2. 配合其他插件,效果更佳
2.1 Filter Lines
Filter Lines 插件能方便地过滤特定字符串到一个新的 Tab 中,支持全字匹配、正则匹配。相对于全文搜索而已,把匹配结果输出到一个全新的文件中,能更有助于查看关键信息。
2.2 Log Hihhlight
Log Highlight 是专门处理 Log 高亮的插件,原理与自定义语法高亮不同。这个插件也可以自定义语法高亮,同时可定制性与功能也更强大,比如支持跳转、为警告或错误添加书签,等等,有兴趣可以使用一下。
原文作者: lslin
原文链接: http://blog.lessfun.com/blog/2016/10/28/make-a-custom-syntax-highlighting-for-sublime-text/
版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0