必须安装Tailwind CSS IntelliSense(作者bradlc),配置tailwind.config.js在项目根目录、用module.exports导出、content显式含扩展名,并禁用Emmet干扰,三者缺一不可。

Sublime Text 本身不解析 tailwind.config.js,也不运行任何构建流程,所谓“智能补全”完全依赖插件桥接——装错插件、配错路径、或忽略语法作用域,class=" 后光标就卡住,什么都不会出来。
必须装 Tailwind CSS IntelliSense(作者 bradlc)
别碰 sublime-tailwindcss(已归档)或 Tailwind CSS Autocomplete(遇到 v4 的 config({}) 函数式写法直接崩溃,连 theme.extend 都读不出来)。只有 Tailwind CSS IntelliSense 支持 dark:/hover: 变体、自定义间距、屏幕断点别名,且能正确加载 module.exports 导出的配置。
安装方式:Ctrl+Shift+P → 输入 Package Control: Install Package → 搜索并安装 Tailwind CSS IntelliSense。安装后无需重启,但插件启动前提是项目根目录存在 tailwind.config.js。
注意:tailwind.config.cjs 或 tailwind.config.ts 不被识别;插件只认 .js 后缀,且导出必须是 module.exports = { ... } ——若用 export default,需在 package.json 中加 "type": "module",否则静默失败。
立即学习“前端免费学习笔记(深入)”;
tailwind.config.js 必须放对位置、写对内容
Sublime 插件不会向上查找父目录,它只读你用 subl . 打开的那一层目录下的 tailwind.config.js。放错位置等于没配。
content 字段必须显式列出扩展名,例如:
["./src/**/*.{html,js,jsx,ts,tsx}"]
写成 ["./src/**/*"] 或含 ../ 的路径,插件无法匹配任何文件,类名索引为空,补全静默失效。模板若在 pages/ 或 app/ 下,也得明确写进 content 数组。
避免在配置里写 require('fs') 或同步读取逻辑(如 fs.readFileSync),插件加载失败时无报错提示,只会退化为默认类名集。
JSX/TSX 文件里 className 没提示?要配语法作用域
插件默认只在 .html 文件中激活补全。你在 .jsx 或 .tsx 里写 className,不额外配 additional_syntaxes,就完全不触发。
在 Sublime 用户设置(Preferences → Package Settings → Tailwind CSS IntelliSense → Settings)中添加:
{
"class_attribute_regex": "(class|className|class:list)=\"([^\"]*)\"",
"additional_syntaxes": [
"Packages/React JSX/React JSX.sublime-syntax",
"Packages/TypeScript-TSX/TypeScriptReact.sublime-syntax"
]
}
确保右下角显示的是 React JSX 或 TypeScriptReact,不是 Plain Text 或 JavaScript —— 否则 LSP 客户端甚至不会启动。
Emmet 冲突必须关掉
Emmet 默认会劫持 class=" 输入,导致光标停住、补全框不弹。这不是插件问题,是干扰项。
关掉 Emmet 的 class 补全:打开 Preferences → Package Settings → Emmet → Settings,把 "attributes": ["class", "id"] 改成 "attributes": ["id"],或者直接禁用 Emmet 的 HTML 补全规则。
另外,确认没有启用其他类名补全插件(如 AutoFileName),它们和 Tailwind CSS IntelliSense 会互相覆盖,结果是补全项为空或乱序。
最易被忽略的点:插件不报错,失效时完全静默;你看到光标停住、没提示,大概率是 content 路径漏了扩展名,或 JSX 文件没被识别为正确语法,而不是插件没装好。


















