如何使用 VS Code 開發 Vue ?

VS Code 是目前最受歡迎的前端開發環境,只要安裝合適的套件,就能在 VS Code 開發 Vue,適合前後端分離時的純前端開發。

Version


macOS High Sierra 10.14.2
VS Code 1.30.1
Vue 2.5.21
Vue CLI 3.2.2
Vetur 0.14.4
Prettier 1.7.3
ESLint 1.7.12
Copy Relative Path 0.0.2

Packages


  • Vetur
  • Prettier
  • ESLint
  • Copy Relative Path

Vetur


負責 Vue 的 LSP (Language Service Protocol) 角色,是目前支援 Vue 最完整的 LSP。

ESLint



負責 Linter 角色,Vue CLI 3 目前已經整合 ESLint,除了另外下 yarn lint 執行 ESLint 外,更可以在 VS Code 下即時警告。

Prettier



負責 Formatter 角色,當我們按下熱鍵 Ctrl + S 時,會啟動 Prettier 為我們重整 JavaScript / CSS 格式。

Copy Relative Path



在 ECMAScript 2015 中,非常依賴 import module,此 package 可以幫我們自動產生相對路徑。

.eslintrc.js



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
module.exports = {
  root: true,
  env: {
    node: true,
  },
  extends: [
    'plugin:vue/essential',
    'plugin:prettier/recommended',
    '@vue/prettier',
  ],
  rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
  },
  parserOptions: {
    parser: 'babel-eslint',
  },
};

在典型 Vue project 根目錄下,都有 .eslintrc.js,用來設定 ESLint。
第 8 行

1
'plugin:prettier/recommended',

新增此行,讓 Prettier 支援 ESLint。

.prettierrc.js



1
2
3
module.exports = {
  singleQuote: true
};

在 Vue project 根目錄新增 .prettierrc.js,用來設定 Prettier。
當字串使用 雙引號,Prettier 會自動改成 單引號

VS Code Settings



  1. 熱鍵 Ctrl + ⇧ + P,輸入 json
  2. 選擇 Preferences: Open Settings (JSON)
settings.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
"vetur.validation.template": false,
"eslint.validate": [
  {
    "language": "vue",
    "autoFix": true
  },
  {
    "language": "html",
    "autoFix": true
  },
  {
    "language": "javascript",
    "autoFix": true
  }
],
"eslint.autoFixOnSave": true,
"editor.formatOnSave": true

新增以上設定。
第 1 行

1
"vetur.validation.template": false,

關閉 Vetur 的 Linter 功能,改用 ESLint + Prettier。
第 2 行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
"eslint.validate": [
  {
    "language": "vue",
    "autoFix": true
  },
  {
    "language": "html",
    "autoFix": true
  },
  {
    "language": "javascript",
    "autoFix": true
  }
],

設定 ESLint 要檢查哪些語言:VueHTML 與 JavaScript,並寫自動修正。
16 行

1
"eslint.autoFixOnSave": true,

按熱鍵 Ctrl + S 或自動存檔時,ESLint 將自動修正。
17 行

1
"editor.formatOnSave": true

當存檔時會自動排版。

Conclusion


  • 使用 Vue CLI 建立 project 時,建議選擇 ESLint + Prettier
  • 要自動排版時,只要按 Ctrl + S 就會執行 ESLint + Prittier


留言

這個網誌中的熱門文章

vue-fontawesome

vue 和vue-touch 實現移動端左右導航效果(仿京東移動站導航)