live sass compiler 保存不编译需同时满足三条件:文件名不以下划线开头、项目根目录已打开、编码为utf-8;否则静默跳过,且须在includeitems中显式添加partial文件。

Live Sass Compiler 保存不编译?先看这三个硬性条件
插件装了 ≠ 能用。Live Sass Compiler 要正常工作,必须同时满足:文件名不以下划线开头(如 _mixins.scss)、项目根目录已正确打开(左下角显示路径)、文件编码是 UTF-8(非 UTF-8 with BOM)。任一不满足,它就静默跳过,连错误提示都没有。
常见现象:改完 _layout.scss 保存,style.css 完全没更新。这不是插件坏了,是 Sass 规范强制跳过 partial 文件——你得在 liveSassCompile.settings.includeItems 里显式加进去,比如:["**/_layout.scss"]。
- 检查右下角状态栏是否显示当前工作区路径;多文件夹工作区只监控第一个
- 右下角点编码 → “Save with Encoding” → 选
UTF-8(不是带 BOM 的那个) - 确认
.scss文件没被liveSassCompile.settings.watchExclusions拦截,比如误配了"**/*.scss"
Less 编译别用 easy LESS,改用 lessc + tasks.json
easy LESS 自 2021 年停更后,在 VSCode v1.80+ 上基本不可靠:保存无反应、_variables.less 不编译、Node.js 环境检测失败还不报错。它不是配置问题,是底层已失效。
直接用官方 lessc CLI 更稳:先全局装 npm install -g less,再配 .vscode/tasks.json。这样能控制 source map、压缩、@import 路径,还能避免和 Live Sass Compiler 冲突。
-
lessc --source-map ${file} ${fileDirname}/${fileBasenameNoExtension}.css是最简有效命令 - 如果
@import报错,加--include-path=src/less指定查找目录 - VSCode 任务里设
"isBackground": true,否则保存会卡住等命令返回
tasks.json 配 sass --watch 时,路径写法决定输出位置
用 sass --watch 命令行方式,路径格式直接影响 CSS 输出位置。写成 sass --watch src/scss:dist/css 是目录映射,所有 .scss 编译后都进 dist/css;写成 sass --watch src/scss/main.scss dist/css/main.css 是单文件绑定,只监听这一个。
注意 Windows 和 macOS/Linux 的路径分隔符差异:sass --watch src\scss:dist\css 在 Windows 终端可能被解析失败,统一用正斜杠 / 更安全。
- 推荐用目录映射模式,避免每个文件单独配命令
-
--no-source-map默认关闭 sourcemap,要调试就得加--source-map - 不要在终端手动跑
sass --watch同时又开 Live Sass Compiler,两个进程抢写同一个.css文件,Windows 下极易出错
Vite 项目里别折腾 VSCode 插件
Vite 本身已内置 sass 支持,import './style.scss' 就能直接用,热更新、HMR、source map 全都有。此时装任何 VSCode Sass 插件纯属冗余,还可能干扰 Vite 的原生处理逻辑。
如果你在 vite.config.ts 里用了 vite-plugin-sass-dts 这类插件,那 VSCode 的编译行为更应完全关闭——它只负责语法高亮和跳转,编译交给 Vite。
- 删掉所有 Sass 相关插件(Live Sass Compiler、Sass by Syler 等)
- 确保
files.associations仍保留"*.scss": "scss",维持语法高亮 - VSCode 设置里关掉自动保存编译相关选项,避免和 Vite 的 watch 冲突
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











