Tailwind CSS IntelliSense 无提示的主因是 VSCode 未识别配置、文件类型或字符串补全关闭;需确保 tailwind.config.js 在项目根目录、content 显式声明扩展名、classRegex 正确转义、语言模式设为 TypeScript React/Vue 且 editor.quickSuggestions.strings 启用。

装了 tailwindcss-intellisense 却没提示,基本不是插件问题,而是 VSCode 没“读到”你的配置、没识别当前文件类型、或字符串补全被关了——三者占 90% 以上。
tailwind.config.js 不被识别的硬性条件
插件只认项目根目录(即你执行 code . 打开的那一层)下的 tailwind.config.js 或 tailwind.config.cjs。它不会向上找父目录,也不会向下钻进 src/ 里。
-
module.exports = { }是最稳妥的导出写法;用export default { }必须同时在package.json中设"type": "module",且 Node ≥14.18 -
content字段必须显式列出扩展名,例如["./src/**/*.{js,jsx,ts,tsx,html}"];写成["./src/**/*"]插件无法匹配任何文件,类名索引为空 - 配置文件里不能有运行时报错:比如
require('missing-package')、fs.readFileSync('not-exist.js')、或await——插件加载失败时静默降级为默认配置,你自定义的theme.extend全部消失
JSX/TSX 中 className="" 没提示?配 classRegex
插件默认只解析 HTML 文件里的 class="" 和 JSX 中字面量形式的 className="xxx"。一旦你用 cn()、tw() 或模板字符串包着类名,就得手动告诉插件“从哪儿提取字符串”。
- 在工作区或用户
settings.json中加这段(注意必须在tailwindCSS节点下):
{
"tailwindCSS.experimental.classRegex": [
"className\s*=\s*["'`]([^"'`]*?)["'`]",
"class\s*=\s*["'`]([^"'`]*?)["'`]",
"cn\s*\(\s*(["'`][^"'`]*?["'`])"
]
}
className={`${base} ${active ? 'text-blue' : ''}`} 天然不支持补全——插件只分析静态字符串部分语言模式和字符串补全开关是隐形门槛
右下角状态栏显示的是 Plain Text 或 TypeScript,而不是 TypeScript React 或 HTML,补全就压根不触发。同样,editor.quickSuggestions.strings 关着,连 className="text-" 都不会弹下拉。
立即学习“前端免费学习笔记(深入)”;
- 点击右下角语言标识,手动选成
TypeScript React(React 项目)或Vue(Vue 项目) - 对非标后缀(如
.page.tsx),在settings.json加映射:"files.associations": {"*.page.tsx": "typescriptreact"} - 打开设置搜
editor.quickSuggestions,把strings设为true;改完不用重启,但需重新打开当前文件或执行Developer: Reload Window - 这个设置影响所有字符串提示(JSON 键名、正则字面量等),关掉它,连
{"key": ""}里输key都没提示
动态类名(bg-${color}-500)、JS 变量赋值(const cls = "text-")、CSS 文件内(.text-lg { })——这些位置永远不补全,不是配置能解决的,是插件设计限制。别花时间调 classRegex 去覆盖它们。


















