問題メンション
問題メンションを使用すると、Clineはワークスペース内のすべてのエラーと警告に即座にアクセスできます。@problems
を入力するだけで、ClineはVSCodeが検出したすべての診断問題を確認できます。
チャットで@
を入力し、メニューから「Problems」を選択するか、@problems
を直接入力します。Clineは即座にワークスペースのすべてのエラーと警告を、ファイルの場所とエラーメッセージを含めて確認できます。
ビルドエラーやTypeScriptの問題で行き詰まったときに、問題メンションを常に使用しています。エラーを説明したり一つずつコピーしたりする代わりに、単に次のように尋ねます:
これらのTypeScriptエラーが発生していて、修正方法がわかりません: @problems
何が間違っているのか、どう修正すればよいか理解を手伝ってもらえますか?
これにより、Clineは正確な場所とメッセージを含むエラーの完全なリストを取得できます。その後、Clineは複数のエラー間のパターンを分析し、包括的な解決策を提案できます。
問題メンションはファイルメンションと組み合わせると特に強力です。複雑な型エラーを扱う際には、両方を参照します:
これらの型エラーが発生しています: @problems
こちらがコンポーネントです: @/src/components/DataTable.tsx
そして型ファイル: @/src/types/api.ts
これらの問題をどう修正できますか?
このアプローチにより、Clineは正確なエラー、コンポーネントのコード、型定義など、必要なすべてを手動でコピーすることなく取得できます。
次回エラーで行き詰まったときは、エラーメッセージをコピーする代わりに@problems
を使ってみてください。Clineが完全なエラーコンテキストと場所を確認できるため、より正確なヘルプを得られます。
内部の仕組み
メッセージで問題メンションを使用すると、舞台裏では以下のことが起こります:
- メッセージを送信すると、Clineはテキスト内の
@problems
パターンを検出します - 拡張機能はVSCodeの組み込み
vscode.languages.getDiagnostics()
APIを呼び出して、すべてのエラーと警告を取得します - これらの診断を、ファイルパス、行番号、エラーメッセージを含む構造化されたテキスト表現にフォーマットします
- フォーマットされた問題リストが構造化された形式でメッセージに追加されます:
<workspace_diagnostics>
/path/to/file.js:10:5 - error TS2322: Type 'string' is not assignable to type 'number'.
/path/to/file.js:15:3 - warning: This variable is never used.
</workspace_diagnostics> - 埋め込まれた診断を含むこの拡張されたメッセージがAIに送信されます
- AIは、ワークスペース内のすべてのエラーと警告を、その場所とメッセージとともに「見る」ことができます
このプロセスは問題メンションを使用するたびに自動的に実行され、手動でコピーすることなく、ワークスペース内のすべての問題の包括的なビューをAIに提供します。