精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一個案例學會 VSCode Snippets,極大提高開發效率

開發 開發工具
snippets 是片段的意思,VSCode 支持自定義 snippets,寫代碼的時候可以基于它快速完成一段代碼的編寫。

snippets 是片段的意思,VSCode 支持自定義 snippets,寫代碼的時候可以基于它快速完成一段代碼的編寫。

不只是 VSCode,基本所有的主流編輯器都支持 snipeets。

一個功能被這么多編輯器都支持,那肯定是很有用的,但是這功能大多數人都沒用起來。

我之前寫過一篇 snippets 的文章,講了 snippets 支持的各種語法和配置方式,但是并沒有用這些來做一個真實的案例。

所以,這篇文章就來講一個真實的 snippets,基本用到了所有的 snippets 語法。能獨立把它寫出來,就可以說 snippets 已經掌握了。

我們還是先回顧下 VSCode 的 snippets 語法

snippets 基礎

snippets 是這樣的 json 格式:

  1.     "alpha": { 
  2.         "prefix": ["a""z"], 
  3.         "body": [ 
  4.             "abcdefghijklmnopqrstuvwxyz" 
  5.         ], 
  6.         "description""字母"
  7.         "scope""javascript" 
  8.     } 
  • prefix 是觸發的前綴,可以指定多個
  • body 是插入到編輯器中的內容,支持很多語法
  • description 是描述
  • scope 是生效的語言,不指定的話就是所有語言都生效

body 部分就是待插入的代碼,支持很多語法,也是一種 DSL(領域特定語言)。

支持通過1、2 指定光標位置:

  1. "$1  xxxx"
  2. "yyyy $2" 

可以多光標同時編輯:

  1. "$1  xxxx $1" 

可以加上 placeholader,也可以做默認值:

  1. "${1:aaa}  xxxx"
  2. "yyyy ${2:bbb}" 

可以提供多個值來選擇:

  1. "${1|卡頌,神光,yck|}最帥"             

還提供了一些變量可以取:

  1. "當前文件: $TM_FILENAME"
  2. "當前日期: $CURRENT_YEAR/$CURRENT_MONTH/$CURRENT_DATE" 

而且還能對變量做正則替換:

  1. "${TM_FILENAME/(.*)\\.[a-z]+/${1:/upcase}/i}" 

基本語法過了一遍,大家知道支持啥就行,后面我們來做個真實的案例,把這些用一遍就會了。

通過 command + shift + p,輸入 snippets 然后選擇一種范圍:

snippets 有 project、global、language 3 種生效范圍。我個人寫 global 級別的比較多,項目和語言級別的也可以。

基礎過完了,接下來我們就來寫一個 snippets 吧。

實戰案例

我最近在做 vue 的項目,寫 router-link 比較多,所以封裝了個 router-link 代碼的 snippets。

我們先寫個最簡單的版本:

  1.     "routerLink": { 
  2.         "prefix""link"
  3.         "body": [ 
  4.             "<router-link to={ name:'xxx', params: {id: 1} } target='_blank'>link</router-link>" 
  5.         ], 
  6.         "description""router-link 跳轉" 
  7.     } 

這個沒啥好說的,就是根據前綴補全內容:

然后在 name、id、鏈接文字處加三個光標,也就是1、2、$3:

  1.     "routerLink": { 
  2.         "prefix""link"
  3.         "body": [ 
  4.             "<router-link to={ name: $1, params: {id: $2} } target='_blank'>$3</router-link>" 
  5.         ], 
  6.         "description""router-link 跳轉" 
  7.     } 

可以按 tab 鍵快速編輯其中變化的部分:

然后加上 placeholder:

  1.     "routerLink": { 
  2.         "prefix""link"
  3.         "body": [ 
  4.             "<router-link to={ name: '${1:RouteName}', params: {id: ${2:id}} } target='_blank'>${3:link}</router-link>" 
  5.         ], 
  6.         "description""router-link 跳轉" 
  7.     } 

其實 target 部分也是可選的,這里我們用多選來做:

