Skip to content

原文(日本語に翻訳)

大きなgitリポジトリでの @ ファイルオートコンプリートの応答性を改善しました

原文(英語)

Improved responsiveness of @ file autocomplete in large git repositories

概要

Claude Codeでは @ を入力することでファイルやディレクトリをコンテキストに追加できますが、ファイル数が多い大規模なgitリポジトリではオートコンプリートの候補表示が遅くなったり、応答しない状態になることがありました。この改善により、大規模リポジトリでも @ ファイル参照のオートコンプリートが素早く応答するようになります。

基本的な使い方

@ を入力してファイルを参照する操作が、大規模なリポジトリでもスムーズに動作するようになりました。

bash
# Claude Codeのプロンプトで @ を入力
@ src/  # srcディレクトリ以下のファイルが候補として高速に表示される

# 改善前: 大きなリポジトリでは候補表示に数秒〜数十秒かかることがあった
# 改善後: 候補がすばやく表示される

実践例

大規模モノレポでのファイル参照

bash
# 数万ファイルを含むモノレポでの操作
# @ を入力してファイルを参照
@packages/core/src/auth/authentication.ts の実装を確認して

# 改善後: 候補がすばやく表示されるためタイプスピードに追いつく

ディレクトリを指定したオートコンプリート

bash
# ディレクトリパスを絞り込みながら検索
@src/components/Button  # → Button.tsx, Button.test.tsx などが素早く候補表示

# 大規模リポジトリでも候補の絞り込みが即座に反応する

複数ファイルの参照

bash
# 複数のファイルを参照する場合
@src/api/client.ts @src/api/types.ts のインターフェースを比較して

# 各ファイルの @ 入力時に候補がスムーズに表示される

gitサブモジュールを含むリポジトリ

bash
# サブモジュールが多いリポジトリでも
# @ オートコンプリートが正常に機能する

@external/vendor-lib/src/main.ts を確認して

注意点

  • 大規模リポジトリの定義: 数万以上のファイルを含むリポジトリで特に効果が顕著です
  • gitignore の活用: .gitignore で除外されているファイルはオートコンプリートの候補に表示されません。リポジトリを適切に管理することでさらに高速化できます
  • ネットワークドライブ: ファイルがネットワークドライブにある場合、ローカルSSDほどの速度改善は期待できません
  • キャッシュ: オートコンプリートにはキャッシュが活用されるため、2回目以降の候補表示はさらに高速になります

関連情報