scss2css vscode设置_VSCode下让CSS文件完美支持SCSS或SASS语法方法

VSCode下让CSS文件完美支持SCSS或SASS语法方法

习惯Webpack + PostCSS后, 通常PostCSS都是直接对CSS文件进行处理, 但是大部分习惯SCSS/SASS/LESS的朋友也许不适应了. 我专门研究了一下, 在Visual Studio Code编辑器下如果配置相关代码和设置达到CSS文件完美编写SCSS的办法, 其他语法类型原理相似, 这里以SCSS为例.

开始配置

Visual Studio Code编辑器设置的配置

首先, 配置编辑器的设置, 按快捷键"CTRL + ,"打开用户设置, 添加如下配置片段:

"files.associations": {

"*.css": "scss"

}

我这里做了全局的用户设置, 因为我个人大部分情况下是写SCSS, 当然如果你仅对该项目配置, 也可以将上面这段放进工作区设置(是放在默认花括号内哦, 千万不要弄错了~).

这样, VSCode编辑器就会把所有CSS文件当成SCSS格式来解析了, 也就不会出现可怕的红色波浪线了.

PostCSS的配置

接下来, 对PostCSS进行相关配置. 我们这里需要安装最重要的两个PostCSS插件postcss-scss和precss. 执行命令:

npm i -D postcss-scss precss

安装好后, 修改项目的postcss.config.js配置如下(我另外有用到autoprefixer和cssnano, 当然你可以根据个人情况选择, 重要部分是parser: 'postcss-scss'和require('precss')):

module.exports = {

parser: 'postcss-scss',

plugins: [

require('precss'),

require('autoprefixer'),

require('cssnano')

]

}

这样问题就解决了. 试着编译一下以下测试代码:

/* css文件用scss语法测试 */

$blue: #056ef0;

.test {

display: flex; // 这是scss注释

color: $blue;

.box {

flex: 1;

}

}

编译后:

