Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 91视频免费网址,国产色婷婷精品综合在线观看,国产麻豆精品免费密入口

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          學(xué)前端怎能不知css系列-css初識(shí)03

          學(xué)前端怎能不知css系列-css初識(shí)03

          人熟悉前端(html,css,js,vue等),后端(python),爬蟲,小程序等,老板有需求私信聯(lián)系我

          第01階段.前端基礎(chǔ).盒子模型

          盒子模型(CSS重點(diǎn))

          css學(xué)習(xí)三大重點(diǎn): css 盒子模型 、 浮動(dòng) 、 定位

          主題思路:

          目標(biāo):

          • 理解:能說出盒子模型有那四部分組成能說出內(nèi)邊距的作用以及對(duì)盒子的影響能說出padding設(shè)置不同數(shù)值個(gè)數(shù)分別代表的意思能說出塊級(jí)盒子居中對(duì)齊需要的2個(gè)條件能說出外邊距合并的解決方法
          • 應(yīng)用:能利用邊框復(fù)合寫法給元素添加邊框能計(jì)算盒子的實(shí)際大小能利用盒子模型布局模塊案例

          1.看透網(wǎng)頁(yè)布局的本質(zhì)

          網(wǎng)頁(yè)布局中,我們是如何把里面的文字,圖片,按照美工給我們的效果圖排列的整齊有序呢?

          • 看透網(wǎng)頁(yè)布局的本質(zhì):首先利用CSS設(shè)置好盒子的大小,然后擺放盒子的位置。最后把網(wǎng)頁(yè)元素比如文字圖片等等,放入盒子里面。以上兩步 就是網(wǎng)頁(yè)布局的本質(zhì)

          我們明白了,盒子是網(wǎng)頁(yè)布局的關(guān)鍵點(diǎn),所以我們更應(yīng)該弄明白 這個(gè)盒子有什么特點(diǎn)。

          2. 盒子模型(Box Model)

          • 所謂盒子模型:就是把HTML頁(yè)面中的布局元素看作是一個(gè)矩形的盒子,也就是一個(gè)盛裝內(nèi)容的容器。總結(jié):盒子模型有元素的內(nèi)容、邊框(border)、內(nèi)邊距(padding)、和外邊距(margin)組成。
          • 盒子里面的文字和圖片等元素是 內(nèi)容區(qū)域盒子的厚度 我們成為 盒子的邊框
          • 盒子內(nèi)容與邊框的距離是內(nèi)邊距(類似單元格的 cellpadding)盒子與盒子之間的距離是外邊距(類似單元格的 cellspacing)

          標(biāo)準(zhǔn)盒子模型


          3. 盒子邊框(border)


          • 語(yǔ)法:
          border : border-width || border-style || border-color 

          屬性

          作用

          border-width

          定義邊框粗細(xì),單位是px

          border-style

          邊框的樣式

          border-color

          邊框顏色

          • 邊框的樣式:none:沒有邊框即忽略所有邊框的寬度(默認(rèn)值)solid:邊框?yàn)閱螌?shí)線(最為常用的)dashed:邊框?yàn)樘摼€ dotted:邊框?yàn)辄c(diǎn)線

          3.1 邊框綜合設(shè)置

          border : border-width || border-style || border-color 

          例如:

           border: 1px solid red;  沒有順序  

          3.2 盒子邊框?qū)懛偨Y(jié)表

          很多情況下,我們不需要指定4個(gè)邊框,我們是可以單獨(dú)給4個(gè)邊框分別指定的。

          上邊框

          下邊框

          左邊框

          右邊框

          border-top-style:樣式;

          border-bottom-style:樣式;

          border-left-style:樣式;

          border-right-style:樣式;

          border-top-width:寬度;

          border- bottom-width:寬度;

          border-left-width:寬度;

          border-right-width:寬度;

          border-top-color:顏色;

          border- bottom-color:顏色;

          border-left-color:顏色;

          border-right-color:顏色;

          border-top:寬度 樣式 顏色;

          border-bottom:寬度 樣式 顏色;

          border-left:寬度 樣式 顏色;

          border-right:寬度 樣式 顏色;

          3.3 表格的細(xì)線邊框


          • 通過表格的cellspacing="0",將單元格與單元格之間的距離設(shè)置為0,
          • 但是兩個(gè)單元格之間的邊框會(huì)出現(xiàn)重疊,從而使邊框變粗
          • 通過css屬性:table{ border-collapse:collapse; } collapse 單詞是合并的意思border-collapse:collapse; 表示相鄰邊框合并在一起。
          <style>
              table {
                  width: 500px;
                  height: 300px;
                  border: 1px solid red;
              }
              td {
                  border: 1px solid red;
                  text-align: center;
              }
              table, td {
                  border-collapse: collapse;  /*合并相鄰邊框*/
              }
          </style>


          4. 內(nèi)邊距(padding)


          4.1 內(nèi)邊距:

          padding屬性用于設(shè)置內(nèi)邊距。 是指 邊框與內(nèi)容之間的距離。

          4.2 設(shè)置

          屬性

          作用

          padding-left

          左內(nèi)邊距

          padding-right

          右內(nèi)邊距

          padding-top

          上內(nèi)邊距

          padding-bottom

          下內(nèi)邊距

          當(dāng)我們給盒子指定padding值之后, 發(fā)生了2件事情:

          1. 內(nèi)容和邊框 有了距離,添加了內(nèi)邊距。
          2. 盒子會(huì)變大了。


          注意: 后面跟幾個(gè)數(shù)值表示的意思是不一樣的。

          我們分開寫有點(diǎn)麻煩,我們可以不可以簡(jiǎn)寫呢?

          值的個(gè)數(shù)

          表達(dá)意思

          1個(gè)值

          padding:上下左右內(nèi)邊距;

          2個(gè)值

          padding: 上下內(nèi)邊距 左右內(nèi)邊距 ;

          3個(gè)值

          padding:上內(nèi)邊距 左右內(nèi)邊距 下內(nèi)邊距;

          4個(gè)值

          padding: 上內(nèi)邊距 右內(nèi)邊距 下內(nèi)邊距 左內(nèi)邊距 ;

          4.3 課堂案例: 新浪導(dǎo)航

          新浪導(dǎo)航欄的核心就是因?yàn)槔锩娴淖謹(jǐn)?shù)不一樣多,所以我們不方便給寬度,還是給padding ,撐開盒子的。


          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>新浪導(dǎo)航欄案例</title>
              <style>
              /*清除元素默認(rèn)的內(nèi)外邊距*/
                  * {
                      margin: 0;
                      padding: 0;
                  }
                  .nav {
                      height: 41px;
                      background-color: #FCFCFC;
                      /*上邊框*/
                      border-top: 3px solid #FF8500;
                      /*下邊框*/
                      border-bottom: 1px solid #EDEEF0;
                  }
                  .nav a {
                      /*轉(zhuǎn)換為行內(nèi)塊*/
                      display: inline-block;
                      height: 41px;
                      line-height: 41px;
                      color: #4C4C4C;
                      /*代表 上下是 0  左右是 20 內(nèi)邊距*/
                      padding: 0 20px;
                      /*background-color: pink;*/
                      text-decoration: none;
                      font-size: 12px;
                  }
                  .nav a:hover {
                      background-color: #eee;
                  }
              </style>
          </head>
          <body>
              <div class="nav">
                  <a href="#">設(shè)為首頁(yè)</a>
                  <a href="#">手機(jī)新浪網(wǎng)</a>
                  <a href="#">移動(dòng)客戶端</a>
                  <a href="#">博客</a>
                  <a href="#">微博</a>
                  <a href="#">關(guān)注我</a>
              </div>
          </body>
          </html>

          4.4 內(nèi)盒尺寸計(jì)算(元素實(shí)際大小)

          • 寬度Element Height=content height + padding + border (Height為內(nèi)容高度)
          • 高度Element Width=content width + padding + border (Width為內(nèi)容寬度)
          • 盒子的實(shí)際的大小=內(nèi)容的寬度和高度 + 內(nèi)邊距 + 邊框
              <style>
                  div {
                      width: 180px;
                      height: 200px;
                      background-color: pink;
                      /*添加10px 內(nèi)邊距 左右 上下*/
                      padding: 10px;
                      /*盒子的實(shí)際大小=內(nèi)容寬度 高度 +  內(nèi)邊距 +  邊框*/
                            /*          =  200  +  20  +  0
                                      =  220  */
                       /*解決的方法:
                          內(nèi)邊距一定要給的, 我們只能改變 內(nèi)容寬度 width 讓他減去 多出來的內(nèi)邊距就可以了*/
                          /*200 - 20=180 */
                  }
              </style>

          4.5 內(nèi)邊距產(chǎn)生的問題

          • 問題會(huì)撐大原來的盒子
          • 解決:通過給設(shè)置了寬高的盒子,減去相應(yīng)的內(nèi)邊距的值,維持盒子原有的大小

          4.6 padding不影響盒子大小情況

          如果沒有給一個(gè)盒子指定寬度, 此時(shí),如果給這個(gè)盒子指定padding, 則不會(huì)撐開盒子。

          5. 外邊距(margin)

          5.1 外邊距

          margin屬性用于設(shè)置外邊距。 margin就是控制盒子和盒子之間的距離

          5.2 設(shè)置:

          屬性

          作用

          margin-left

          左外邊距

          margin-right

          右外邊距

          margin-top

          上外邊距

          margin-bottom

          下外邊距

          margin值的簡(jiǎn)寫 (復(fù)合寫法)代表意思 跟 padding 完全相同。

          5.3 塊級(jí)盒子水平居中

          • 可以讓一個(gè)塊級(jí)盒子實(shí)現(xiàn)水平居中必須:盒子必須指定了寬度(width)然后就給左右的外邊距都設(shè)置為auto

          實(shí)際工作中常用這種方式進(jìn)行網(wǎng)頁(yè)布局,示例代碼如下:

          .header{ width:960px; margin:0 auto;}

          常見的寫法,以下下三種都可以。

          • margin-left: auto; margin-right: auto;
          • margin: auto;
          • margin: 0 auto;

          5.4 文字居中和盒子居中區(qū)別

          1. 盒子內(nèi)的文字水平居中是 text-align: center, 而且還可以讓 行內(nèi)元素和行內(nèi)塊居中對(duì)齊
          2. 塊級(jí)盒子水平居中 左右margin 改為 auto
          text-align: center; /*  文字 行內(nèi)元素 行內(nèi)塊元素水平居中 */
          margin: 10px auto;  /* 塊級(jí)盒子水平居中  左右margin 改為 auto 就闊以了 上下margin都可以 */

          5.5 插入圖片和背景圖片區(qū)別

          1. 插入圖片 我們用的最多 比如產(chǎn)品展示類 移動(dòng)位置只能靠盒模型 padding margin
          2. 背景圖片我們一般用于小圖標(biāo)背景 或者 超大背景圖片 背景圖片 只能通過 background-position
           img {  
                  width: 200px;/* 插入圖片更改大小 width 和 height */
                  height: 210px;
                  margin-top: 30px;  /* 插入圖片更改位置 可以用margin 或padding  盒模型 */
                  margin-left: 50px; /* 插入當(dāng)圖片也是一個(gè)盒子 */
              }
          
           div {
                  width: 400px;
                  height: 400px;
                  border: 1px solid purple;
                  background: #fff url(images/sun.jpg) no-repeat;
                  background-position: 30px 50px; /* 背景圖片更改位置 我用 background-position */
              }

          5.6 清除元素的默認(rèn)內(nèi)外邊距(重要)

          為了更靈活方便地控制網(wǎng)頁(yè)中的元素,制作網(wǎng)頁(yè)時(shí),我們需要將元素的默認(rèn)內(nèi)外邊距清除

          代碼:

          * {
             padding:0;         /* 清除內(nèi)邊距 */
             margin:0;          /* 清除外邊距 */
          }

          注意:

          • 行內(nèi)元素為了照顧兼容性, 盡量只設(shè)置左右內(nèi)外邊距, 不要設(shè)置上下內(nèi)外邊距。

          5.7 外邊距合并

          使用margin定義塊元素的垂直外邊距時(shí),可能會(huì)出現(xiàn)外邊距的合并。

          (1). 相鄰塊元素垂直外邊距的合并

          • 當(dāng)上下相鄰的兩個(gè)塊元素相遇時(shí),如果上面的元素有下外邊距margin-bottom
          • 下面的元素有上外邊距margin-top,則他們之間的垂直間距不是margin-bottom與margin-top之和
          • 取兩個(gè)值中的較大者這種現(xiàn)象被稱為相鄰塊元素垂直外邊距的合并(也稱外邊距塌陷)。


          解決方案:盡量給只給一個(gè)盒子添加margin值

          (2). 嵌套塊元素垂直外邊距的合并(塌陷)

          • 對(duì)于兩個(gè)嵌套關(guān)系的塊元素,如果父元素沒有上內(nèi)邊距及邊框
          • 父元素的上外邊距會(huì)與子元素的上外邊距發(fā)生合并
          • 合并后的外邊距為兩者中的較大者


          解決方案:

          1. 可以為父元素定義上邊框。
          2. 可以為父元素定義上內(nèi)邊距
          3. 可以為父元素添加overflow:hidden。

          還有其他方法,比如浮動(dòng)、固定、絕對(duì)定位的盒子不會(huì)有問題,后面咱們?cè)倏偨Y(jié)。。。

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>Document</title>
              <style>
                  .father {
                      width: 500px;
                      height: 500px;
                      background-color: pink;
                      /*嵌套關(guān)系 垂直外邊距合并  解決方案 */
                      /*1. 可以為父元素定義上邊框  transparent 透明*/
                      /*border-top: 1px solid transparent;*/
                      /*2. 可以給父級(jí)指定一個(gè) 上 padding值*/
                      /*padding-top: 1px; */
                      /*3. 可以為父元素添加overflow:hidden。*/
                      overflow: hidden;
                  }
                  .son {
                      width: 200px;
                      height: 200px;
                      background-color: purple;
                      margin-top: 100px;
                  }
              </style>
          </head>
          <body>
              <div class="father">
                  <div class="son"></div>
              </div>
          </body>
          </html>

          6. 盒子模型布局穩(wěn)定性

          • 學(xué)習(xí)完盒子模型,內(nèi)邊距和外邊距,什么情況下用內(nèi)邊距,什么情況下用外邊距?大部分情況下是可以混用的。 就是說,你用內(nèi)邊距也可以,用外邊距也可以。 你覺得哪個(gè)方便,就用哪個(gè)。

          我們根據(jù)穩(wěn)定性來分,建議如下:

          按照 優(yōu)先使用 寬度 (width) 其次 使用內(nèi)邊距(padding) 再次 外邊距(margin)。

            width >  padding  >   margin   
          • 原因:margin 會(huì)有外邊距合并 還有 ie6下面margin 加倍的bug(討厭)所以最后使用。padding 會(huì)影響盒子大小, 需要進(jìn)行加減計(jì)算(麻煩) 其次使用。width 沒有問題我們經(jīng)常使用寬度剩余法 高度剩余法來做。

          7. ps基本操作以及常用快捷鍵:

          因?yàn)榫W(wǎng)頁(yè)美工大部分效果圖都是利用ps 來做的,所以,以后我們大部分切圖工作都是在ps里面完成。

          • 文件--打開 -- 可以打開 我們要測(cè)量的圖片
          • ctrl+r 可以打開標(biāo)尺 或者 視圖 -- 標(biāo)尺
          • 右擊標(biāo)尺, 把里面的單位改為 像素
          • ctrl+ 加號(hào) 鍵 可以 放大 視圖 ctrl+ 減號(hào) 縮小視圖
          • 按住空格鍵, 鼠標(biāo)可以 變成小手 ,拖動(dòng) ps 視圖
          • 用選區(qū) 拖動(dòng) 可以 測(cè)量 大小
          • ctrl+ d 可以取消選區(qū) 或者旁邊空白處點(diǎn)擊一下也可以取消選區(qū)

          去掉列表默認(rèn)的樣式

          無序和有序列表前面默認(rèn)的列表樣式,在不同瀏覽器顯示效果不一樣,而且也比較難看,所以,我們一般上來就直接去掉這些列表樣式就行了。 代碼如下

          li { list-style: none; }

          9. 今日總結(jié)

          拓展@

          以下我們講的CSS3部分新屬性, 但是我們遵循的原則是,以下內(nèi)容,不會(huì)影響我們頁(yè)面布局, 只是樣式更好看了而已。

          1.圓角邊框(CSS3)

          • 語(yǔ)法:
          border-radius:length;  
          • 其中每一個(gè)值可以為 數(shù)值或百分比的形式。
          • 技巧: 讓一個(gè)正方形 變成圓圈 border-radius: 50%;



          • 以上效果圖矩形的圓角, 就不要用 百分比了,因?yàn)榘俜直葧?huì)是表示高度和寬度的一半。
          • 而我們這里矩形就只用 用 高度的一半就好了。精確單位。
          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>Document</title>
              <style>
                  div {
                      width: 200px;
                      height: 200px;
                      background-color: pink;
          
                      /*border-radius: 100px;*/
                      border-radius: 50%;
                  }
                  p {
                      width: 100px;
                      height: 20px;
                      background-color: red;
                      font-size: 12px;
                      color: #fff;
                      text-align: center;
                      line-height: 20px;
                      border-radius: 10px;
                  }
              </style>
          </head>
          <body>
              <div> </div>
              <p> 特價(jià) 免費(fèi)送 </p>
          </body>
          </html>

          2. 盒子陰影(CSS3)

          • 語(yǔ)法:
          box-shadow:水平陰影 垂直陰影 模糊距離(虛實(shí))  陰影尺寸(影子大小)  陰影顏色  內(nèi)/外陰影;

          • 前兩個(gè)屬性是必須寫的。其余的可以省略。
          • 外陰影 (outset) 是默認(rèn)的 但是不能寫 想要內(nèi)陰影可以寫 inset
          div {
                      width: 200px;
                      height: 200px;
                      border: 10px solid red;
                      /* box-shadow: 5px 5px 3px 4px rgba(0, 0, 0, .4);  */
                      /* box-shadow:水平位置 垂直位置 模糊距離 陰影尺寸(影子大小) 陰影顏色  內(nèi)/外陰影; */
                      box-shadow: 0 15px 30px  rgba(0, 0, 0, .4);
                      
          }

          CSS書寫規(guī)范

          開始就形成良好的書寫規(guī)范,是你專業(yè)的開始。

          空格規(guī)范

          【強(qiáng)制】 選擇器 與 { 之間必須包含空格。

          示例:

          工欲善其事必先利其器,提高程序員的開發(fā)效率必須要有一個(gè)好的開發(fā)工具,當(dāng)前最好的前端開發(fā)工具主要有VS code、sublime Text、Atom、Webstorm、Notepad++。

          VS Code 是一款十分強(qiáng)大的代碼編輯器,雖然出來時(shí)間比較短,但是使用頻率和受歡迎率已經(jīng)遠(yuǎn)遠(yuǎn)超過了其他的編輯器,VS code適用于幾乎所有的編程與和開發(fā)任務(wù),包含了非常豐富的應(yīng)用插件,非常方便,越來越多的新生代互聯(lián)網(wǎng)青年正在使用它。

          其實(shí)VS Code 這款軟件本身,是用 JavaScript 語(yǔ)言編寫的,是一款基于Electron框架編寫的客戶端編輯器,如果喜歡研究源碼可以去github下載源碼進(jìn)行研究,Electron使用和學(xué)習(xí)在以后章節(jié)中介紹(具體請(qǐng)自行查閱基于 JS 的 PC 客戶端開發(fā)框架 Electron)。Jeff Atwood 在 2007 年提出了著名的 Atwood 定律:

          任何能夠用 JavaScript 實(shí)現(xiàn)的應(yīng)用系統(tǒng),最終都必將用 JavaScript 實(shí)現(xiàn)。

          Jeff Atwood 這個(gè)人是誰不重要(他是 Stack Overflow 網(wǎng)站的聯(lián)合創(chuàng)始人),重要的是這條定律。

          前端目前是處在春秋戰(zhàn)國(guó)時(shí)代,各路英雄豪杰成為后浪,各種框架工具層出不窮,VS Code 軟件無疑是大前端時(shí)代最驕傲的工具。

          如果你是做前端開發(fā)(JavaScript 編程語(yǔ)言為主),則完全可以將 VS Code 作為主力開發(fā)工具。這款軟件是為前端同學(xué)量身定制的。

          如果你是做其他語(yǔ)言方向的開發(fā),并且不需要太復(fù)雜的集成開發(fā)環(huán)境,那么,你可以把 VS Code 作為代碼編輯器來使用,縱享絲滑。

          甚至是一些寫文檔、寫作的同學(xué),也經(jīng)常把 VS Code 作為 markdown 寫作工具,毫無違和感。

          退而求其次,即便你不屬于以上任何范疇,你還可以把 VS Code 當(dāng)作最簡(jiǎn)單的文本編輯器來使用,完勝 Windows 系統(tǒng)自帶的記事本。

          以下是對(duì)VS Code基本使用的介紹:

          一、VS Code 的介紹

          VS Code 的全稱是 Visual Studio Code,是一款開源的、免費(fèi)的、跨平臺(tái)的、高性能的、輕量級(jí)的代碼編輯器。它在性能、語(yǔ)言支持、開源社區(qū)方面,都做得很不錯(cuò)。

          微軟有兩種軟件:一種是 VS Code,一種是VS IDE。
          VS Code是一款開發(fā)者的代碼編輯器,提供了各種便攜的插件使用;VS IDE是微軟的重量級(jí)IDE工具,里面集成了各種開發(fā)環(huán)境的編譯工具,特別是開發(fā)后端服務(wù)器編程,提供了完整的C/C++、Java、Python、Go、Android等集成開發(fā)工具。類似于Eclipse IDE,只需要一鍵安裝即可。

          IDE 與 編輯器的對(duì)比

          IDE 和編輯器是有區(qū)別的:

          • IDE(Integrated Development Environment,集成開發(fā)環(huán)境):對(duì)代碼有較好的智能提示和相互跳轉(zhuǎn),同時(shí)側(cè)重于工程項(xiàng)目,對(duì)項(xiàng)目的開發(fā)、調(diào)試工作有較好的圖像化界面的支持,因此比較笨重。比如 Eclipse 的定位就是 IDE。還有很多優(yōu)秀的IDE工具,例如:
            Visual Basic 6.0:
            Visual C++ 6.0:
            Dev C++:
            Visual Studio 2015-2019:
            QT Creator:
            Eclipse:
            IDEA:
            PyCharm:
          • 編輯器:要相對(duì)輕量許多,側(cè)重于文本的編輯。比如 Sublime Text 的定位就是編輯器。再比如 Windows 系統(tǒng)自帶的「記事本」就是最簡(jiǎn)單的編輯器。

          需要注意的是,VS Code 的定位是編輯器,而非 IDE ,但 VS Code 又比一般的編輯器的功能要豐富許多。可以這樣理解:VS Code 的體量是介于編輯器和 IDE 之間。程序員常用的一些優(yōu)秀的編輯器例如:
          VS Code、Sublime Text、Editplus、Notepad++、vim、Atom、Webstorm、chocolatapp、textpad等等。’

          VS Code 的特點(diǎn)

          • VS Code 的使命,是讓開發(fā)者在編輯器里擁有 IDE 那樣的開發(fā)體驗(yàn),比如代碼的智能提示、語(yǔ)法檢查、圖形化的調(diào)試工具、插件擴(kuò)展、版本管理等。
          • VS Code是一款免費(fèi)的、開源的、高性能的、跨平臺(tái)的、輕量級(jí)的代碼編輯器,同時(shí),在性能,語(yǔ)言支持、開源社區(qū)方面也做的很不錯(cuò)!
          • 跨平臺(tái)支持 MacOS、Windows 和 Linux 等多個(gè)平臺(tái)。
          • VS Code 的源代碼以 MIT 協(xié)議開源。
          • 支持第三方插件,功能強(qiáng)大,生態(tài)系統(tǒng)完善。
          • VS Code 自帶了 JavaScript、TypeScript 和 Node.js 的支持。也就是說,你在書寫 JS 和 TS 時(shí),是自帶智能提示的。當(dāng)然,其他的語(yǔ)言,你可以安裝相應(yīng)的擴(kuò)展包插件,也會(huì)有智能提示。

          前端編輯器: VS Code 與 WebStorm、Sublime Text

          經(jīng)常看到這樣的問題:哪個(gè)編輯器/IDE 好用?是 VS Code 還是 WebStorm (WebStorm 其實(shí)是 IntelliJ IDEA 的定制版)?我來做個(gè)對(duì)比:

          • 哪個(gè)更酷:顯然 VS Code 更酷。
          • 內(nèi)存占用情況:根據(jù)我的觀察,VS Code 是很占內(nèi)存的(尤其是當(dāng)你打開多個(gè)窗口的時(shí)候),但如果你的內(nèi)存條夠用,使用起來是不會(huì)有任何卡頓的感覺的。相比之下,IntelliJ IDEA 不僅非常占內(nèi)存,而且還非常卡頓。如果你想換個(gè)既輕量級(jí)、又不占內(nèi)存的編輯器,最好還是使用「Sublime Text」編輯器。
          • 使用比例:當(dāng)然是 VS Code 更勝一籌。先不說別的,我就拿數(shù)據(jù)說話,我目前所在的研發(fā)團(tuán)隊(duì)有 200 人左右(120個(gè)后臺(tái)、80個(gè)前端),他們絕大部分人都在用 VS Code 編碼,妥妥的。如果想快速輕量級(jí)開發(fā)可以選擇sublime Text3. 也有很多豐富的插件可以使用。

          所以,首選是VS code,其次是sublime Text3,再其次可以選擇其他自己喜歡的編輯器。

          VS Code 的安裝

          • VS Code 官網(wǎng):https://code.visualstudio.com

          VS Code 的安裝很簡(jiǎn)單,直接去官網(wǎng)下載安裝包,然后雙擊安裝即可。

          上圖中,直接點(diǎn)擊 download,一鍵下載安裝即可。

          二、嶄露鋒芒:VS Code 快捷鍵

          VS Code 用得熟不熟,首先就看你是否會(huì)用快捷鍵。以下列出的內(nèi)容,都是常用快捷鍵,而加粗部分的快捷鍵,使用頻率則非常高。

          任何工具,掌握 20%的技能,足以應(yīng)對(duì) 80% 的工作。既然如此,你可能會(huì)問:那就只保留 20% 的特性,不久可以滿足 80%的用戶了嗎?

          但我想說的是:那從來都不是同樣的 20%,每個(gè)人都會(huì)用到不同的功能。

          掌握下面這些高頻核心快捷鍵,你和你的工具,足矣露出鋒芒。

          1、工作區(qū)快捷鍵



          2、跳轉(zhuǎn)操作



          3、移動(dòng)光標(biāo)



          4、編輯操作



          5、多光標(biāo)編輯



          6、刪除操作



          7、編程語(yǔ)言相關(guān)



          8、搜索相關(guān)



          9、自定義快捷鍵

          按住快捷鍵「Cmd + Shift + P」,彈出命令面板,在命令面板中輸入“快捷鍵”,可以進(jìn)入快捷鍵的設(shè)置。

          當(dāng)然,你也可以選擇菜單欄「偏好設(shè)置 --> 鍵盤快捷方式」,進(jìn)入快捷鍵的設(shè)置:

          10、快捷鍵列表

          你可以點(diǎn)擊 VS Code 左下角的齒輪按鈕,效果如下:

          上圖中,在展開的菜單中選擇「鍵盤快捷方式」,就可以查看和修改所有的快捷鍵列表了:

          快捷鍵參考鏈接

          • 快捷鍵速查表[官方]:https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf

          三、命令面板的使用

          Mac 用戶按住快捷鍵 Cmd+Shift+P (Windows 用戶按住快捷鍵Ctrl+Shift+P),可以打開命令面板。效果如下:

          如果們需要修改一些設(shè)置項(xiàng),可以通過「命令面板」來操作,效率會(huì)更高。這里列舉一些。

          1、設(shè)置字體大小

          在命令面板輸入“字體”,可以進(jìn)行字體的設(shè)置,效果如下:

          當(dāng)然,你也可以在菜單欄,選擇「首選項(xiàng)-設(shè)置-常用設(shè)置」,在這個(gè)設(shè)置項(xiàng)里修改字體大小。

          2、快捷鍵設(shè)置

          在命令面板輸入“快捷鍵”,就可以進(jìn)入快捷鍵的設(shè)置。

          3、大小寫轉(zhuǎn)換

          選中文本后,在命令面板中輸入transfrom,就可以修改文本的大小寫了。

          4、使用命令行啟動(dòng) VS Code

          (1)輸入快捷鍵「Cmd + Shift + P 」,選擇install code command:

          (2)使用命令行:

          • code命令:?jiǎn)?dòng) VS Code 軟件
          • code pathName/fileName命令:通過 VS Code 軟件打開指定目錄/指定文件。

          四、私人訂制:VS Code 的常見配置

          1、VS Code 設(shè)置為中文語(yǔ)言

          Mac 用戶按住快捷鍵 Cmd+Shift+P (Windows 用戶按住快捷鍵Ctrl+Shift+P),打開命令面板。

          在命令面板中,輸入Configure Display Language,選擇Install additional languages,然后安裝插件Chinese (Simplified) Language Pack for Visual Studio Code即可。

          或者,我們可以直接安裝插件Chinese (Simplified) Language Pack for Visual Studio Code,是一樣的。

          安裝完成后,重啟 VS Code。

          2、面包屑(Breadcrumb)

          打開 VS Code 的設(shè)置項(xiàng),選擇「用戶設(shè)置 -> 工作臺(tái) -> 導(dǎo)航路徑」,如下圖所示:

          上圖中,將紅框部分打鉤即可。

          設(shè)置成功后,我們就可以查看到當(dāng)前文件的「層級(jí)結(jié)構(gòu)」,非常方便。如下圖所示:

          有了這個(gè)面包屑導(dǎo)航,我們可以在任意目錄、任意文件之間隨意跳轉(zhuǎn)。

          3、左右顯示多個(gè)編輯器窗口(抄代碼利器)

          Mac 用戶按住快捷鍵 Cmd + \, Windows 用戶按住快捷鍵Ctrl + \,即可同時(shí)打開多個(gè)編輯器窗口,效果如下:

          按快捷鍵「Cmd + 1 」切換到左邊的窗口,按快捷鍵「Cmd + 2 」切換到右邊的窗口。隨時(shí)隨地,想切就切。

          學(xué)會(huì)了這一招,以后抄代碼的時(shí)候,leader 再也不用擔(dān)心我抄得慢了,一天工資到手。

          4、是否顯示代碼的行號(hào)

          VS Code 默認(rèn)顯示代碼的行號(hào)。你可以在設(shè)置項(xiàng)里搜索 editor.lineNumbers修改設(shè)置,配置項(xiàng)如下:

          我建議保留這個(gè)設(shè)置項(xiàng),無需修改。

          5、右側(cè)是否顯示代碼的縮略圖

          VS Code 會(huì)在代碼的右側(cè),默認(rèn)顯示縮略圖。你可以在設(shè)置項(xiàng)里搜索 editor.minimap進(jìn)行設(shè)置,配置項(xiàng)如下:

          6、將當(dāng)前行代碼高亮顯示(更改光標(biāo)所在行的背景色)

          當(dāng)我們把光標(biāo)放在某一行時(shí),這一行的背景色并沒有發(fā)生變化。如果想高亮顯示當(dāng)前行的代碼,需要設(shè)置兩步:

          (1)在設(shè)置項(xiàng)里搜索editor.renderLineHighlight,將選項(xiàng)值設(shè)置為all或者line。

          (2)在設(shè)置項(xiàng)里增加如下內(nèi)容:

          "workbench.colorCustomizations": {
              "editor.lineHighlightBackground": "#00000090",
              "editor.lineHighlightBorder": "#ffffff30"
          }
          

          上方代碼,第一行代碼的意思是:修改光標(biāo)所在行的背景色(背景色設(shè)置為全黑,不透明度 90%);第二行代碼的意思是:修改光標(biāo)所在行的邊框色。

          7、改完代碼后立即自動(dòng)保存

          方式一

          改完代碼后,默認(rèn)不會(huì)自動(dòng)保存。你可以在設(shè)置項(xiàng)里搜索files.autoSave,修改配置項(xiàng)如下:

          上圖中,我們將配置項(xiàng)修改為onFocusChange之后,那么,當(dāng)光標(biāo)離開該文件后,這個(gè)文件就會(huì)自動(dòng)保存了。非常方便

          方式二

          當(dāng)然,你也可以直接在菜單欄選擇「文件-自動(dòng)保存」。勾選后,當(dāng)你寫完代碼后,文件會(huì)立即實(shí)時(shí)保存。

          8、保存代碼后,是否立即格式化

          保存代碼后,默認(rèn)不會(huì)立即進(jìn)行代碼的格式化。你可以在設(shè)置項(xiàng)里搜索editor.formatOnSave查看該配置項(xiàng):

          我覺得這個(gè)配置項(xiàng)保持默認(rèn)就好,不用打鉤。

          9、空格 or 制表符

          VS Code 會(huì)根據(jù)你所打開的文件來決定該使用空格還是制表。也就是說,如果你的項(xiàng)目中使用的都是制表符,那么,當(dāng)你在寫新的代碼時(shí),按下 tab 鍵后,編輯器就會(huì)識(shí)別成制表符。

          常見的設(shè)置項(xiàng)如下:

          • editor.detectIndentation:自動(dòng)檢測(cè)(默認(rèn)開啟)。截圖如下:

          • editor.insertSpaces:按 Tab 鍵時(shí)插入空格(默認(rèn))。截圖如下:

          • editor.tabSize:一個(gè)制表符默認(rèn)等于四個(gè)空格。截圖如下:

          10、新建文件后的默認(rèn)文件類型

          當(dāng)我們按下快捷鍵「Cmd + N」新建文件時(shí),VS Code 默認(rèn)無法識(shí)別這個(gè)文件到底是什么類型的,因此也就無法識(shí)別相應(yīng)的語(yǔ)法高亮。

          如果你想修改默認(rèn)的文件類型,可以在設(shè)置項(xiàng)里搜索files.defaultLanguage,設(shè)置項(xiàng)如下:

          上圖中的紅框部分,填入你期望的默認(rèn)文件類型。我填的是html類型,你也可以填寫成 javascript 或者 markdown,或者其他的語(yǔ)言類型。

          11、刪除文件時(shí),是否彈出確認(rèn)框

          當(dāng)我們?cè)?VS Code 中刪除文件時(shí),默認(rèn)會(huì)彈出確認(rèn)框。如果你想修改設(shè)置,可以在設(shè)置項(xiàng)里搜索xplorer.confirmDelete。截圖如下:

          我建議這個(gè)設(shè)置項(xiàng)保持默認(rèn)的打鉤就好,不用修改。刪除文件前的彈窗提示,也是為了安全考慮,萬一手賤不小心刪了呢?

          接下來,我們來講一些更高級(jí)的配置。

          12、文件對(duì)比

          VS Code 默認(rèn)支持對(duì)比兩個(gè)文件的內(nèi)容。選中兩個(gè)文件,然后右鍵選擇「將已選項(xiàng)進(jìn)行比較」即可,效果如下:

          VS Code 自帶的對(duì)比功能并不夠強(qiáng)大,我們可以安裝插件compareit,進(jìn)行更豐富的對(duì)比。比如說,安裝完插件compareit之后,我們可以將「當(dāng)前文件」與「剪切板」里的內(nèi)容進(jìn)行對(duì)比:

          13、查找某個(gè)函數(shù)在哪些地方被調(diào)用了

          比如我已經(jīng)在a.js文件里調(diào)用了 foo()函數(shù)。那么,如果我想知道foo()函數(shù)在其他文件中是否也被調(diào)用了,該怎么做呢?

          做法如下:在 a.js 文件里,選中foo()函數(shù)(或者將光標(biāo)放置在foo()函數(shù)上),然后按住快捷鍵「Shift + F12」,就能看到 foo()函數(shù)在哪些地方被調(diào)用了,比較實(shí)用。

          14、鼠標(biāo)操作

          • 在當(dāng)前行的位置,鼠標(biāo)三擊,可以選中當(dāng)前行。
          • 用鼠標(biāo)單擊文件的行號(hào),可以選中當(dāng)前行。
          • 在某個(gè)行號(hào)的位置,上下移動(dòng)鼠標(biāo),可以選中多行

          15、重構(gòu)

          重構(gòu)分很多種,我們來舉幾個(gè)例子。

          命名重構(gòu)

          當(dāng)我們嘗試去修改某個(gè)函數(shù)(或者變量名)時(shí),我們可以把光標(biāo)放在上面,然后按下「F2」鍵,那么,這個(gè)函數(shù)(或者變量名)出現(xiàn)的地方都會(huì)被修改。

          方法重構(gòu)

          選中某一段代碼,這個(gè)時(shí)候,代碼的左側(cè)會(huì)出現(xiàn)一個(gè)「燈泡圖標(biāo)」,點(diǎn)擊這個(gè)圖標(biāo),就可以把這段代碼提取為一個(gè)單獨(dú)的函數(shù)。

          16、在當(dāng)前文件中搜索

          在上面的快捷鍵列表中,我們已經(jīng)知道如下快捷鍵:

          • Cmd + F(Win 用戶是 Ctrl + F):在當(dāng)前文件中搜索,光標(biāo)在搜索框里
          • Cmd + G(Win 用戶是 F3):在當(dāng)前文件中搜索,光標(biāo)仍停留在編輯器里

          另外,你可能會(huì)注意到,搜索框里有很多按鈕,每個(gè)按鈕都對(duì)應(yīng)著不同的功能,如下圖所示:

          上圖中,你可以通過「Tab」鍵和「Shift + Tab」鍵在輸入框和替換框之間進(jìn)行切換。

          「在選定內(nèi)容中查找」這個(gè)功能還是比較實(shí)用的。你也可以在設(shè)置項(xiàng)里搜索 editor.find.autoFindInSelection,勾選該設(shè)置項(xiàng)后,那么,當(dāng)你選中指定內(nèi)容后,然后按住「Cmd + F」,就可以自動(dòng)只在這些內(nèi)容里進(jìn)行查找。該設(shè)置項(xiàng)如下圖所示:

          17、全局搜索

          在上面的快捷鍵列表中,我們已經(jīng)知道如下快捷鍵:

          • Cmd + Shift + F(Win 用戶是 Ctrl + Shift +F):在全局的文件夾中進(jìn)行搜索。效果如下:

          上圖中,你可以點(diǎn)擊紅框部分,展開更多的配置項(xiàng)。

          18、Git 版本管理

          VS Code 自帶了 Git 版本管理,如下圖所示:

          上圖中,我們可以在這里進(jìn)行常見的 git 命令操作。如果你還不熟悉 Git 版本管理,可以先去補(bǔ)補(bǔ)課。

          與此同時(shí),我建議安裝插件GitLens,它是 VS Code 中我最推薦的一個(gè)插件,簡(jiǎn)直是 Git 神器,碼農(nóng)必備。

          19、將工作區(qū)放大/縮小

          我們?cè)谏厦娴脑O(shè)置項(xiàng)里修改字體大小后,僅僅只是修改了代碼的字體大小。

          如果你想要縮放整個(gè)工作區(qū)(包括代碼的字體、左側(cè)導(dǎo)航欄的字體等),可以按下快捷鍵「cmd +/-」。windows 用戶是按下「ctrl +/-」

          當(dāng)我們?cè)谕队皟x上給別人演示代碼的時(shí)候,這一招十分管用

          如果你想恢復(fù)默認(rèn)的工作區(qū)大小,可以在命令面板輸入重置縮放(英文是reset zoom)

          20、創(chuàng)建多層子文件夾

          我們可以在新建文件夾的時(shí)候,如果直接輸入aa/bb/cc,比如:

          那么,就可以創(chuàng)建多層子文件夾,效果如下:

          21、.vscode 文件夾的作用

          為了統(tǒng)一團(tuán)隊(duì)的 vscode 配置,我們可以在項(xiàng)目的根目錄下建立.vscode目錄,在里面放置一些配置內(nèi)容,比如:

          • settings.json:工作空間設(shè)置、代碼格式化配置、插件配置。
          • sftp.json:ftp 文件傳輸?shù)呐渲谩?/li>

          .vscode目錄里的配置只針對(duì)當(dāng)前項(xiàng)目范圍內(nèi)生效。將.vscode提交到代碼倉(cāng)庫(kù),大家統(tǒng)一配置時(shí),會(huì)非常方便。

          22、自帶終端

          我們可以按下「Ctrl + `」打開 VS Code 自帶的終端。我認(rèn)為內(nèi)置終端并沒有那么好用,我更建議你使用第三方的終端 item2

          23、markdown 語(yǔ)法支持

          VS Code 自帶 markdown 語(yǔ)法高亮。也就是說,如果你是用 markdown 格式寫文章,則完全可以用 VS Code 進(jìn)行寫作。

          寫完 md 文件之后,你可以點(diǎn)擊右上角的按鈕進(jìn)行預(yù)覽,如下圖所示:

          我一般是安裝「Markdown Preview Github Styling」插件,以 GitHub 風(fēng)格預(yù)覽 Markdown 樣式。樣式十分簡(jiǎn)潔美觀。

          你也可以在控制面板輸入Markdown: 打開預(yù)覽,直接全屏預(yù)覽 markdown 文件。

          24、Emmet in VS Code

          Emmet可以極大的提高 html 和 css 的編寫效率,它提供了一種非常簡(jiǎn)練的語(yǔ)法規(guī)則。

          舉個(gè)例子,我們?cè)诰庉嬈髦休斎肟s寫代碼:ul>li*6 ,然后按下 Tab 鍵,即可得到如下代碼片段:

          <ul>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li></ul>

          VS Code 默認(rèn)支持 Emmet。更多 Emmet 語(yǔ)法規(guī)則,請(qǐng)自行查閱。

          25、修改字體,使用「Fira Code」字體

          這款字體很漂亮,很適合用來寫代碼:

          安裝步驟如下:

          (1)進(jìn)入 https://github.com/tonsky/FiraCode 網(wǎng)站,下載并安裝「Fira Code」字體。

          (2)打開 VS Code 的「設(shè)置」,搜索font,修改相關(guān)配置為如下內(nèi)容:

          "editor.fontFamily": "'Fira Code',Menlo, Monaco, 'Courier New', monospace", // 設(shè)置字體顯示
          "editor.fontLigatures": false,//控制是否啟用字體連字,true啟用,false不啟用
          

          上方的第二行配置,取決于個(gè)人習(xí)慣,我是直接設(shè)置為"editor.fontLigatures": null,因?yàn)槲也惶?xí)慣練字。

          26、代碼格式化:Prettier

          我們可以使用 Prettier進(jìn)行代碼格式化,會(huì)讓代碼的展示更加美觀。步驟如下:

          (1)安裝插件 Prettier。

          (2)在項(xiàng)目的根路徑下,新建文件.prettierrc,并在文件中添加如下內(nèi)容:

          {
            "printWidth": 150,
            "tabWidth": 4,
            "semi": true,
            "singleQuote": true,
            "trailingComma": "es5",
            "tslintIntegration": true,
            "insertSpaceBeforeFunctionParenthesis": false
          }
          

          上面的內(nèi)容,是我自己的配置,你可以參考。

          更多配置,可以參考官方文檔:https://prettier.io/docs/en/options.html

          27、文件傳輸:sftp

          如果你需要將本地文件通過 ftp 的形式上傳到局域網(wǎng)的服務(wù)器,可以安裝sftp這個(gè)插件,很好用。在公司會(huì)經(jīng)常用到。

          步驟如下:

          (1)安裝插件sftp。

          (2)配置 sftp.json文件。 插件安裝完成后,輸入快捷鍵「cmd+shift+P」彈出命令面板,然后輸入sftp:config,回車,當(dāng)前工程的.vscode文件夾下就會(huì)自動(dòng)生成一個(gè)sftp.json文件,我們需要在這個(gè)文件里配置的內(nèi)容可以是:

          • host:服務(wù)器的 IP 地址
          • username:用戶名
          • privateKeyPath:存放在本地的已配置好的用于登錄工作站的密鑰文件(也可以是 ppk 文件)
          • remotePath:工作站上與本地工程同步的文件夾路徑,需要和本地工程文件根目錄同名,且在使用 sftp 上傳文件之前,要手動(dòng)在工作站上 mkdir 生成這個(gè)根目錄
          • ignore:指定在使用 sftp: sync to remote 的時(shí)候忽略的文件及文件夾,注意每一行后面有逗號(hào),最后一行沒有逗號(hào)

          舉例如下:(注意,其中的注釋需要去掉)

          {
            "host": "192.168.xxx.xxx", //服務(wù)器ip
            "port": 22, //端口,sftp模式是22
            "username": "", //用戶名
            "password": "", //密碼
            "protocol": "sftp", //模式
            "agent": null,
            "privateKeyPath": null,
            "passphrase": null,
            "passive": false,
            "interactiveAuth": false,
            "remotePath": "/root/node/build/", //服務(wù)器上的文件地址
            "context": "./server/build", //本地的文件地址
          
            "uploadOnSave": true, //監(jiān)聽保存并上傳
            "syncMode": "update",
            "watcher": {
              //監(jiān)聽外部文件
              "files": false, //外部文件的絕對(duì)路徑
              "autoUpload": false,
              "autoDelete": false
            },
            "ignore": [
              //忽略項(xiàng)
              "**/.vscode/**",
              "**/.git/**",
              "**/.DS_Store"
            ]
          }
          

          (3)在 VS Code 的當(dāng)前文件里,選擇「右鍵 -> upload」,就可以將本地的代碼上傳到 指定的 ftp 服務(wù)器上(也就是在上方 host 中配置的服務(wù)器 ip)。

          我們還可以選擇「右鍵 -> Diff with Remote」,就可以將本地的代碼和 ftp 服務(wù)器上的代碼做對(duì)比。

          七、VS Code 配置云同步

          我們可以將配置云同步,這樣的話,當(dāng)我們換個(gè)電腦時(shí),即可將配置一鍵同步到本地,就不需要重新安裝插件了,也不需要重新配置軟件。

          我們還可以把配置分享其他用戶,也可以把其他用戶的配置給自己用。

          將自己本地的配置云同步到 GitHub

          (1)安裝插件 settings-sync。

          (2)安裝完插件后,在插件里使用 GitHub 賬號(hào)登錄。

          (3)登錄后在 vscode 的界面中,可以選擇一個(gè)別人的 gist;也可以忽略掉,然后創(chuàng)建一個(gè)屬于自己的 gist。

          (4)使用快捷鍵 「Command + Shift + P」,在彈出的命令框中輸入 sync,并選擇「更新/上傳配置」,這樣就可以把最新的配置上傳到 GitHub。

          換另外一個(gè)電腦時(shí),從云端同步配置到本地

          (1)當(dāng)我們換另外一臺(tái)電腦時(shí),可以先在 VS Code 中安裝 settings-sync 插件。

          (2)安裝完插件后,在插件里使用 GitHub 賬號(hào)登錄。

          (3)登錄之后,插件的界面上,會(huì)自動(dòng)出現(xiàn)之前的同步記錄:

          上圖中,我們點(diǎn)擊最新的那條記錄,就可將云端的最新配置同步到本地:

          如果你遠(yuǎn)程的配置沒有成功同步到本地,那可能是網(wǎng)絡(luò)的問題,此時(shí),可以使用快捷鍵 「Command + Shift + P」,在彈出的命令框中輸入 sync,并選擇「下載配置」,多試幾次。

          使用其他人的配置

          如果我們想使用別人的配置,首先需要對(duì)方提供給你 gist。具體步驟如下:

          (1)安裝插件 settings-sync。

          (2)使用快捷鍵 「Command + Shift + P」,在彈出的命令框中輸入 sync,并選擇「下載配置」

          (3)在彈出的界面中,選擇「Download Public Gist」,然后輸入別人分享給你的 gist。注意,這一步不需要登錄 GitHub 賬號(hào)。

          八、三頭六臂:VS Code 插件推薦

          VS Code 有一個(gè)很強(qiáng)大的功能就是支持插件擴(kuò)展,讓你的編輯器仿佛擁有了三頭六臂。

          上圖中,點(diǎn)擊紅框部分,即可在輸入框里,查找你想要的插件名,然后進(jìn)行安裝。

          我來列舉幾個(gè)常見的插件,這些插件都很實(shí)用。注意:順序越靠前,越實(shí)用

          1、GitLens 【薦】

          我強(qiáng)烈建議你安裝插件GitLens,它是 VS Code 中我最推薦的一個(gè)插件,簡(jiǎn)直是 Git 神器,碼農(nóng)必備。如果你不知道,那真是 out 了。

          GitLens 在 Git 管理上有很多強(qiáng)大的功能,比如:

          • 將光標(biāo)放置在代碼的當(dāng)前行,可以看到這樣代碼的提交者是誰,以及提交時(shí)間。這一點(diǎn),是 GitLens 最便捷的功能。
          • 查看某個(gè) commit 的代碼改動(dòng)記錄
          • 查看不同的分支
          • 可以將兩個(gè) commit 進(jìn)行代碼對(duì)比
          • 甚至可以將兩個(gè) branch 分支進(jìn)行整體的代碼對(duì)比。這一點(diǎn),簡(jiǎn)直是 GitLens 最強(qiáng)大的功能。當(dāng)我們?cè)诓煌种?review 代碼的時(shí)候,就可以用到這一招。

          2、Git History

          有些同學(xué)習(xí)慣使用編輯器中的 Git 管理工具,而不太喜歡要打開另外一個(gè) Git UI 工具的同學(xué),這一款插件滿足你查詢所有 Git 記錄的需求。

          3、Live Server 【薦】

          在本地啟動(dòng)一個(gè)服務(wù)器,代碼寫完后可以實(shí)現(xiàn)「熱更新」,實(shí)時(shí)地在網(wǎng)頁(yè)中看到運(yùn)行效果。就不需要每次都得手動(dòng)刷新頁(yè)面了。

          使用方式:安裝插件后,開始寫代碼;代碼寫完后,右鍵選擇「Open with Live Server」。

          4、Chinese (Simplified) Language Pack for Visual Studio Code

          讓軟件顯示為簡(jiǎn)體中文語(yǔ)言。

          5、Bracket Pair Colorizer 2:突出顯示成對(duì)的括號(hào)【薦】

          Bracket Pair Colorizer 2插件:以不同顏色顯示成對(duì)的括號(hào),并用連線標(biāo)注括號(hào)范圍。簡(jiǎn)稱彩虹括號(hào)

          另外,還有個(gè)Rainbow Brackets插件,也可以突出顯示成對(duì)的括號(hào)。

          6、sftp:文件傳輸 【薦】

          如果你需要將本地文件通過 ftp 的形式上傳到局域網(wǎng)的服務(wù)器,可以安裝sftp這個(gè)插件,很好用。在公司會(huì)經(jīng)常用到。

          詳細(xì)配置已經(jīng)在上面講過。

          7、open in browser

          安裝open in browser插件后,在 HTML 文件中「右鍵選擇 --> Open in Default Browser」,即可在瀏覽器中預(yù)覽網(wǎng)頁(yè)。

          8、highlight-icemode:選中相同的代碼時(shí),讓高亮顯示更加明顯【薦】

          VSCode 自帶的高亮顯示,實(shí)在是不夠顯眼。用插件支持一下吧。

          所用了這個(gè)插件之后,VS Code 自帶的高亮就可以關(guān)掉了:

          在用戶設(shè)置里添加"editor.selectionHighlight": false即可。

          參考鏈接:vscode 選中后相同內(nèi)容高亮插件推薦

          9、vscode-icons

          vscode-icons 會(huì)根據(jù)文件的后綴名來顯示不同的圖標(biāo),讓你更直觀地知道每種文件是什么類型的。

          10、Project Manager

          工作中,我們經(jīng)常會(huì)來回切換多個(gè)項(xiàng)目,每次都要找到對(duì)應(yīng)項(xiàng)目的目錄再打開,比較麻煩。Project Manager 插件可以解決這樣的煩惱,它提供了專門的視圖來展示你的項(xiàng)目,我們可以把常用的項(xiàng)目保存在這里,需要時(shí)一鍵切換,十分方便。

          11、TODO Highlight

          寫代碼過程中,突然發(fā)現(xiàn)一個(gè) Bug,但是又不想停下來手中的活,以免打斷思路,怎么辦?按照代碼規(guī)范,我們一般是在代碼中加個(gè) TODO 注釋。比如:(注意,一定要寫成大寫TODO,而不是小寫的todo)

          //TODO:這里有個(gè)bug,我一會(huì)兒再收拾你
          

          或者:

          //FIXME:我也不知道為啥, but it works only that way.
          

          安裝了插件 TODO Highlight之后,按住「Cmd + Shift + P」打開命令面板,輸入「Todohighlist」,選擇相關(guān)的命令,我們就可以看到一個(gè) todoList 的清單。

          12、WakaTime 【薦】

          統(tǒng)計(jì)在 VS Code 里寫代碼的時(shí)間。統(tǒng)計(jì)效果如下:

          13、Code Time

          Code Time插件:記錄編程時(shí)間,統(tǒng)計(jì)代碼行數(shù)。

          安裝該插件后,VS Code 底部的狀態(tài)欄右下角可以看到時(shí)間統(tǒng)計(jì)。點(diǎn)擊那個(gè)位置之后,選擇「Code Time Dashboard」,即可查看統(tǒng)計(jì)結(jié)果。

          備注:團(tuán)長(zhǎng)試了一下這個(gè) code time 查看,發(fā)現(xiàn)統(tǒng)計(jì)結(jié)果不是很準(zhǔn)。

          14、Markdown Preview Github Styling 【薦】

          以 GitHub 風(fēng)格預(yù)覽 Markdown 樣式,十分簡(jiǎn)潔優(yōu)雅。就像下面這樣,左側(cè)書寫 Markdown 文本,右側(cè)預(yù)覽 Markdown 的渲染效果:

          15、Markdown Preview Enhanced

          預(yù)覽 Markdown 樣式。

          Markdown All in One

          這個(gè)插件將幫助你更高效地在 Markdown 中編寫文檔。

          16、Settings Sync【薦】

          • 地址:https://github.com/shanalikhan/code-settings-sync
          • 作用:多臺(tái)設(shè)備之間,同步 VS Code 配置。通過登錄 GitHub 賬號(hào)來使用這個(gè)同步工具。

          同步的詳細(xì)操作已在上面講過。

          17、vscode-syncing

          • 地址:https://github.com/nonoroazoro/vscode-syncing
          • 作用:多臺(tái)設(shè)備之間,同步 VS Code 配置。

          18、Vetur

          Vue 多功能集成插件,包括:語(yǔ)法高亮,智能提示,emmet,錯(cuò)誤提示,格式化,自動(dòng)補(bǔ)全,debugger。VS Code 官方欽定 Vue 插件,Vue 開發(fā)者必備。

          19、ES7 React/Redux/GraphQL/React-Native snippets

          React/Redux/react-router 的語(yǔ)法智能提示。

          20、minapp:小程序支持

          小程序開發(fā)必備插件。

          21、Prettier:代碼格式化

          Prettier 是一個(gè)代碼格式化工具,只關(guān)注格式化,但不具備校驗(yàn)功能。在一個(gè)多人協(xié)同開發(fā)的團(tuán)隊(duì)中,統(tǒng)一的代碼編寫規(guī)范非常重要。一套規(guī)范可以讓我們編寫的代碼達(dá)到一致的風(fēng)格,提高代碼的可讀性和統(tǒng)一性。自然維護(hù)性也會(huì)有所提高。

          22、ESLint:代碼格式校驗(yàn)

          日常開發(fā)中,建議用可以用 Prettier 做代碼格式化,然后用 eslint 做校驗(yàn)。

          23、Beautify

          代碼格式化工具。

          備注:相比之下,Prettier 是當(dāng)前最流行的代碼格式化工具,比 Beautify 用得更多。

          24、JavaScript(ES6) code snippets

          ES6 語(yǔ)法智能提示,支持快速輸入。

          25、Search node_modules 【薦】

          node_modules模塊里面的文件夾和模塊實(shí)在是太多了,根本不好找。好在安裝 Search node_modules 這個(gè)插件后,輸入快捷鍵「Cmd + Shift + P」,然后輸入 node_modules,在彈出的選項(xiàng)中選擇 Search node_modules,即可搜索 node_modules 里的模塊。

          26、indent-rainbow:突出顯示代碼縮進(jìn)

          indent-rainbow插件:突出顯示代碼縮進(jìn)。

          安裝完成后,效果如下圖所示:

          27、javascript console utils:快速打印 log 日志【薦】

          安裝這個(gè)插件后,當(dāng)我們按住快捷鍵「Cmd + Shift + L」后,即可自動(dòng)出現(xiàn)日志 console.log()。簡(jiǎn)直是日志黨福音。

          當(dāng)我們選中某個(gè)變量 name,然后按住快捷鍵「Cmd + Shift + L」,即可自動(dòng)出現(xiàn)這個(gè)變量的日志 console.log(name)。

          其他的同類插件還有:Turbo Console Log。

          不過,生產(chǎn)環(huán)境的代碼,還是盡量少打日志比較好,避免出現(xiàn)一些異常。

          編程有三等境界:

          • 第三等境界是打日志,這是最簡(jiǎn)單、便捷的方式,略顯低級(jí),一般新手或資深程序員偷懶時(shí)會(huì)用。
          • 第二等境界是斷點(diǎn)調(diào)試,在前端、Java、PHP、iOS 開發(fā)時(shí)非常常用,通過斷點(diǎn)調(diào)試可以很直觀地跟蹤代碼執(zhí)行邏輯、調(diào)用棧、變量等,是非常實(shí)用的技巧。
          • 第一等境界是測(cè)試驅(qū)動(dòng)開發(fā),在寫代碼之前先寫測(cè)試。與第二等的斷點(diǎn)調(diào)試剛好相反,大部分人不是很習(xí)慣這種方式,但在國(guó)外開發(fā)者或者敏捷愛好者看來,這是最高效的開發(fā)方式,在保證代碼質(zhì)量、重構(gòu)等方面非常有幫助,是現(xiàn)代編程開發(fā)必不可少的一部分。

          28、Code Spell Checker:?jiǎn)卧~拼寫錯(cuò)誤檢查

          這個(gè)拼寫檢查程序的目標(biāo)是幫助捕獲常見的單詞拼寫錯(cuò)誤,可以檢測(cè)駝峰命名。從此告別 Chinglish.

          29、Local History 【薦】

          維護(hù)文件的本地歷史記錄,強(qiáng)烈建議安裝。代碼意外丟失時(shí),有時(shí)可以救命。

          30、Polacode-2020:生成代碼截圖 【薦】

          可以把代碼片段保存成美觀的圖片,主題不同,代碼的配色方案也不同,也也可以自定義設(shè)置圖片的邊框顏色、大小、陰影。

          尤其是在我們做 PPT 分享時(shí)需要用到代碼片段時(shí),或者需要在網(wǎng)絡(luò)上優(yōu)雅地分享代碼片段時(shí),這一招很有用。

          生成的效果如下:

          其他同類插件:CodeSnap。我們也可以通過 https://carbon.now.sh/這個(gè)網(wǎng)站生成代碼圖片

          有人可能會(huì)說:直接用 QQ 截圖不行嗎?可以是可以,但不夠美觀、不夠干凈。

          31、Image Preview 【薦】

          圖片預(yù)覽。鼠標(biāo)移動(dòng)到圖片 url 上的時(shí)候,會(huì)自動(dòng)顯示圖片的預(yù)覽和圖片尺寸。

          32、Auto Close Tag、Auto Rename Tag

          自動(dòng)閉合標(biāo)簽、自動(dòng)對(duì)標(biāo)簽重命名。

          33、Better Comments

          為注釋添加更醒目、帶分類的色彩。

          34、CSS Peek

          增強(qiáng) HTML 和 CSS 之間的關(guān)聯(lián),快速查看該元素上的 CSS 樣式。

          35、Vue CSS Peek

          CSS Peek 對(duì) Vue 沒有支持,該插件提供了對(duì) Vue 文件的支持。

          36、Color Info

          這個(gè)便捷的插件,將為你提供你在 CSS 中使用顏色的相關(guān)信息。你只需在顏色上懸停光標(biāo),就可以預(yù)覽色塊中色彩模型的(HEX、 RGB、HSL 和 CMYK)相關(guān)信息了。

          37、RemoteHub

          不要驚訝,RemoteHub 和 GitLens 是同一個(gè)作者開發(fā)出來的。

          RemoteHub插件的作用是:可以在本地查看 GitHub 網(wǎng)站上的代碼,而不需要將代碼下載到本地。

          這個(gè)插件目前使用的人還不多,趕緊安裝起來嘗嘗鮮吧。

          38、Live Share:實(shí)時(shí)編碼分享

          Live Share這個(gè)神奇的插件是由微軟官方出品,它的作用是:實(shí)時(shí)編碼分享。也就是說,它可以實(shí)現(xiàn)你和你的同伴一起寫代碼。這絕對(duì)就是結(jié)對(duì)編程的神器啊。

          安裝方式:

          打開插件管理,搜索“l(fā)ive share”,安裝。安裝后重啟 VS Code,在左側(cè)會(huì)多出一個(gè)按鈕:

          上圖中,點(diǎn)擊紅框部分,登錄后就可以分享你的工作空間了。

          39、Import Cost

          在項(xiàng)目開發(fā)過程中,我們會(huì)引入很多 npm 包,有時(shí)候可能只用到了某個(gè)包里的一個(gè)方法,卻引入了整個(gè)包,導(dǎo)致代碼體積增大很多。Import Cost插件可以在代碼中友好的提示我們,當(dāng)前引入的包會(huì)增加多少體積,這很有助于幫我們優(yōu)化代碼的體積。

          Paste JSON as Code

          此插件可以將剪貼板中的 JSON 字符串轉(zhuǎn)換成工作代碼。支持多種語(yǔ)言。

          八、常見主題插件

          給你的 VS Code 換個(gè)皮膚吧,免費(fèi)的那種。
           操作:File(文件)- Preferences(首選項(xiàng))- Color-Theme (顏色主題)

          • Dracula Theme
          • Material Theme
          • Nebula Theme
          • One Dark Pro
          • One Monokai Theme
          • Monokai Pro
          • Ayu
          • Snazzy Plus
          • Dainty
          • SynthWave '84
          • GitHub Plus Theme:白色主題
          • Horizon Theme:紅色主題

          處理網(wǎng)站項(xiàng)目時(shí),您是否曾經(jīng)對(duì)使用開發(fā)工具感到沮喪?必須在您正在處理的網(wǎng)頁(yè)和檢查器之間來回切換以查看CSS并進(jìn)行調(diào)整通常可能是一個(gè)挑戰(zhàn)。值得慶幸的是,有一個(gè)瀏覽器擴(kuò)展程序可以簡(jiǎn)化該過程:CSS Scan。在本文中,我們將看看這個(gè)令人興奮的工具如何改變您作為Web開發(fā)人員的生活,或者至少加快您的工作流程。

          易于安裝和終身許可證

          開始使用CSS Scan非常簡(jiǎn)單,因?yàn)樗且粋€(gè)瀏覽器擴(kuò)展/附加組件。無論您喜歡哪種瀏覽器,都可以在Chrome,火狐,Safari和Edge上安裝CSS Scan。由于這是高級(jí)擴(kuò)展,因此您必須先購(gòu)買許可證,但它是終身許可證,因此它是一次性購(gòu)買,然后可以同時(shí)在3個(gè)瀏覽器或設(shè)備上使用。

          考慮到所有這些以及您通過此許可證獲得的內(nèi)容,常規(guī)的一次性購(gòu)買價(jià)格為120美元,感覺是有點(diǎn)貴。但實(shí)際上CSS Scan通常以折扣價(jià)出售,因此您可以以更低的成本購(gòu)買。您甚至可以在購(gòu)買前在網(wǎng)站上試用它,以確保它像我們所說的那樣好。

          開始

          安裝擴(kuò)展程序后,您所要做的就是右鍵單擊網(wǎng)頁(yè),然后從菜單中選擇“使用CSS Scan進(jìn)行檢查”。工具欄將出現(xiàn)在窗口的右上角(如果您愿意,也可以將其移動(dòng)到底部)。

          在這里,您可以設(shè)置首選選項(xiàng),例如單擊時(shí)會(huì)發(fā)生什么,是否復(fù)制子元素或HTML代碼的CSS,在屏幕上顯示的內(nèi)容等。能夠自定義和調(diào)整您的體驗(yàn)和用法非常方便。

          準(zhǔn)備就緒后,只需將鼠標(biāo)懸停在頁(yè)面上的任何元素上即可查看其CSS。

          與瀏覽器開發(fā)工具相反,您不必滾動(dòng)瀏覽無數(shù)的CSS規(guī)則。與指定元素相關(guān)的所有內(nèi)容都會(huì)顯示出來,只需單擊一下即可輕松復(fù)制。在一個(gè)位置查看和復(fù)制所有子元素、偽類和媒體查詢!

          要就地編輯CSS,您只需點(diǎn)擊空格鍵,CSS掃描窗口就會(huì)固定到屏幕上。然后,您可以根據(jù)自己的意愿進(jìn)行編輯,就在您正在處理的頁(yè)面上。您還可以通過按住控件并單擊元素或使用向上和向下箭頭鍵來查看父元素的 CSS。

          導(dǎo)出到代碼筆

          更進(jìn)一步,您可以輕松地將元素的HTML和CSS及其所有子元素作為整個(gè)組件導(dǎo)出到Codepen。只需將鼠標(biāo)懸停在要導(dǎo)出的元素上,點(diǎn)擊空格鍵將其固定到屏幕上,然后單擊“導(dǎo)出到Codepen”按鈕。瞧!您的元素現(xiàn)在在您的Codepen帳戶中!現(xiàn)在,該元素可供您在將來的項(xiàng)目中使用或嘗試您想要的任何方式。

          你應(yīng)該使用CSS Scan嗎?

          當(dāng)然,雖然CSS Scan是付費(fèi)的,但對(duì)于您獲得的所有內(nèi)容都非常合理,它將立即更改您的工作流程,并有一個(gè)快速簡(jiǎn)便的調(diào)整期,遠(yuǎn)離開發(fā)工具。我們唯一能找到的就是能夠調(diào)整窗口大小以進(jìn)行響應(yīng)式測(cè)試。我們必須在開發(fā)工具中執(zhí)行此操作,然后從那里使用CSS Scan,這仍然有效,但似乎是一個(gè)額外的步驟。但是,CSS Scan會(huì)同時(shí)顯示和復(fù)制元素的所有相關(guān)媒體查詢,因此這比僅查看當(dāng)前窗口大小的活動(dòng)媒體查詢(如在開發(fā)工具中所做的那樣)更方便。把這歸咎于習(xí)慣于做與我們過去習(xí)慣做的事情不同的事情。

          總而言之,在嘗試CSS Scan后,我們可以自信地強(qiáng)烈推薦它!


          主站蜘蛛池模板: 国产精品亚洲一区二区无码| 国产午夜精品一区理论片| 白丝爆浆18禁一区二区三区 | 国产一区二区在线看| 日韩精品无码一区二区视频| 国产一区二区精品久久凹凸| 成人区精品人妻一区二区不卡| 国产亚洲综合精品一区二区三区 | 丰满爆乳一区二区三区| 欧美日韩国产免费一区二区三区| 亚洲一区二区在线视频| 中文字幕一区日韩在线视频| 一区二区三区波多野结衣| 好爽毛片一区二区三区四无码三飞| 日韩一区二区三区电影在线观看| 色系一区二区三区四区五区| 天堂一区二区三区在线观看| 亚洲第一区二区快射影院| 中文字幕一区视频| 无码人妻精品一区二区在线视频 | 精品久久久中文字幕一区| 久久精品无码一区二区WWW| 无码国产伦一区二区三区视频 | 色妞色视频一区二区三区四区 | 日产亚洲一区二区三区| 日本成人一区二区三区| 亚洲狠狠久久综合一区77777| 国产内射在线激情一区 | 内射白浆一区二区在线观看| 国产91精品一区二区麻豆网站 | 亚洲av鲁丝一区二区三区| 九九久久99综合一区二区| 国产婷婷色一区二区三区| 少妇无码一区二区二三区| 亚洲国产一区在线观看| 久久精品日韩一区国产二区| 波多野结衣中文一区二区免费| 合区精品久久久中文字幕一区| 好吊视频一区二区三区| 熟女精品视频一区二区三区| 成人精品一区二区户外勾搭野战|