VS Code + GitHub Copilot Agent をちょこちょこつかっていて
気になる内容等ChatGPTさんとチャットで聞いたりした内容のここまでのまとめです。
+ Cline やWindsurf をつかったりしていてその後コーパイさんも使うようになって
ちょっとした違和感?
以下に、これまでの調査結果を統合し、Markdown形式でドキュメントを作成しました。このドキュメントは、GitHub Copilot Chatのチャット履歴管理、エクスポート・インポート機能、Markdownファイルによるルール設定、CursorやWindsurf、Clineとの比較など、AIコードアシスタントの活用に関する情報を網羅しています。
GitHub Copilot Chat のチャット履歴管理とルール設定の活用
💬 チャット履歴の保存と管理
履歴の保存
GitHub Copilot Chatは、VS Code内でのチャット履歴をセッション単位で保存します。これにより、VS Codeを再起動しても以前のチャットセッションにアクセスできます。
エクスポートとインポート
- エクスポート: コマンドパレット(
Ctrl+Shift+P
)でChat: Export Session...
を選択することで、現在のチャットセッションを.json
ファイルとして保存できます。 - インポート: 同様に、
Chat: Import Session...
を選択して、以前にエクスポートした.json
ファイルを読み込むことができます。
ただし、インポートしたチャット履歴に対して新たな対話を行っても、その続きは保存されません。
履歴の保存場所
チャット履歴は、VS Codeの workspaceStorage
ディレクトリ内に保存されます。各ワークスペースに対応するサブフォルダ内の chatSessions
ディレクトリに、チャット履歴が .json
ファイルとして保存されています。
- Windows:
C:\Users\<ユーザー名>\AppData\Roaming\Code\User\workspaceStorage
- macOS:
/Users/<ユーザー名>/Library/Application Support/Code/User/workspaceStorage
これらのファイルを他のワークスペースにコピーし、Chat: Import Session...
コマンドで読み込むことができます。
📝 Markdown ファイルによるルールの記述と活用方法
.github/copilot-instructions.md
の活用
このファイルをプロジェクトのルートディレクトリに配置することで、以下のような効果が得られます:
- プロジェクト全体への適用: 記述されたガイドラインやルールが、プロジェクト全体の Copilot Chat に自動的に適用されます。
- 自然言語での記述: Markdown 形式で自然言語による指示を記述でき、コーディングスタイルや使用技術、命名規則などを明示できます。
この方法により、開発チームのコーディング標準やベストプラクティスを AI に伝えることが可能です。
.instructions.md
ファイルの活用
特定のファイルやディレクトリに対して個別のルールを適用したい場合、.instructions.md
ファイルを使用します:
- スコープの指定:
applyTo
プロパティを使用して、特定のファイルパターンに対してルールを適用できます。 - 柔軟な運用: プロジェクト内の異なる部分に対して異なるルールを設定することで、柔軟な運用が可能です。
これにより、モジュールごとのコーディングスタイルの違いなどにも対応できます。
🚀 VS Code + Cline の概要
Clineは、VS Codeと連携して利用できるエージェント型AIコーディングアシスタントです。
- Plan/Act モード: 計画(Plan)を提示し、ユーザーの承認後に実行(Act)する方式で透明性と安全性を確保します。
- ターミナル統合: VS Codeのターミナルと連携し、ユーザーの許可のもとコマンド実行と結果の管理が可能。
- ブラウザ操作: ヘッドレスブラウザによるスクリーンショット、要素操作、ログ取得等を自動化。
- 多様なモデル・APIに対応: Claude 3.5 SonnetやDeepSeek R1、Gemini 2.0 Flashなど、OpenRouter・Anthropic・OpenAI・Google Gemini等のAPIプロバイダとも連携可能。
- YAMLファイルによるカスタム動作: 設定ファイルで応答スタイルやエージェント挙動をプロジェクトごとにカスタマイズ可能。
- セキュリティ重視: すべての操作はユーザー承認必須で、コードやデータは保存されずプライバシーも配慮。
参考資料
🔍 AIコードアシスタント各種比較表
機能項目 | GitHub Copilot Chat | Cursor | Windsurf | Cline |
---|---|---|---|---|
チャット履歴の保存 | セッション単位で保存 | .cursor/rules や journal.mdc に記録 | Memories システムにより長期的に保持 | セッション・ファイル単位で記録可能 |
エクスポート/インポート | .json 形式で可能だが、インポート後の続きは保存不可 | ルールやジャーナルとして明示的に管理可能 | ルールやメモリーとして明示的に管理可能 | YAML等での構成やエクスポート運用可 |
ステート管理 | 基本的にステートレス | セッション内での状態保持とタスクの進行状況の追跡 | エージェントによるステートの理解と保持 | Plan/Act・外部サービスと連携で柔軟対応 |
メモリー機能 | 長期的な記憶やプロジェクト固有の知識の保持はなし | ルールファイルと学習ジャーナルによる知識の記録と再利用 | ユーザー定義ルールや過去の対話からの記憶の保持 | YAML等でプロジェクト知識・指示を永続化 |
ルール適用 | Markdownファイルや指示で一部制御 | .cursor/rules やディレクトリ単位で柔軟に適用 | グローバル/プロジェクト/コンポーネント単位で明示的に定義 | YAML/Markdown・ユーザー承認で明示的制御 |
ターミナル・外部操作 | なし | なし | なし | ターミナル統合・ヘッドレスブラウザ操作可能 |
カスタマイズ性 | .mdファイル等で限定的 | ルール/ジャーナルで柔軟に設定 | ルール/メモリーで多層的カスタマイズ可能 | モデル/応答/プロンプトなどYAMLで柔軟カスタム |
📝 まとめ
GitHub Copilot Chatは、チャット履歴の保存やエクスポート・インポート機能を提供していますが、インポートした履歴の続きが保存されないなど、機能には制限があります。一方、CursorやWindsurf、Clineは、ルールやメモリー機能を通じて、より高度なステート管理や長期的な知識の保持・自動化が可能です。プロジェクトの要件や開発スタイルに応じて、これらのツールを適切に選択・組み合わせることで、開発効率を最大化できます。
コメントを残す