使用eCSStractor复制时,如何切换SCSS格式至展开类名形式?
解决SCSS嵌套类转展开类名的方法
一、用编辑器正则替换快速处理
适合临时处理少量代码,无需额外插件:
- 打开编辑器的替换面板(VS Code按
Ctrl+H) - 勾选「正则表达式」模式
- 查找规则:
(\.[\w-]+)\s*\{\s*&(__[\w-]+)\s*\{\}\s* - 替换规则:
$1$2 {}\n - 点击「全部替换」,就能把嵌套的
&__xxx转换成对应的展开类名
二、借助插件实现一键转换
如果经常需要处理这类转换,推荐安装VS Code插件SCSS Converter:
- 安装后选中嵌套的SCSS代码块
- 右键选择「Convert SCSS to Flat CSS」(或对应选项)
- 直接生成展开后的类名代码,复制即可
三、调整编辑器格式化配置
如果希望复制时自动展开嵌套,检查编辑器的SCSS格式化设置:
- 打开VS Code设置(
Ctrl+,),搜索scss.format - 若使用Prettier作为格式化工具,在项目根目录创建
.prettierrc文件,添加配置:
{ "overrides": [ { "files": "*.scss", "options": { "singleQuote": true, "printWidth": 80, "scss": { "nested": false } } } ] }
- 保存配置后,格式化代码(
Shift+Alt+F),嵌套类会自动展开为单独的选择器
内容的提问来源于stack exchange,提问作者Mary A.
相关产品推荐
相关产品推荐

