Access denied, Please sign in and make sure you have proper permission.
使用前 |
使用后 |
 |
 |
先放解决方案
- 禁用自带 Rails 插件:
- 使用 Package Control 的 Disable Package 命令:按 Command(Ctrl) + Shift + P 打开命令窗,输入 Disable Package,回车,输入 Rails,回车
- 如果你安装过单独的 Haml 插件,卸载掉
- 把下面链接中的两个文件,解压缩放到 Sublime 的 User Package 目录
- 方法是在 Mac 上点左上角 Sublime Text 菜单、Preferences、Browse Packages...
- 把两个压缩包放在这个目录,然后解压
百度网盘下载 Sublime Haml Fix
背景
- Sublime 天生就支持 Haml,但是它不是那么完善
- 一些人不满意这个自带 Haml,自己去下载一个叫 Haml 的插件。发现有一些改进,但是还是不完善,而且 Set Syntax 命令后面还会出现两个 Ruby Haml
- 如果你使用了这个 Haml 插件,会发现
:coffeescript
是可以高亮的,但是:coffee
不行
- 有的时候会发现,如果
:coffeescript
不顶格写,就没法高亮
经研究,真相如下:
- Sublime 自带一个 Rails 插件,里面有一份 Ruby Haml 语法定义。因此如果安装了单独的 Haml 插件,Set Syntax 命令会有两个 Ruby Haml(Command(Ctrl) + Shift + P 输入 Set Syntax: Ruby Haml 有两项)
- 独立 Haml 插件的 Haml,要比自带 Rails 内的 Haml 完善,但是仍然不是 100% 准确。它实际上直接使用了非官方版的 TextMate 插件。
解决思路:
- 删掉自带 Rails 插件里面的 Haml 语法定义,以外部的 Haml 插件为准
- 修正外部 Haml 插件中的错误
- 好在 Sublime 继承了 TextMate 的传统,支持他的语法定义插件,更好的是 Atom 也支持他两个的插件,而且 Atom 中的 Haml 看上去没什么问题
- 只是 Atom 里的 Haml 语法定义是用 CSON 写的,但是它跟 Haml 插件中的 Plist 版的完全一样。照着 Atom 中的定义,可以去修正 Haml 插件。
#2 楼 @Xenofex 最早也喜欢折腾 vim,各种插件,用着也的确顺手,在 terminal 下编辑,随时 ctrl+z 就能切换到终端,但买了 Sublime 后觉得不用太浪费,意外的觉得比 vim 顺手多了,再后来买了 RubyMine,写 Rails 就比较少用 Sublime 了。
如果平时做一些小改动,我一般会开 Sublime,如果要做重构什么的比较多,果断 RubyMine,功能太强大了,跑测试也方便至极。
#4 楼 @flemon1986 Vim 党万年问题:Coffeescript 的优质高亮。我看了一下 coffeescript.vim,暂时没太明白
我不玩 coffeescript。。。继续飘。。。
#6 楼 @flemon1986 目前来说在 rails 里面,仍然是 coffeescript 比较顺畅,配置容易,同时兼容内嵌和外联,跟 sprockets 集成的好。Coffeescript 解决了低版本 JavaScript 的一些棱角,虽然不如 ES6 先进,但是在 Rails 工具链上胜出。
哦。。。现在在玩 opal。。。对 javascript 不是很感冒的说。。。不过谢谢知识分享,学习了