Interactive

VSCode

リポジトリに設定ファイルを配置することで、ClaudeCodeは統一されたVSCode環境設定を自動生成できます。弊社では.vscode/settings.jsonにチーム共通の設定を配置し、開発環境の一貫性を保っています。

弊社の推奨ルール

  • プロジェクトごとに.vscode/settings.jsonを配置する
  • 言語別の設定は括弧記法で明確に分離する
  • 不要なファイルは検索とExplorerから除外する
  • 自動生成ファイルは読み取り専用にする
  • TypeScriptの自動インポートを最適化する

ClaudeCodeでの利用

VSCode設定の生成

プロジェクトに適した設定ファイルを生成する場合

「このプロジェクト用の.vscode/settings.jsonを作成して」

Formatter設定の追加

言語別のフォーマッター設定を追加する場合

「BiomeをTypeScriptのフォーマッターとして設定して」

除外設定の最適化

不要なファイルを適切に除外する設定を追加する場合

「node_modulesとビルドファイルをExplorerから除外する設定を追加」

言語ごとに設定を適用する

括弧記法を使用して、特定の言語にのみ設定を適用できます。TypeScriptとTypeScript Reactに対してBiomeを設定する例です。

{
  "[typescript][typescriptreact]": {
    "editor.formatOnSave": true,
    "editor.codeActionsOnSave": {
      "source.fixAll.biome": "explicit"
    }
  }
}

tsxファイルにはtypescriptreactを使用します。これにより、JavaScript系のファイルのみにリンターを適用できます。

ファイルの表示制御

Explorerから除外する

ビルド成果物やログファイルなど、編集不要なファイルをExplorerから非表示にします。

{
  "files.exclude": {
    "**/node_modules": true,
    "*.lock": true,
    "*.log": true,
    "*.tsbuildinfo": true,
    ".firebase": true,
    "bun.lock": true
  }
}

gitignoreに追加してもディレクトリは灰色表示されるだけなので、完全に非表示にしたい場合はこの設定を使用します。

検索から除外する

大きなファイルや自動生成ファイルを検索対象から除外します。

{
  "search.exclude": {
    "yarn.lock": true,
    "package-lock.json": true,
    "**/dist": true,
    "**/build": true
  }
}

特にlockファイルは巨大で検索結果を汚染するため、必ず除外します。

自動生成ファイルの保護

読み取り専用にする

自動生成されるファイルを誤って編集しないよう、読み取り専用に設定します。

{
  "files.readonlyInclude": {
    "**/route-tree.gen.ts": true,
    "**/graphql-env.d.ts": true,
    "**/*.generated.ts": true
  }
}

TanStack RouterやGraphQL Code Generatorなどのツールが生成するファイルを保護できます。

ファイル監視から除外する

頻繁に更新される自動生成ファイルを監視対象から除外し、パフォーマンスを改善します。

{
  "files.watcherExclude": {
    "**/route-tree.gen.ts": true,
    "**/generated/**": true,
    "**/.git/objects/**": true,
    "**/node_modules/**": true
  }
}

TypeScript設定

自動インポートの除外

不要なライブラリからの自動インポートを防ぎます。

{
  "typescript.preferences.autoImportFileExcludePatterns": [
    "radix-ui",
    "react-day-picker",
    "@radix-ui/react-icons"
  ]
}

例えばButtonと入力した時に、使用したくないライブラリからのインポートを提案されないようにします。

インポートパスの設定

相対パスではなく絶対パスでインポートするよう設定します。

{
  "typescript.preferences.importModuleSpecifier": "non-relative"
}

この設定にはtsconfig.jsonでのパス設定が必要です。

{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"]
    }
  }
}

TypeScriptバージョンの指定

プロジェクトローカルのTypeScriptを使用するよう設定します。

{
  "typescript.tsdk": "node_modules/typescript/lib"
}

グローバルのTypeScriptバージョンと異なる場合でも、プロジェクトの設定に従った型チェックが行われます。

ファイル関連付けの設定

特定の拡張子に対して適切な言語モードを設定します。

{
  "files.associations": {
    "*.json": "json",
    "*.css": "tailwindcss",
    "*.svg": "html"
  }
}

.jsonファイルが"JSON with Comments"として認識されるのを防いだり、CSSファイルでTailwind IntelliSenseを有効にできます。

よくある問題

設定が反映されない

VSCodeを再起動するか、Command Paletteから"Developer: Reload Window"を実行します。

言語別設定が効かない

言語識別子が正しいか確認します。ファイルを開いて右下のステータスバーで言語モードを確認できます。

パフォーマンスが悪い

files.watcherExcludeで大量のファイルを含むディレクトリを除外します。特にnode_modulesやビルド出力ディレクトリは必ず除外します。