Skip to main content

フォルダーメンション

フォルダーメンションを使用すると、ディレクトリ全体をClineとの会話に取り込むことができます。@/に続いて末尾にスラッシュを付けたフォルダーパスを入力するだけで、Clineはフォルダー構造とその内容にアクセスできます。

チャットで@/を入力すると、Clineはワークスペースのファイルとフォルダーを表示します。必要なフォルダーにナビゲートし、末尾のスラッシュを必ず含めるようにしてください。Clineはフォルダーの構造と内容を確認できます。

コードベースのセクション全体の理解やリファクタリングにヘルプが必要な場合にフォルダーメンションを使用します。個々のファイルを一つずつ参照する代わりに、ディレクトリ全体を指定できます:

アプリの認証フローがどのように動作するか理解しようとしています。
@/src/auth/内のファイルの構造と関係性を説明していただけますか?

Clineはauthディレクトリ内のすべてのファイル、その内容、そしてそれらがどのように関連しているかを確認できます。これにより、複数のファイル間の複雑な相互作用を説明するための完全なコンテキストが提供されます。

フォルダーメンションはプロジェクトの組織化に関するヘルプを得るのにも最適です。プロジェクト構造が適切かどうか不確かな場合、Clineにレビューを依頼します:

新しいReactプロジェクトを設定しています。このフォルダー構造は適切でしょうか? @/src/
プロジェクトが成長するにつれてより保守しやすくするために、何を変更しますか?

次回複数の関連するファイルで作業するときは、各ファイルを個別に参照する代わりにフォルダーメンションを使ってみてください。Clineがすべてがどのように組み合わされているかの全体像を見ることができるため、より包括的なヘルプを得られます。

内部の仕組み

メッセージでフォルダーメンションを使用すると、舞台裏では以下のことが起こります:

  1. メッセージを送信すると、Clineはテキスト内の@/path/to/folder/パターン(末尾スラッシュ付き)を検出します

  2. 拡張機能はワークスペースルートからの相対パスでフォルダーパスを解決します

  3. fs.readdir()を呼び出して、そのフォルダー内のすべてのファイルとサブディレクトリのリストを取得します

  4. ディレクトリ内の各ファイルについて、バイナリかテキストベースかをチェックします

  5. テキストファイルの場合、完全な内容を抽出します

  6. フォルダー構造とファイル内容が構造化された形式でメッセージに追加されます:

    <folder_content path="path/to/folder">
    ├── file1.txt
    ├── file2.js
    └── subfolder/

    <file_content path="path/to/folder/file1.txt">
    [ファイル内容]
    </file_content>

    <file_content path="path/to/folder/file2.js">
    [ファイル内容]
    </file_content>
    </folder_content>
  7. 埋め込まれたフォルダー構造とファイル内容を含むこの拡張されたメッセージがAIに送信されます

  8. AIは、そのディレクトリ内のディレクトリ構造とファイル内容の両方を「見る」ことができます

このプロセスは、フォルダーメンションを使用するたびに自動的に実行され、AIにプロジェクト構造とファイル内容の包括的なビューを提供します。