Skip to content

[VSCode] gitignoreパターンのカンマ問題を修正:ファイルピッカーからの誤除外を解消

原文(日本語に翻訳)

[VSCode] カンマを含むgitignoreパターンが、@メンションファイルピッカーからファイルタイプ全体をサイレントに除外していた問題を修正

原文(英語)

[VSCode] Fixed gitignore patterns containing commas silently excluding entire filetypes from the @-mention file picker

概要

VS Code拡張のClaude Codeで、.gitignore ファイルにカンマを含むパターンが記載されている場合、@メンションのファイルピッカーから特定のファイルタイプが丸ごと除外されてしまうバグが修正されました。このバグは警告なく発生していたため(サイレント)、ユーザーがファイルを参照できない原因の特定が困難でした。v2.1.76でこの問題が解消され、カンマを含むgitignoreパターンが正しく処理されるようになりました。

基本的な使い方

この修正は自動的に適用されます。VS Code拡張を更新するだけで、@メンションのファイルピッカーが正しく動作します:

# VS Codeのプロンプトボックスで
@auth.ts     # ファイルを@メンションで参照
@src/        # ディレクトリを参照

実践例

カンマを含むgitignoreパターンが存在するプロジェクト

以下のような .gitignore エントリがある場合に問題が発生していました:

gitignore
# .gitignore の例
# カンマを含むパターン(ブレース展開など)
dist/{client,server}
build/{debug,release}
*.{tmp,bak}

v2.1.76以前では、このようなパターンが誤って解釈され、関連するファイルタイプ全体が@メンションのファイルピッカーから除外されることがありました。

# 以前:@メンションでファイルが見つからなかった
@app.ts      # → 候補に表示されない場合があった

# 修正後:正しく候補に表示される
@app.ts      # → app.ts が候補に表示される

モノレポでの影響

モノレポプロジェクトでは、ブレース展開を使ったgitignoreパターンが一般的です:

gitignore
# モノレポの .gitignore
packages/{pkg-a,pkg-b}/dist
apps/{web,api}/node_modules

このようなパターンがあるプロジェクトで、意図しないファイルの除外が起きていた場合は、v2.1.76へのアップデートで解消されます。

問題の診断

この問題に遭遇していた場合の確認方法:

bash
# gitignoreにカンマを含むパターンがあるか確認
grep ',' .gitignore

# VS Codeの設定を確認
# claudeCode.respectGitIgnore が true(デフォルト)の場合に影響

注意点

  • VS Code拡張限定: この修正はVS Code拡張の@メンションファイルピッカーに限定されます。CLIのClaude Codeには影響しません
  • サイレントな問題: このバグはエラーメッセージなく発生していたため、影響を受けていたことに気づいていなかった可能性があります
  • respectGitIgnore 設定: VS Codeの claudeCode.respectGitIgnore 設定が true(デフォルト)の場合に、gitignoreパターンがファイルピッカーに適用されます
  • 更新の推奨: カンマを含むgitignoreパターンを使用しているプロジェクトでは、VS Code拡張のアップデートを推奨します
  • ブレース展開: gitignoreでのブレース展開({a,b})はgitの標準的な機能です。この修正によりClaude Codeのファイルピッカーでも正しく解釈されるようになりました

関連情報