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.pswp.cn/news/277532.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277532.shtml
英文地址,請注明出處:http://en.pswp.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"…