.test{display:-webkit-box;display:-ms-flexbox;display:flex;color:#056ef0}.test .box{-webkit-box-flex:1;-ms-flex:1;flex:1}

Tips: 我用了cssnano, 因此注释被自动去除, 如果需要保留, 需参阅cssnano文档进行相关配置.

结语

至此, 我们的编辑器和项目都对CSS文件下编写SCSS有了很好的兼容. 至于其他用SASS和LESS的朋友可以举一反三, 安装对应的插件和修改VSCode设置. 整个操作过程应该花不了十分钟, 以后就能愉快的在CSS文件上面写SCSS啦~ 关于本次测试的代码可以访问postcss study查看.

如果文中有误, 或者还有什么疑问欢迎留言~

题外

postcss-scss插件到底做了什么? 据我观察, 行注释会被转换成标准的CSS块注释, 而其他的作用还尚未理解, 下面是官方描述:

This module does not compile SCSS. It simply parses mixins as custom at-rules & variables as properties, so that PostCSS plugins can then transform SCSS source code alongside CSS.

关于Webpack + PostCSS环境如何搭建的, 需要哪些依赖包, 大家可以直接看我的前文提到过的DEMO项目

关于PostCSS我也才用不到一年, 感觉确实很方便, 几乎可以替代SCSS了, 比如, 以前做项目需要引入第三方插件CSS, 而自己用的是SCSS, 那么Webpack解析就需要两个规则匹配. PostCSS的插件也是非常的丰富, 经过几年的发展, 很多插件为开发工作带来很好的便利. 例如移动端适配的px转rem单位的插件postcss-pxtorem, 我这里也有个完整的DEMO, 提供给大家参考~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277532.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第5章 初识JQuery

JQuery是对JavaScript的封装,简化了JS代码,是主流框架的基础(VUE,EasyUI,Bootstrap) 它是2006年推出的JQuery的优势: 体积小,压缩后只有100KB左右 强大的选择器 出色的DOM封装 可靠的事件处理机制 出色的浏览器兼容性 使用隐式迭代…

Jenkins的Pipeline脚本在美团餐饮SaaS中的实践

2019独角兽企业重金招聘Python工程师标准>>> 一、背景 在日常开发中,我们经常会有发布需求,而且还会遇到各种环境,比如:线上环境(Online),模拟环境(Staging)&…

6.12交流

czy bzoj5424烧桥计划 f[i][j]暴力,可以分两段转移,更近的一段单调队列 发现,最多分成sqrt(n)段。 因为如果只有一段,ansn*2000 而如果多段,至少是∑i*1000,那么,i的上界是sqrt(n)级别的。 所以…

java椭圆_如何用java画椭圆

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼利用java画出椭圆。也就是鼠标一边移动一边显示出椭圆,如何做到请大神指教这是我写的(没有达到我自己的要求):import java.awt.*;import java.awt.Graphics;import java.awt.event.*;import javax.swing.*;i…

【springboot+easypoi】一行代码搞定excel导入导出

原文:https://www.jianshu.com/p/5d67fb720ece 开发中经常会遇到excel的处理,导入导出解析等等,java中比较流行的用poi,但是每次都要写大段工具类来搞定这事儿,此处推荐一个别人造好的轮子【easypoi】,下面…

用java编写一个计算器_用java程序编写一个计算器

展开全部给你一个参考,希望不62616964757a686964616fe58685e5aeb931333330343261要被百度吞了当晚餐import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.text.DecimalFor…

TypeScript基础入门 - 接口 - 可索引的类型

转载地址 TypeScript基础入门 - 接口 - 可索引的类型 项目实践仓库 https://github.com/durban89/typescript_demo.git tag: 1.0.11 为了保证后面的学习演示需要安装下ts-node,这样后面的每个操作都能直接运行看到输出的结果。 npm install -D ts-node 后面自己在练…

jquery中的ajax方法(备忘)

参考:https://www.cnblogs.com/tylerdonet/p/3520862.html w3school:http://www.w3school.com.cn/jquery/ajax_ajax.asp 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。 2.type: 要求为String类型的参数&…

java高级类_Java高级类特性(一)

权限类内同包不同包子类不同包非子类private√default√√protected√√√public√√√√四、super关键字的使用package com.test.java;/** super可以用来修饰属性、方法、构造器* 1)当子类与父类中有同名的属性时,可以通过"super.属性"显式的调用父类中声…

Android.对话框(AlertDialog/Toast/Snackbar)

1、资料: 1.1、Android提醒微技巧,你真的了解Dialog、Toast和Snackbar吗? - CSDN博客.html(https://blog.csdn.net/guolin_blog/article/details/51336415) 1.2、Android界面设计之对话框——定制Toast、AlertDialog -…

第4次作业

转载于:https://www.cnblogs.com/wzh2920330283/p/11027254.html

基于Docker搭建Percona XtraDB Cluster数据库集群

本文实验的环境参数 阿里云ECS Centos7.5Docker version 18.06.0-cepercona/percona-xtradb-cluster:5.7Percona XtraDB Cluster的镜像下载地址:https://hub.docker.com/r/percona/percona-xtradb-cluster/ 怎么使用Docke和下载镜像,请查看Docker的官方文…

java publickey_数字证书中读取PublicKey

1. 读取https签发证书中的key1) 在下面的代码中,是实现读取证书字符串来读取key的,CERTIFICATE 就是一个证书的字符串, 而方法cf.generateCertificate() 接受的是一个InputStream 流,当然这个地方也可以读取一个文件 new FileInputSream("file path")即可!public Str…

UIViewController 小结

1 生命周期 init方法中view仍然是nil,此时,如果写了self.view,直接调用loadView。看名字也知道,loadView在viewDidLoad之前。initWithNibName:bundle:,designated初始化方法2 代码组织 init,只有需要传一些…

多核学习方法介绍

通过上篇文章的学习,我们知道,相比于单个核函数,多核模型可以具有更高的灵活性。经过多个核函数映射后的高维空间是由多个特征空间组合而成的组合空间,而显然组合空间可以组合各个子空间不同的特征映射能力,能够将异构…

java注解类型_Java注解类型

本篇文章帮大家学习java注解类型,包含了Java注解类型使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。标记注解类型标记注解类型是没有元素的注解类型,甚至没有默认值。标记注解由注解处理工具使用。…

linux go环境安装和基本项目结构

最近项目中要用到Go语言,所以简单总结一下安装和配置,Go这个语言本身就限定了很多规范,比如项目设置,编程风格等,开发中就不需要再因为各种规范问题纠结了,直接用官方规定的能避免很多坑,下面直…

运输层

运输层-TCP 简介 通俗点来说,运输层是连接底层和用户层的,运输层向它上面的应用层提供通信服务,它属于通信部分的最高层,同时也是用户功能的最低层。 运输层重要功能是复用和分用。复用:发送方不同应用进程可以使用同一…

对AI"出错"零容忍?美国加强AI推理解释能力研究

随着硅谷私企引领人工智能(AI)爆发式发展,美国国防部曾发布报告称,将“立即采取行动”加速AI和自动化技术研发。据《麻省理工技术评论》杂志网站近日报道,美国国防高级研究计划局(DARPA)已经着手…

java调用指定浏览器_Java调用浏览器打开网页完整实例

本文实例讲述了java调用浏览器打开网页的方法。分享给大家供大家参考。具体实现方法如下:package com.yifang.demo;import java.io.file;public class openpagedemo {public static void main(string[] args) {try {//string url "http://www.baidu.com"…