必须安装 Language CoffeeScript 插件、手动绑定 .coffee 文件语法、统一使用 2 空格缩进,三者缺一不可;其他插件均失效,ST3/ST4 不支持旧版 .tmLanguage 格式。

装错插件就全废:必须选 Language CoffeeScript
Sublime Text 里 CoffeeScript 高亮、编译、语法检查全挂,90% 是因为装了名字像但实际失效的插件。Package Control 搜索 “CoffeeScript”,排第一的 CoffeeScript 或 SublimeCoffeeScript 都是废弃包,用的是已淘汰的 .tmLanguage 格式,ST3/ST4 根本不加载——右下角永远显示 Plain Text,关键词全黑,缩进无分层。
唯一有效的插件是 Language CoffeeScript(作者 jashkenas,带 Language- 前缀)。安装路径:Ctrl+Shift+P → 输入 Install Package → 等列表加载完 → 搜 Language CoffeeScript → 回车安装。
- 装完后打开任意
.coffee文件,右下角状态栏**必须显示CoffeeScript**;若仍是Plain Text,说明没生效 - 检查
Packages/User/目录下是否有残留的CoffeeScript/或SublimeCoffeeScript/文件夹,有就直接删掉 - 别手动丢
CoffeeScript.tmLanguage进Packages—— ST4 已弃用该格式,反而会和Language CoffeeScript冲突
.coffee 文件还是 Plain Text?手动绑定是硬性步骤
Sublime 不靠后缀自动识别 .coffee 文件,尤其新建空文件或没写 shebang 的文件,几乎 100% 被判为 Plain Text。这不是 bug,是它的设计逻辑:需要内容特征辅助判断(比如首行是否含 #!/usr/bin/env coffee)。
解决方法只有一条路:手动绑定。
- 打开一个
.coffee文件,点击右下角状态栏(当前显示Plain Text)→ 选CoffeeScript - 再点菜单
View → Syntax → Open all with current extension as…→ 确认弹窗中.coffee已关联到CoffeeScript语法 - 新建文件后,右下角**不会继承上一个标签页的语法**,必须再点一次状态栏手动设
- 已有文件改完后需关闭重开,或
Ctrl+Shift+P→ 输入Reload Syntax回车 - 进
Preferences → Settings – Syntax Specific,确认里面没有"syntax"或"extensions"字段强行覆盖
构建系统报 “Unable to find command 'coffee'”?路径必须硬编码
你在终端跑 coffee --version 成功,不代表 Sublime 能调到它。Sublime 构建系统不继承终端 PATH,环境隔离导致静默失败。
Windows 和 macOS/Linux 的写法差异大,错一个字符就无效:
- Windows 用户必须用
"cmd": ["coffee.cmd", "-c", "$file"],不能写coffee—— npm 全局安装后生成的是.cmd文件 - Windows 的
path字段填绝对路径,例如"path": "C:\Users\XXX\AppData\Roaming\npm"(注意双反斜杠) - macOS/Linux 用
"cmd": ["coffee", "-c", "$file"],path填多个 bin 目录用冒号分隔:"path": "/usr/local/bin:/opt/homebrew/bin" - 加
"file_regex": "^([^:]+):([0-9]+):([0-9]+):(.*)$",能让编译错误跳转到对应行 - 构建系统 JSON 中必须有
"selector": "source.coffee",否则不触发
保存后没自动编译?两个开关缺一不可
Sublime 默认不自动编译,“保存即编译”是人工配置的结果,不是开箱即用功能。
- 当前文件语法必须是
CoffeeScript(右下角状态栏显示,不是Plain Text) - 菜单
Tools → Build System必须手动选中你刚建的CoffeeScript构建系统(不能选Automatic) - 启用保存触发有两种方式:
SublimeOnSaveBuild插件,或在构建系统 JSON 中加"target": "save_build"(仅部分版本支持) - 注意:
-cw(watch)参数无法长期驻留在 Sublime 构建系统里,真要监听推荐另开终端跑coffee -cw src/
缩进不是 2 空格、Tab 和空格混用、或者 detect_indentation 没关掉,都会让语法解析器直接放弃渲染——高亮消失、右下角跳回 Plain Text,连编译都触发不了。这三件事(插件、绑定、缩进)必须同时做对,少一个都不行。


















