必须安装language coffeescript插件、手动绑定.coffee语法为coffeescript、缩进严格设为2空格,三者缺一不可;否则文件被识别为plain text,高亮、编译等功能全部失效。

装对插件、绑对语法、设对缩进,三者缺一不可;否则 .coffee 文件永远是 Plain Text,编译器根本不会启动。
为什么右下角总显示 Plain Text?只装插件远远不够
CoffeeScript 高亮和编译的前提是 Sublime 真正把文件识别为 CoffeeScript 语法。但默认不认 .coffee 后缀——这不是 bug,是设计行为。
- 必须安装
Language CoffeeScript(作者jashkenas),不是CoffeeScript或SublimeCoffeeScript:后两者用已弃用的.tmLanguage格式,在 ST3/ST4 上完全不加载 - 装完后打开任意
.coffee文件,右下角状态栏**必须手动点击 → 选CoffeeScript**;若仍是Plain Text,说明插件没生效或被旧插件干扰 - 检查
Packages/User/目录下是否有残留的CoffeeScript/或SublimeCoffeeScript/文件夹,有就直接删掉 - 再执行
View → Syntax → Open all with current extension as…,确认.coffee已绑定到CoffeeScript语法 - 新建空
.coffee文件后,右下角**不会继承上一个标签页的语法**,务必再点一次状态栏手动设置
缩进错一个空格,高亮全丢、语法自动降级
CoffeeScript 解析器对空白符零容忍。一旦检测到 Tab 和空格混用、或缩进宽度 ≠ 2,它会直接放弃解析:关键词变黑、括号不匹配、右下角跳回 Plain Text。
- 菜单 →
View → Indentation → Convert Indentation to Spaces - 再点
Indentation → Tab Width: 2 - 在
Preferences → Settings – User中加一行:"detect_indentation": false,禁用自动探测(否则编辑器可能悄悄改回 4 空格或 Tab) - 改完后已打开的文件需关闭重开,或按
Ctrl+Shift+P→ 输入Reload Syntax回车
构建系统报 “Unable to find command 'coffee'” 怎么办?
Sublime 构建系统不继承终端 PATH。你在命令行能跑 coffee --version,不代表 Sublime 能调到它。
- Windows:CMD 运行
where coffee,典型路径是C:\Users\XXX\AppData\Roaming\npm\coffee.cmd;cmd字段必须写["coffee.cmd", "-c", "$file"],不能省略.cmd - macOS/Linux:终端运行
which coffee,常见路径如/usr/local/bin/coffee或/opt/homebrew/bin/coffee;path字段填冒号分隔的 bin 路径:"path": "/usr/local/bin:/opt/homebrew/bin" - 构建系统 JSON 中必须含
"selector": "source.coffee",且当前文件语法必须是CoffeeScript(右下角显示),否则Ctrl+B不触发 - 加
"file_regex": "^([^:]+):([0-9]+):([0-9]+):(.*)$",能让错误信息点击后跳转到对应行
保存后不自动编译?这不是默认功能
Sublime 默认只支持单次构建,没有“保存即编译”逻辑。所谓自动,全靠人工配置开关。
-
Tools → Build System必须手动选中你刚建的CoffeeScript构建系统(不能选Automatic) - 当前文件语法必须是
CoffeeScript(右下角显示),且缩进为 2 空格,否则构建直接跳过 - 启用保存触发:安装插件
SublimeOnSaveBuild,或在构建系统 JSON 中加"target": "save_build"(仅部分 Sublime 版本支持) - 注意:
-cw(watch)参数无法在 Sublime 构建系统中长期驻留;真要监听文件变化,建议另开终端运行coffee -cw src/
最容易被忽略的是:语法绑定、缩进设置、构建系统三者必须同时满足,缺一不可。任何一步出错,.coffee 文件就只是文本,不是代码。











