Indexing Engine は Windsurf のコードベース認識サービスで、次の機能を支えています:
  • コードベース認識型の Chat
  • コードベース認識型の Autocomplete
一般的なコンテキスト認識型の Autocomplete や Chat と比べ、Indexing Engine は直近に触れたファイルだけでなくコードベース全体からコンテキストを取得できます。これにより、Autocomplete と Chat の応答品質が大きく向上します。
ローカルインデックスは、プラグインユーザーでは既定で有効、Windsurf ユーザーでは常に有効です。

仕組み

Indexing Engine は、コードベースの「意味」を捉える埋め込みを生成することで動作します。これらの埋め込みは、自然言語と関連するコードスニペットの両方でクエリできます。 Windsurf Indexing は、埋め込み生成のためにコードのスニペットをリモートサーバーに送信します。ただし、コードや埋め込みがリモートに保存されることはなく、すべてのデータはお使いのデバイス上に保存されます。

インデックスエンジンの切り替え方法

VS Code でインデックスエンジンを切り替えるには、「Settings (UI)」ページを開き、「Windsurf Search」を検索します。検索の有効化オプションと、Max Workspace Size の設定項目が表示されます。その後、IDE を再起動すると変更が反映されます。
workspace がインデックス化されているかどうかは、「Chat」パネルの「Context」ペインで確認できます。workspace 名の横に緑色のドットがあれば、インデックス化されており検索可能です。

WindsurfIgnore

デフォルトでは、Windsurf Indexing は次を無視します:
  • gitignore に指定されたパス
  • node_modules 内のファイル
  • 隠しパス名(”.” で始まるもの)
ファイルが無視されると、インデックス化されず、Indexing Max Workspace Size のファイル数にも含まれません。 Windsurf Indexing が無視するファイルをさらに調整したい場合は、リポジトリのルートに .codeiumignore ファイルを追加し、.gitignore と同じ構文を使用してください。

グローバル .codeiumignore

複数のリポジトリを管理する Enterprise 顧客向けに、~/.codeium/ フォルダにグローバルな .codeiumignore ファイルを配置することで、すべてのリポジトリに対して無視ルールを一括で適用できます。このグローバル設定は、システム上のすべての Windsurf workspace に適用されます。 グローバルな .codeiumignore ファイルは .gitignore と同じ構文を使用し、各リポジトリ固有の .codeiumignore ファイルと併用できます。

システム要件

初回に有効化すると、Windsurf は workspace をインデックス化する間、CPU をわずかに使用します。workspace のサイズにもよりますが、所要時間は約5〜10分で、workspace ごとに一度だけ実行されます。CPU 使用率は自動的に通常状態に戻ります。Windsurf Indexing には RAM も必要です(5000 ファイルの workspace で約 300MB)。 “Max Workspace Size (File Count)” 設定は、Windsurf Indexing が特定の workspace / モジュールをインデックス化しようとする際の、対象となる workspace の最大規模(ファイル数)を決定します。workspace がインデックス化されていないようであれば、この数値を引き上げてみてください。RAM が約 10GB のユーザーには、上限を 10,000 ファイルまでに設定することを推奨します。