欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在vscode中統(tǒng)一vue編碼風(fēng)格的方法

 更新時(shí)間:2018年02月22日 08:48:59   作者:樓教主  
本篇文章主要介紹了在vscode中統(tǒng)一vue編碼風(fēng)格的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

vetur 很多人知道,但在 vscode 下沒辦法格式化 .vue 里的 html, js 很是頭疼,代碼風(fēng)格無(wú)法統(tǒng)一。

所以不少人直接拆分開,然后在 .vue 中引入,雖然方法很好,但這有違 .vue 單文件組件的初衷。

本文詳細(xì)介紹 vscode 下使用 vetur + prettier + eslint 來(lái)統(tǒng)一 vue 編碼風(fēng)格。

vetur 插件

vetur 經(jīng)過(guò)多個(gè)版本迭代,算是目前 vscode 下最好用的 vue 插件了,甚至支持 ts, webpack alias 等特性。

但有幾個(gè)功能不是直接支持,需要手動(dòng)配置,而且有幾個(gè)功能需要其他插件配置后才能配合他完成。

這就有點(diǎn)麻煩了,新手同學(xué)們往往就是死在這里。

1. 配置 eslint

prettier 覆蓋 vscode 默認(rèn)格式化快捷鍵,但沒有針對(duì) eslint 配置進(jìn)行格式化,所以需要單獨(dú)配置用戶設(shè)置開啟。

找到 首選項(xiàng) -> 設(shè)置 菜單,在右側(cè) 用戶配置 中添加 "prettier.eslintIntegration": true 開啟 eslint 支持。

至此,可以對(duì) js 文件采用 eslint 規(guī)范進(jìn)行格式化了,但 .vue 文件還不行,因?yàn)樗徽J(rèn)識(shí)這是個(gè)什么東西。

在 用戶設(shè)置 中添加如下配置,以支持 .vue 文件。

"eslint.validate": [
 "javascript",
 "javascriptreact",
 {
  "language": "vue",
  "autoFix": true
 }
]

現(xiàn)在 eslint 認(rèn)識(shí) vue 了,但這只是 eslint 認(rèn)識(shí),prettier 依然不認(rèn)識(shí)這是什么東西。

所以我們要加上 "eslint.autoFixOnSave": true 配置,在保存文件時(shí),自動(dòng)fix里面的js代碼。

2. 配置 prettier

雖然 eslint 可以處理 vue 文件了,但卻跟 prettier 的格式化沖突,因?yàn)?prettier 不知道這是什么東西。

安裝了 vetur 插件后,prettier 知道 .vue 原來(lái)是一個(gè) html 格式文件的,但依然沒辦法很好的格式化。

PS:目前 vetur 不支持 prettier 的 eslint。

因?yàn)?html 包括了 html+script+style 3部分,prettier 只能采用默認(rèn)的格式化規(guī)范去格式化,不支持eslint,而且默認(rèn)也不格式化 html。

剛才開啟的 "prettier.eslintIntegration": true 只是針對(duì) .js 文件的,而不是針對(duì) .vue 文件。

所以當(dāng)你格式化 .vue 文件時(shí)候,stript 部分可能會(huì)跟你的 eslint 風(fēng)格不一致,你需要單獨(dú)配置。

例如我的eslint 規(guī)范,字符串單引號(hào),對(duì)象末尾項(xiàng)也有逗號(hào)。

// 強(qiáng)制單引號(hào)
"prettier.singleQuote": true,
// 尾隨逗號(hào)
"prettier.trailingComma": "all",

如果你是雙引號(hào),而且不加末尾逗號(hào)的,就不必配置了。

或者你覺得無(wú)傷大雅,也不用配置這個(gè),反正保存時(shí) eslint 自動(dòng)fix了。

3. 配置 vetur 對(duì) html 的格式化

因?yàn)?vetur 就是把 .vue 中的 html+script+style 3部分拆分,然后交給對(duì)應(yīng)的語(yǔ)言處理器去處理。

例如:

html 可以是 html,也可以是 pug, jade 等。

script 可以是 es5, es6, ts, coffee。

style 可以是 css, less, sass, postcss 等。

除了 html 部分,其他都默認(rèn)采用 prettier 格式化。

如果需要 html 的格式化,則需手動(dòng)配置。

// 使用 js-beautify-html 插件格式化 html
"vetur.format.defaultFormatter.html": "js-beautify-html",
// 格式化插件的配置
"vetur.format.defaultFormatterOptions": {
 "js-beautify-html": {
  // 屬性強(qiáng)制折行對(duì)齊
  "wrap_attributes": "force-aligned",
 }
}

完成收工

至此,配置完成,完整配置如下:

{
 // 強(qiáng)制單引號(hào)
 "prettier.singleQuote": true,
 // 盡可能控制尾隨逗號(hào)的打印
 "prettier.trailingComma": "all",
 // 開啟 eslint 支持
 "prettier.eslintIntegration": true,
 // 保存時(shí)自動(dòng)fix
 "eslint.autoFixOnSave": true,
 // 添加 vue 支持
 "eslint.validate": [
  "javascript",
  "javascriptreact",
  {
   "language": "vue",
   "autoFix": true
  }
 ],
 // 使用插件格式化 html
 "vetur.format.defaultFormatter.html": "js-beautify-html",
 // 格式化插件的配置
 "vetur.format.defaultFormatterOptions": {
  "js-beautify-html": {
   // 屬性強(qiáng)制折行對(duì)齊
   "wrap_attributes": "force-aligned",
  }
 }
}

