稍加總結就不難看出,這些問題都能經過一些代碼片斷去解決javascript
問題又來了:如何在項目中共享自定義的代碼片斷?
java
編輯器以VS Code
爲例,引入自定義代碼片斷的常見方案有以下幾種:node
當前項目
目前最適合當前場景的方案2-2
typescript
.vscode
文件夾.code-snippets
結尾的文件如:
如何編寫?npm
first.code-snippetsmarkdown
{ "Print to console": { // 代碼片斷名稱 "scope": "javascript,typescript", // 生效的語言 // (在文件中敲入prefix便可生成body中的內容) "prefix": "lg", // 片斷縮寫 "body": [ // string[] 片斷的完整內容,每一個string表明一行 "console.log('$1');", "$2" ], // 在文件中輸入完prefix時候,彈出此內容 "description": "Log output to console" } } 複製代碼
保存後就能夠在工做區生效編輯器
$1
,$2
,$3
Tab
切換$0
用於設置光標最終的位置${1|op1,op2|}
${1:default}
使用 {name:default} 能夠插入變量的值。若是未設置變量,則會插入其默認值或空字符串。當變量未知(未定義其名稱)時,會將插入的變量名稱轉換爲佔位符。oop
VS Code內置了許多變量這裏就不贅述了,post
經過在VS Code中建立.vscode
文件夾寫入x.code-snippets
配置文件便可實現自定義代碼塊的共享
侷限
.vscode
目錄生效深度只能爲1.vscode
目錄中部分庫(組件/方法/語言)等提供了Snippets插件,但還有一些庫沒有提供,想把本身的代碼塊共享給其它人,開發插件的學習成本較高
有沒有一種辦法可以:
個人設想:
Snippets文件以npm包的形式發佈到npm倉庫,本地經過一個VS Code插件自動掃描node_modules中的代碼片斷文件,而後使其在編輯器中生效
接下來去調研看看是否有現成的這種插件,沒有的話本身搞個23333
參考文章: