Tailwind CSS IntelliSense 无提示的主因是 VSCode 未正确读取配置、未识别语言模式或未开启字符串补全;需安装官方 bradlc 插件、确保 tailwind.config.js 在根目录且导出合法、启用 editor.quickSuggestions.strings,并按需配置 classRegex。

装了 tailwindcss-intellisense 却没提示,90% 不是插件问题,而是 VSCode 没读到配置、没识别语言模式,或字符串补全开关关着——这三处卡住,补全就彻底失效。
插件必须装官方 bradlc 版本
VS Code 扩展市场搜 tailwindcss-intellisense,只认发布者是 bradlc 的那个。其他名字带 “tailwind”“autocomplete”“class” 的插件,基本已停更,不支持 @apply、theme() 或现代框架(React/Vue/Astro),还可能和你本地配置冲突。
- 插件 ID 是
bradlc.vscode-tailwindcss,可在扩展详情页确认 - 装完立刻禁用所有其它 Tailwind 相关插件
- 别信“一键启用”类教程——它不自动生效,依赖项目配置和语言模式对齐
tailwind.config.js 必须在根目录且能被 require()
插件只读取当前工作区根目录(即你执行 code . 打开的那一层)下的 tailwind.config.js 或 tailwind.config.cjs。它不会向上找父目录,也不会自动钻进 src/ 或 packages/ui/ 里扫描。
- 如果配置实际在
./src/tailwind.config.js,必须在工作区.vscode/settings.json中加:"tailwindCSS.experimental.configFile": "./src/tailwind.config.js" - 导出必须用
module.exports = { };写成export default { }会静默失败,除非package.json明确写了"type": "module"且 Node ≥14.18 - 哪怕空配置也得合法:
module.exports = { content: [] };,不能留空文件或写export {} - 配置里不能有
require('missing-package')、fs.readFileSync('not-exist.txt')或await——一出错就退回到默认主题,theme.extend全部消失
editor.quickSuggestions.strings 必须手动开启
Tailwind 类名几乎都写在字符串里:className="text-lg bg-blue-500"、cn("flex", size)、tw`p-4 ${hover ? 'bg-gray-100' : ''}`。而 VS Code 默认关闭字符串内的自动提示——这是最隐蔽、最高频的“没提示”原因。
立即学习“前端免费学习笔记(深入)”;
- 打开设置(Ctrl+,),搜
editor.quickSuggestions,展开后把strings设为true - 改完不用重启 VS Code,但得重新打开当前文件,或执行命令
Developer: Reload Window - 这个开关影响所有字符串补全(比如 JSON 键名、正则字面量),关掉它,连
{"key": ""}里输key都不提示
JSX/TSX 里用了 cn()、tw() 就得配 classRegex
插件默认只识别 HTML 的 class="" 和 JSX 的 className="xxx" 字面量。一旦你用 cn()、tw() 或模板字面量(如 tw`text-lg`),就得手动告诉插件“从哪儿提取字符串”。
- 在工作区或用户
settings.json的tailwindCSS节点下加:"tailwindCSS.experimental.classRegex"数组 - 常见正则示例(注意括号和引号必须转义):
"className\s*=\s*['"`]([^'"`]*)['"`]"、"cn\(\s*(['"`][^'"`]*?['"`])"、"tw`([^`]*)`" - 不支持嵌套模板字符串,比如
className={`${base} ${active ? 'text-blue' : ''}`,插件只解析静态字符串部分
最容易被忽略的是:右下角状态栏看不到 Tailwind CSS 图标,说明配置根本没加载成功;看到图标但提示不全,大概率是 content 路径漏了扩展名,或 classRegex 正则没转义对——这两处错一个,补全就只剩默认值。


