現(xiàn)在你可以在 .vue 中格式化 html+js+css 了。

但 js 部分格式化不是根據(jù) eslint 格式化的,上面有解釋。

js 部分只能采用 prettier 默認(rèn)格式,然后保存的時(shí)候自動(dòng) fix,來(lái)達(dá)到 prettier+eslint 的效果。

如果需要詳細(xì)配置,可以訪問(wèn) vetur 官方文檔 https://vuejs.github.io/vetur

小結(jié)

主要解決了 prettier 不格式化 .vue 內(nèi)的 js 問(wèn)題,以及 prettier 格式化時(shí)跟 eslint 自動(dòng) fix 風(fēng)格沖突問(wèn)題。

當(dāng)然,prettier格式化 和 eslint的fix 有本質(zhì)區(qū)別,但 prettier + 自動(dòng)fix,就完美了。

對(duì)于 .js 來(lái)說(shuō),prettier 開啟 eslint 支持,直接完美。

但 .vue 只能這樣配置了,因?yàn)槟壳?vetur 也沒支持,官網(wǎng)只給了這個(gè)解決方案。

或許之后就支持了呢。

其他插件推薦

  1. Auto Close Tag
  2. Auto Rename Tag
  3. Bracket Pair Colorizer
  4. Code Runner
  5. Document This
  6. EditorConfig
  7. ESLint
  8. gitignore
  9. GitLens
  10. Guides
  11. Import Cost
  12. npm intellisense
  13. Path Autocomplete
  14. Prettier
  15. Settings Sync
  16. TODO Highlight
  17. Vetur
  18. vscode-icons

我就不一一解釋了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vuex中store的action和mutations用法

    vuex中store的action和mutations用法

    這篇文章主要介紹了vuex中store的action和mutations用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 關(guān)于Vite項(xiàng)目打包后瀏覽器兼容性問(wèn)題的解決方案

    關(guān)于Vite項(xiàng)目打包后瀏覽器兼容性問(wèn)題的解決方案

    本文主要介紹了關(guān)于Vite項(xiàng)目打包后瀏覽器兼容性問(wèn)題的解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • vue+elementUI-el-table實(shí)現(xiàn)動(dòng)態(tài)顯示隱藏列方式

    vue+elementUI-el-table實(shí)現(xiàn)動(dòng)態(tài)顯示隱藏列方式

    這篇文章主要介紹了vue+elementUI-el-table實(shí)現(xiàn)動(dòng)態(tài)顯示隱藏列方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • vue使用rem實(shí)現(xiàn) 移動(dòng)端屏幕適配

    vue使用rem實(shí)現(xiàn) 移動(dòng)端屏幕適配

    這篇文章主要介紹了vue使用rem實(shí)現(xiàn) 移動(dòng)端屏幕適配的相關(guān)知識(shí),通過(guò)實(shí)例代碼介紹了vue用rem布局的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2018-09-09
  • Vue 重置組件到初始狀態(tài)的方法示例

    Vue 重置組件到初始狀態(tài)的方法示例

    這篇文章主要介紹了Vue 重置組件到初始狀態(tài)的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • 詳解vue-meta如何讓你更優(yōu)雅的管理頭部標(biāo)簽

    詳解vue-meta如何讓你更優(yōu)雅的管理頭部標(biāo)簽

    這篇文章主要介紹了詳解vue-meta如何讓你更優(yōu)雅的管理頭部標(biāo)簽,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • VSCode使用之Vue工程配置eslint

    VSCode使用之Vue工程配置eslint

    這篇文章主要介紹了VSCode使用之Vue工程配置eslint,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-04-04
  • vue祖孫組件之間的數(shù)據(jù)傳遞案例

    vue祖孫組件之間的數(shù)據(jù)傳遞案例

    這篇文章主要介紹了vue祖孫組件之間的數(shù)據(jù)傳遞案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • vue-treeselect無(wú)法點(diǎn)擊問(wèn)題(點(diǎn)擊無(wú)法出現(xiàn)拉下菜單)

    vue-treeselect無(wú)法點(diǎn)擊問(wèn)題(點(diǎn)擊無(wú)法出現(xiàn)拉下菜單)

    這篇文章主要介紹了vue-treeselect無(wú)法點(diǎn)擊問(wèn)題(點(diǎn)擊無(wú)法出現(xiàn)拉下菜單),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue3中的ref與reactive使用方法對(duì)比

    vue3中的ref與reactive使用方法對(duì)比

    Vue3 提供了兩個(gè)新的 API:ref 和 reactive,它們可以幫助我們更好地管理和處理響應(yīng)式數(shù)據(jù),這篇文章主要介紹了vue3中的ref與reactive的區(qū)別和使用方法,需要的朋友可以參考下
    2023-04-04

最新評(píng)論