VSCode 環境における Vue.js プロジェクトのコード整形自動化設定

エディタ拡張機能の導入と基本設定

まず、Visual Studio Code の機能拡張画面から以下のサードパーティ製プラグインを導入してください。

  • Vue 言語サポート(例:Vetur)
  • Prettier - Code formatter
  • ESLint

コード保存時に整形を実行するための動作を設定するには、ユーザー設定またはワークスペース設定ファイルである settings.json を編集します。ショートカット Ctrl + , で設定画面を開き、右上の「設定(JSON)」アイコンをクリックすると直接編集可能です。

// settings.json
{
  // 保存時の自動整形を有効化
  "editor.formatOnSave": true,
  // 各言語ごとのデフォルトフォーマッターを指定
  "[html]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[vue]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  }
}

プロジェクトへの依存パッケージ追加

チーム開発や一貫性を保つために、ローカル環境にフォーマッタ関連のパッケージをインストールする必要があります。ターミナルから以下を実行してください。

npm install --save-dev \
  eslint \
  eslint-config-prettier \
  eslint-plugin-prettier \
  prettier

Prettier コンフィグレーションの作成

プロジェクトルートに .prettierrc.json ファイルを作成し、整形ルールを定義します。既存の設定ファイルがある場合は上書きせず、マージしてください。

{
  "printWidth": 80,
  "tabWidth": 2,
  "useTabs": false,
  "semi": false,
  "singleQuote": true,
  "arrowParens": "always",
  "bracketSpacing": true,
  "endOfLine": "lf",
  "trailingComma": "es5",
  "parser": "babel"
}

主なオプション解説:

  • printWidth: 改行を行う最大文字数
  • tabWidth: インデントに使用するスペース数
  • singleQuote: 引用符としてシングルクォートを使用

ESLint 連携と競合回避

最後に、ESLint の設定ファイルを修正して Prettier と連携させます。.eslintrc.js または .eslintrc.json を確認し、以下の構成を追加または更新します。これにより、ESLint がフォーマットルールと矛盾しないよう制御されます。

module.exports = {
  extends: [
    'eslint:recommended',
    'plugin:prettier/recommended'
  ],
  plugins: ['prettier'],
  rules: {
    // Prettier ルール違反をエラーとして扱う
    'prettier/prettier': 'error'
  }
};

以上の設定完了後、ソースコードを保存した際に自動的に整形が適用されることを確認できます。

タグ: VSCode vue-js Prettier ESLint javascript

6月4日 17:03 投稿