Bradlc.vscode-tailwindcss是唯一持续维护、支持@apply/theme()/自定义配置且兼容现代框架的插件;需确保tailwind.config.js在根目录或通过experimental.configFile指定,module.exports导出,开启editor.quickSuggestions.strings,并按需配置classRegex。

用 bradlc.vscode-tailwindcss —— 这是唯一持续维护、支持 @apply、theme()、自定义颜色/断点且兼容现代 React/Vue/Astro 项目的插件。其他名字带 “tailwind”“autocomplete”“class”的扩展,基本已停更或只做基础字符串匹配,补全漏、悬停无、主题不生效。
tailwind.config.js 不在根目录就失效
插件只读取 VSCode 当前工作区根目录(即你执行 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 = {},否则插件直接降级为默认主题
editor.quickSuggestions.strings 必须手动开
Tailwind 类名几乎都写在字符串里:className="text-lg bg-blue-500",而 VSCode 默认关闭字符串内的自动提示——这是最隐蔽、最高频的“没提示”原因,90% 的人卡在这一步。
- 打开设置(
Ctrl+,),搜editor.quickSuggestions,展开后把strings设为true - 改完不用重启 VSCode,但得重新打开当前文件,或执行命令
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*['"`]([^'"`]*)['"`]", "class\s*=\s*['"`]([^'"`]*)['"`]", "cn\s*\(\s*(['"`][^'"`]*?['"`])" ]
- 注意:正则里的括号和引号必须转义(用双反斜杠),否则不生效
- 动态拼接如
className={`bg-${color}-500`}天然不支持补全——插件靠静态分析生成候选列表,变量插值无法预知
最容易被忽略的是语言模式和 content 路径的组合:右下角显示 TypeScript 而不是 TypeScript React,或者 content 写成 ["./src/**/*"] 漏掉扩展名,这两处一错,整个索引就为空——连 text-lg 都不会出现,更别说你自定义的 text-brand-500。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