選項有兩個,就是 target="_blank" 或者空格。

  1. ${3| ,target=\"_blank\"|} 

所以 snippets 就變成了這樣:

  1.     "routerLink": { 
  2.         "prefix""link"
  3.         "body": [ 
  4.             "<router-link to={ name: '${1:RouteName}', params: {id: ${2:id}} } ${3| ,target=\"_blank\"|}>${4:link}</router-link>" 
  5.         ], 
  6.         "description""router-link 跳轉" 
  7.     } 

跳轉地址大多數是和當前文件名有關,比如 XxxYyyZzzList 跳轉 XxxYyyZzzDetail 的比較多。

所以我們默認值取當前文件名,用 TM_FILENAME 變量(所有可用變量可以在 vscode 官網查):

  1. ${1:$TM_FILENAME} 

現在的 snippets:

  1.     "routerLink": { 
  2.         "prefix""link"
  3.         "body": [ 
  4.             "<router-link to={ name: '${1:$TM_FILENAME}', params: {id: ${2:id}} } ${3| ,target=\"_blank\"|}>${4:link}</router-link>" 
  5.         ], 
  6.         "description""router-link 跳轉" 
  7.     } 

效果是這樣:

確實把文件名填上去了,但是還要手動改,能不能填上去的就是改了之后的呢?

可以,變量支持做 transform,也就是正則替換:

XxxList.vue 要取出 Xxx 來,然后拼上 Detail,這樣的正則不難寫:

用 js 寫是這樣的:

  1. 'XxxList.vue'.replace(/(.*)List\.vue/,'$1Detail'

在 snippets 里也差不多,只不過用 / 分開:

  1. ${TM_FILENAME/(.*)List\\.vue/$1Detail/i 

所以 snippets 就變成了這樣:

  1.     "routerLink": { 
  2.         "prefix""link"
  3.         "body": [ 
  4.             "<router-link to={ name: '${1:${TM_FILENAME/(.*)List\\.vue/$1Detail/i}}', params: {id: ${2:id}} } ${3| ,target=\"_blank\"|}>${4:link}</router-link>" 
  5.         ], 
  6.         "description""router-link 跳轉" 
  7.     } 

填入的代碼都是替換好了的:

鏈接的內容我們希望用選中的內容,這個也有變量,就是 TM_SELECTED_TEXT。

最后,我們希望 router-link 這個標簽也可以變,而且改的時候開閉標簽可以一起改。

這個要用多光標編輯,指定多個 $x 為同一個數字就行。

  1. <${5:router-link}></${5:router-link}> 

效果就是這樣的:

這就是最終的 snippets,所有 snippets 語法都用了一遍。

完整 snippets 如下,大家可以在 VSCode 里用用看,用起來體驗還是很爽的:

  1.     "routerLink": { 
  2.         "prefix""link"
  3.         "body": [ 
  4.             "<${5:router-link} to={ name: '${1:${TM_FILENAME/(.*)List\\.vue/$1Detail/i}}', params: {id: ${2:id}} } ${3| ,target=\"_blank\"|}>${4:$TM_SELECTED_TEXT}</${5:router-link}>" 
  5.         ], 
  6.         "description""router-link 跳轉" 
  7.     } 

總結

基本所有主流編輯器都支持 snippets,也就是配置代碼片段來提高開發效率,VSCode 也不例外,這是一個很有用的功能。

VSCode snippets 支持 global、project、language 3 種生效范圍。我個人用全局的比較多。

它也算是一種 DSL 了,支持很多語法,比如指定光標位置、多光標編輯、placeholder、多選值、變量、對變量做轉換等語法。

  • 指定光標位置:$x
  • 多光標編輯:$x $x
  • 指定 placeholder 文本:${x:placeholder}
  • 指定多選值:${x|aaa,bbb,ccc|}
  • 取變量:$VariableName
  • 對變量做轉換:${VariableName/正則/替換的文本/i}

我們寫了一個 router-link 的 snippets,綜合運用了這些語法,過一遍就會了。

能自己定義適合自己的 snippets,對于提高開發效率是很有幫助的。如果沒寫過,不妨從今天開始試一下吧。

 

責任編輯:武曉燕 來源: 神光的編程秘籍
相關推薦

2023-09-07 10:21:03

VS Code 技巧提高開發效率

2021-09-09 14:34:18

Vscode snippets 項目

2023-11-22 08:26:03

HutoolJava工具集

2023-07-14 10:54:00

Linux命令

2011-03-31 11:15:52

網頁設計Web

2024-03-17 20:01:51

2010-02-26 11:05:04

Linux Mono

2022-09-07 10:30:34

JSON工具

2023-07-13 12:21:18

2020-10-05 21:21:35

命令開發cherry-pick

2023-05-26 00:06:05

2019-10-15 09:05:07

域插槽組件前端

2023-04-26 01:25:05

案例故障模型

2022-02-09 08:49:37

架構

2021-06-03 09:11:57

UIFigma插件

2022-10-29 08:55:19

頁面react

2011-03-04 10:07:34

Win7SQL Server連接

2022-09-05 14:17:48

Javascript技巧

2015-12-15 09:50:12

Linux開發效率工具

2020-12-07 06:26:32

模式交付工作
點贊
收藏

51CTO技術棧公眾號

波多野结衣中文一区| 蜜桃tv一区二区三区| 又紧又大又爽精品一区二区| 91免费国产网站| 精品视频久久久久| 国产精品香蕉| 欧美中文字幕一二三区视频| 国产美女视频免费| 欧美性猛交 xxxx| 老色鬼久久亚洲一区二区| 亚洲男人av电影| 日韩成人精品视频在线观看| 黄色污污视频在线观看| 91在线porny国产在线看| 国产日韩中文字幕在线| 久草精品视频在线观看| 99久久精品网| 精品无码久久久久久国产| 亚洲娇小娇小娇小| 97人澡人人添人人爽欧美| 国产精品久久久久久久久搜平片 | 337p日本欧洲亚洲大胆色噜噜| 国产精品99久久免费黑人人妻| 久cao在线| xfplay精品久久| 亚洲aⅴ男人的天堂在线观看 | 中国1级黄色片| 国内毛片久久| 欧美一三区三区四区免费在线看| 两根大肉大捧一进一出好爽视频| 超碰在线caoporn| 久久精品一区八戒影视| 国产视频一区二区三区四区| 亚洲中文字幕一区二区| 噜噜噜躁狠狠躁狠狠精品视频| 美日韩精品视频免费看| 久久日免费视频| 亚洲免费专区| 日韩黄色av网站| 99热超碰在线| 亚洲国产中文在线| 91精品婷婷国产综合久久性色| 日本黄色三级大片| 国产精品vvv| 夜夜精品视频一区二区 | 成人综合国产精品| 久久精品99北条麻妃| 亚洲国产精品久久久久久久| 男人久久天堂| 一区二区在线免费观看| 在线视频不卡国产| 国产高清一级毛片在线不卡| 久久影院午夜片一区| 国产精品免费一区二区| 亚洲AV无码精品色毛片浪潮| 国产在线精品一区二区不卡了| 国产精品视频网| 久久久久久亚洲av无码专区| 欧美一级二区| 日本亚洲欧洲色α| 亚洲免费黄色网址| 亚洲一区一卡| 欧美中文字幕在线视频| 久久99精品波多结衣一区| 亚洲人成高清| 538国产精品一区二区免费视频 | 国产脚交av在线一区二区| 国产精品自拍99| 天堂一区二区在线| 国产精品久久久久久久av电影| 91麻豆精品在线| 精品一区二区在线免费观看| 亚洲free性xxxx护士hd| 亚洲国产精品久久久久久6q| k8久久久一区二区三区 | 国产精品久久久久久久7电影| 中文字幕在线欧美| 日本不卡在线视频| 成人国产在线视频| www.爱爱.com| 波多野结衣在线一区| 免费亚洲一区二区| fc2在线中文字幕| 亚洲品质自拍视频| 美女黄色免费看| 欧美专区福利免费| 欧美日韩国产高清一区| 无码人妻一区二区三区免费n鬼沢| 风间由美一区二区av101 | 91在线免费视频| 丰满少妇一级片| 久久久久久电影| 中文字幕中文字幕一区三区| 欧美卡一卡二| 91国偷自产一区二区三区观看| 波多野结衣国产精品| а√中文在线天堂精品| 国产一区二区三区欧美| 欧美精品一区二区蜜桃| 久久av最新网址| 亚洲va久久久噜噜噜| 亚洲 另类 春色 国产| 国产精品女人毛片| 草草视频在线免费观看| 欧美不卡高清一区二区三区| 精品少妇一区二区三区日产乱码| 舐め犯し波多野结衣在线观看| 91tv官网精品成人亚洲| 热久久免费视频精品| 国产片在线播放| www国产成人| 日韩成人午夜影院| 日韩经典一区| 亚洲第一在线视频| 国精产品一区一区二区三区mba| 日韩五码在线| 51精品国产人成在线观看| 国产在线观看网站| 亚洲国产成人av好男人在线观看| 在线免费视频一区| 丝袜久久网站| 久久久久五月天| 国产又粗又猛视频| 久久精品免费在线观看| 国产青青在线视频| 1313精品午夜理伦电影| 中文在线资源观看视频网站免费不卡| 亚洲国产精品午夜在线观看| 国产麻豆日韩欧美久久| 色综合久久久久久久久五月| 女人高潮被爽到呻吟在线观看| 欧美一级久久久久久久大片| 天天舔天天操天天干| 国产精品综合色区在线观看| www.成人av| caoporn免费在线视频| 欧美亚洲综合另类| 中文字幕一区二区三区人妻电影| 99精品国产一区二区青青牛奶| 999热视频| 久操视频在线观看| 51精品秘密在线观看| 特级西西人体高清大胆| 日本中文在线一区| 日韩电影大全在线观看| 欧美日韩美女| 亚洲网站在线看| 天天射天天干天天| 久久久久久99久久久精品网站| 国产男女在线观看| 美女福利一区| 欧美一级大胆视频| 五月婷婷六月丁香综合| 午夜不卡av免费| 特级西西人体4444xxxx| 国产偷自视频区视频一区二区| 精品国产乱码久久久久久蜜柚 | 亚洲成人av一区二区| 国产亚洲精品成人a| 欧美日本一区二区视频在线观看| 91九色露脸| 午夜在线激情影院| 亚洲精品v天堂中文字幕| 五月婷婷激情网| 久久综合色综合88| 色婷婷综合久久久久中文字幕| 欧美先锋资源| 国产女精品视频网站免费| 黄av在线播放| 精品91自产拍在线观看一区| 黄色一级片免费看| 国产欧美一区二区三区网站| 午夜精品中文字幕| 亚洲人metart人体| www.成人三级视频| www.成人爱| 最近2019免费中文字幕视频三| 国产女人高潮时对白| 亚洲五月六月丁香激情| 亚洲av网址在线| 青青国产91久久久久久| 热久久最新网址| 婷婷五月色综合香五月| 国产精品伦子伦免费视频| 成人在线免费看黄| 亚洲精品一区二区三区蜜桃下载| 区一区二在线观看| 中文字幕欧美一| 制服丝袜第一页在线观看| 日日夜夜一区二区| 300部国产真实乱| 秋霞在线一区| 成人久久久久爱| 女人高潮被爽到呻吟在线观看| 在线观看视频亚洲| 成人免费观看在线视频| 色狠狠色噜噜噜综合网| 黄色一级视频在线观看| 国产农村妇女毛片精品久久麻豆| 国产又黄又嫩又滑又白| 首页综合国产亚洲丝袜| a级片一区二区| 国产乱码精品一区二区亚洲 | 一区二区三区不卡在线观看| 久久精品国产亚洲AV熟女| 国产在线精品一区二区夜色| 欧美牲交a欧美牲交aⅴ免费真| 66视频精品| 欧美日韩大片一区二区三区| 69精品国产久热在线观看| 国产精品久久久久久久久久久久久久 | 成人午夜电影久久影院| 另类小说第一页| 日韩视频不卡| 激情六月天婷婷| 波多野结衣在线观看一区二区| 久久国产精品久久精品国产| 人人爱人人干婷婷丁香亚洲| 国产精品视频公开费视频| 欧美sm一区| 97国产suv精品一区二区62| 麻豆视频免费在线观看| 亚洲午夜精品久久久久久性色 | 成人不卡免费av| 中文字幕亚洲影院| 秋霞国产午夜精品免费视频| 人妻精品无码一区二区三区| 国产精品啊啊啊| 强伦女教师2:伦理在线观看| 欧美色网址大全| 欧美精品亚洲精品| 老牛精品亚洲成av人片| 99高清视频有精品视频| 91麻豆精品一二三区在线| 国产精品美女主播在线观看纯欲| 欧美一区国产| 国产精品扒开腿做爽爽爽男男| 天堂av中文在线观看| 97视频在线播放| √天堂8资源中文在线| 欧美放荡办公室videos4k| 成人免费观看视频大全| 日韩中文字幕亚洲| 求av网址在线观看| 日韩综合中文字幕| 青青青青在线| 久久精品最新地址| 国产黄色小视频在线| 久久精品成人动漫| 麻豆av在线导航| 久久天堂电影网| caoporn97在线视频| 欧美第一黄色网| 黄色在线观看视频网站| 国精产品一区一区三区有限在线| 丁香花在线电影小说观看| 久久久亚洲精选| 嗯~啊~轻一点视频日本在线观看| 性欧美在线看片a免费观看| av在线最新| 欧美专区在线观看| 精品成人免费一区二区在线播放| 国产精品视频色| 国产一区二区高清在线| 成人xxxxx色| 日本欧美高清| 奇米影视首页 狠狠色丁香婷婷久久综合 | 欧美一级片免费看| 性做久久久久久久久久| 亚洲精品成人久久电影| 精品影院一区| 国产福利小视频在线| 99久久国产综合精品麻豆| 日本少妇毛茸茸| 久久欧美一区二区| 国产不卡在线观看视频| 亚洲女同ⅹxx女同tv| 久久久久亚洲天堂| 精品久久久久久亚洲国产300| 久久亚洲精品石原莉奈| 欧美人狂配大交3d怪物一区 | 日韩精品一区国产麻豆| 熟妇人妻一区二区三区四区| 亚洲人精品午夜在线观看| 日日夜夜精品一区| 欧美高清视频免费观看| 345成人影院| 成人夜晚看av| 农村少妇一区二区三区四区五区| 日韩欧美精品在线不卡| 亚洲综合色站| 国产精品第12页| 国产乱码精品1区2区3区| 自拍视频一区二区| 中文字幕在线不卡一区| 国产在线精品观看| 欧美日韩综合在线| 欧美视频在线观看一区二区三区| 亚洲色图13p| 免费污视频在线观看| 国产成人亚洲综合青青| 日本在线成人| 色涩成人影视在线播放| 亚洲国产一区二区三区a毛片 | 久久精品视频1| 欧美精品一二三| 色哟哟在线观看| 久久91亚洲人成电影网站| av电影一区| 国产精品久久久久久久免费大片| 色婷婷综合网| 欧美日韩在线中文| 国产91精品精华液一区二区三区| 亚洲精品成人av久久| 精品久久久久久亚洲精品| 国产99对白在线播放| 一区二区三区动漫| 波多野一区二区| 91嫩草视频在线观看| 色琪琪久久se色| av五月天在线| 99视频在线精品| 久久精品免费在线| 欧美理论片在线| 国产系列电影在线播放网址| 国产69精品久久久久99| 欧美视频二区欧美影视| 亚洲一区二区三区精品在线观看| 久久久成人网| 中国黄色a级片| 五月婷婷欧美视频| www.桃色av嫩草.com| 久久久国产影院| 欧美日韩破处视频| 台湾成人av| 日韩影院免费视频| 日韩人妻一区二区三区| 欧美日韩免费在线观看| 欧洲av在线播放| 久久久久久久久亚洲| 国产成人免费av一区二区午夜| 亚洲国产午夜伦理片大全在线观看网站 | 国产精品初高中害羞小美女文| 久久久999久久久| 亚洲午夜精品久久久久久性色 | 欧美美女性生活视频| 欧美性猛交一区二区三区精品| 国产亚洲依依| 国产精品免费视频久久久| 成人激情开心网| 欧美第一页浮力影院| 国产精品精品国产色婷婷| 亚洲图片中文字幕| 久久精品亚洲国产| 国产精品日本一区二区不卡视频 | 日韩精品一区二区三区在线 | 99国内精品久久久久久久| 中文字幕永久有效| 亚洲特黄一级片| 国产成人免费看一级大黄| 欧美丰满少妇xxxxx| 伊人精品久久| 热99这里只有精品| 91丨九色丨尤物| 日韩av免费播放| www.久久久久| 6080亚洲理论片在线观看| 波多野结衣综合网| 久久在线观看免费| 伊人久久亚洲综合| 久久艳片www.17c.com| 精品久久免费| 欧美精品自拍视频| 久久久久久久网| 91国产免费视频| 九九热精品视频在线播放| 精品精品国产三级a∨在线| 玩弄japan白嫩少妇hd| 中文字幕一区二区三| 精品久久久久成人码免费动漫| 韩国福利视频一区| 精品视频99| 久久精品一二三四| 精品日韩美女的视频高清| 91露出在线| 国产精品久久久久久久小唯西川 | aaaaa黄色片| 欧美体内谢she精2性欧美| 天天影视久久综合| 国产精品初高中精品久久| 日韩经典一区二区| wwwav国产| 亚洲免费影视第一页| 国产精品va视频| 日韩av资源在线| 亚洲人成亚洲人成在线观看图片| 婷婷色在线视频| 91精品中国老女人| 香蕉久久国产| 免费中文字幕在线|