(LLM Gen) VS Code + GitHub Copilot

·


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 ChatCursorWindsurfCline
チャット履歴の保存セッション単位で保存.cursor/rulesjournal.mdc に記録Memories システムにより長期的に保持セッション・ファイル単位で記録可能
エクスポート/インポート.json 形式で可能だが、インポート後の続きは保存不可ルールやジャーナルとして明示的に管理可能ルールやメモリーとして明示的に管理可能YAML等での構成やエクスポート運用可
ステート管理基本的にステートレスセッション内での状態保持とタスクの進行状況の追跡エージェントによるステートの理解と保持Plan/Act・外部サービスと連携で柔軟対応
メモリー機能長期的な記憶やプロジェクト固有の知識の保持はなしルールファイルと学習ジャーナルによる知識の記録と再利用ユーザー定義ルールや過去の対話からの記憶の保持YAML等でプロジェクト知識・指示を永続化
ルール適用Markdownファイルや指示で一部制御.cursor/rules やディレクトリ単位で柔軟に適用グローバル/プロジェクト/コンポーネント単位で明示的に定義YAML/Markdown・ユーザー承認で明示的制御
ターミナル・外部操作なしなしなしターミナル統合・ヘッドレスブラウザ操作可能
カスタマイズ性.mdファイル等で限定的ルール/ジャーナルで柔軟に設定ルール/メモリーで多層的カスタマイズ可能モデル/応答/プロンプトなどYAMLで柔軟カスタム

📝 まとめ

GitHub Copilot Chatは、チャット履歴の保存やエクスポート・インポート機能を提供していますが、インポートした履歴の続きが保存されないなど、機能には制限があります。一方、CursorやWindsurf、Clineは、ルールやメモリー機能を通じて、より高度なステート管理や長期的な知識の保持・自動化が可能です。プロジェクトの要件や開発スタイルに応じて、これらのツールを適切に選択・組み合わせることで、開発効率を最大化できます。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です