必须安装 Language CoffeeScript 插件,设缩进为2个空格,配置构建系统指定 coffee 命令绝对路径,并手动设置语法为 CoffeeScript。

Sublime Text 默认完全不识别 .coffee 文件,装错插件、缩进设错、路径没填对,三者任一出问题,你看到的就只是黑底白字的纯文本——不是高亮失效,是根本没被当作 CoffeeScript 解析。
必须装 Language CoffeeScript,不是 CoffeeScript 插件
很多人搜“CoffeeScript 插件”随手点了第一个,结果装的是早已废弃的 CoffeeScript 或 SublimeCoffeeScript。这两个包用的是旧版 .tmLanguage 语法定义,在 Sublime Text 3/4 上直接失效,右下角永远显示 Plain Text,关键词全黑,缩进无分层。
- 正确做法:按
Ctrl+Shift+P→ 输入Install Package→ 等列表加载完 → 搜索并安装Language CoffeeScript(作者 jashkenas,官方维护) - 装完后,打开任意
.coffee文件,右下角状态栏必须显示CoffeeScript;若仍是Plain Text,说明插件没生效 - 检查
Packages/User/下是否残留旧插件目录(如CoffeeScript/),有就直接删掉 - 别手动丢
CoffeeScript.tmLanguage文件进 Packages —— Sublime Text 3/4 已弃用该格式,会和Language CoffeeScript冲突
右下角显示 CoffeeScript ≠ 缩进和高亮真正常
CoffeeScript 对空白符极度敏感,Sublime 一旦混用 Tab 和空格,或缩进宽度≠2,语法解析器就会放弃渲染:关键词变黑、缩进颜色消失、甚至右下角自动跳回 Plain Text。
前端设计与 UI/UX 全方位优化专家。覆盖视觉层次、排版系统、色彩理论、响应式布局、交互体验、动画动效、无障碍访问、性能优化八大维度,帮助开发者将普通页面升级为高品质产品级界面。前端设计与 UI/UX 全方位优化专家。覆盖视觉层次、排版系统、色彩理论、响应式布局、交互体验、动画动效、无障碍访问、性能优化八大维度,帮助开发者将普通页面升级为高品质产品级界面。
- 菜单 →
View → Indentation → Convert Indentation to Spaces - 再点
Indentation → Tab Width: 2 - 在
Preferences → Settings(用户设置)中加一行:"detect_indentation": false,防止编辑器自作主张重设缩进 - 改完设置后,已打开的
.coffee文件需关闭再重开,或按Ctrl+Shift+P→ 输入Reload Syntax回车
构建系统里 coffee 命令找不到,和终端能跑无关
你在终端敲 coffee --version 成功,不代表 Sublime 能调到它。Sublime 构建系统启动时读取的是它自己的环境变量,不继承 shell 的 PATH。
立即学习“前端免费学习笔记(深入)”;
- 先查真实路径:
Windows:CMD 里运行where coffee,结果类似C:UsersxxxAppDataRoaming pmcoffee.cmd
macOS/Linux:终端运行which coffee,结果类似/usr/local/bin/coffee - 在 Sublime 控制台(
Ctrl+`)运行import os; print(os.environ.get('PATH')),确认输出里包含上述路径 - 新建构建系统(
Tools → Build System → New Build System…),内容如下:
Windows:{ "cmd": ["coffee.cmd", "-c", "$file"], "selector": "source.coffee", "path": "C:\Users\xxx\AppData\Roaming\npm" }macOS/Linux:{ "cmd": ["coffee", "-c", "$file"], "selector": "source.coffee", "path": "/usr/local/bin:/opt/homebrew/bin" } - 注意:
cmd字段 Windows 必须写coffee.cmd,不能只写coffee;path必须是绝对路径,且不含引号
最易忽略的一点:即使所有配置都对,新建一个 .coffee 文件时,Sublime 仍默认用 Plain Text 语法——你得手动点右下角切换一次,或按 Ctrl+Shift+P → Set Syntax: CoffeeScript。这不是 Bug,是 Sublime 的默认行为,没人帮你记上一次用的是什么语法。

















