GitHub Copilot vs Cursor: AIコーディング支援ツールの機能比較

## **概要**

最新版のGitHub CopilotとCursorの比較を行います。料金プラン、対応する機能、機能比較、カスタム命令設定の違い、利用可能なモデルについて詳しく説明し、最終的にどちらのツールがどのような状況で有用かについて結論を述べます。

Cursorでできることに関しては以下に詳しくまとめているので、こちらもご覧ください。

[Cursorトライアル導入から見えてきたAI時代の開発プラクティス #VSCode - Qiita](https://qiita.com/tichise/items/802716caf8b38942e898)

## **月額利用料**

| ツール | バージョン | プラン | 金額 |
| --- | --- | --- | --- |
| GitHub Copilot | 最新版 | 個人プラン | 月額 $10 / 年額 $100 |
|  |  | ビジネスプラン | 月額 $19/ユーザー |
|  |  | エンタープライズプラン | 月額 $39/ユーザー |
| Cursor | 最新版 | プロプラン | 月額 $20 |

## **CursorとGitHub Copilotの対応する機能**

| Cursor | GitHub Copilot | 解説 |
| --- | --- | --- |
| Command K | Github Copilot（インラインチャット機能） | チャット会話を使用して、エディターで直接コード編集を適用します。 |
| Chat |  | Copilot Chat |
| Composer | Copilot Edit | ワークスペース内のコードを編集する機能。プロジェクトに大きな変更を直接適用するための複数ファイルの編集セッションを開始します。 |

## **CursorとGitHub Copilotの機能比較**

| 評価基準 | 解説 | Cursor | GitHub Copilot |
| --- | --- | --- | --- |
| Command K | AI でコードを編集および記述できます。編集するには、コードを選択して「編集」をクリックし、コードをどのように変更するかを説明します。 | ○ あり | ○ あり |
| ターミナル⌘ K | AIでターミナルコマンドを実行 | ○ あり | ○ あり |
| @ Symbols | 特定のシンボルを参照するための機能。CopilotではParticipantsという名前です。 | ○ あり | ○ あり |
| コード自動補完 | エディターで入力を開始すると、Copilot からコードの提案が表示されます。 | ○ あり | ○ あり |
| コミットメッセージの生成 | コミットメッセージを生成する機能 | × なし | ○ あり |
| ノート機能 | 事前にノートを作成しておくことで、そのノートを参照してコードの編集を開始する機能 | ○ あり | × なし |
| エージェントモード | AIエージェントがコード編集や関連する作業を広範囲に行う機能 | ○ あり | なし |
| クイックチャット機能 | ちょっとした質問をして、すぐにインラインチャットに戻れる機能 | ○ あり | ○ あり |
| コードの修正を差分表示する機能 | コードの修正を差分表示する機能 | ○ あり | ○ あり |
| プロジェクトスキャフォールディング | 新しいプロジェクトをすぐに開始できるように、選択したテクノロジー用の新しい VS Code ワークスペースを生成します。 | ×なし | ○ あり |
| 自然言語によるノートブックスキャフォールディング | 自然言語を使用して、新しい Jupyter ノートブックをスキャフォールディングします。 | ×なし | ○ あり |
| 開発環境やリポジトリ固有のルールを管理する機能 | ルールを管理して、共有する機能 | ○ あり | ○ あり |

### **カスタム命令（ルール）設定のCursorとGitHub Copilotの違い**

#### **Cursor**

| 項目 | 説明 |
| --- | --- |
| Rules for AI | Cursorの設定画面で設定します。開発環境毎のルールを設定できます。 |
| .cursorrules | 作成後、リポジトリのルート直下に配置します。 リポジトリ全体のルールを設定できます。 |

#### **GitHub Copilot**

| 指示内容 | 説明 |
| --- | --- |
| コード生成の指示 | コード生成に固有のコンテキストを提供します。たとえば、プライベート変数には常にアンダースコアをプレフィックスとして付けるように指定したり、シングルトンを特定の方法で実装するように指定したりできます。コード生成の指示は、設定またはワークスペースの Markdown ファイルで指定できます。 |
| テスト生成手順 | テストを生成するためのコンテキストを指定します。たとえば、生成されたすべてのテストで特定のテスト フレームワークを使用するように指定できます。テスト生成手順は、設定またはワークスペースの Markdown ファイルで指定できます。 |
| コードレビューの指示 | 現在のエディター選択をレビューするための特定のコンテキストを提供します。たとえば、レビュー担当者がコード内の特定の種類のエラーを探すように指定できます。設定またはワークスペースの Markdown ファイルでレビュー選択の指示を指定できます。 |
| コミットメッセージ生成手順 | コミットメッセージを生成するためのコンテキストを指定します。コミットメッセージ生成手順は、設定またはワークスペースの Markdown ファイルで指定できます。 |

## **CursorとGitHub Copilotで利用可能なモデル**

| モデル | Cursor | GitHub Copilot |
| --- | --- | --- |
| claude-3-5-sonnet | ○ あり | ○ あり |
| claude-3-opus | ○ あり | × なし |
| claude-3.5-haiku | ○ あり | × なし |
| cursor-small | ○ あり | × なし |
| gemini-exp-1206 | ○ あり | × なし |
| o1-preview | ○ あり | ○ あり |
| o1-mini | ○ あり | ○ あり |
| gpt-4o | ○ あり | ○ あり |
| gpt-3.5-turbo | ○ あり | × なし |
| gpt-4 | ○ あり | × なし |
| gpt-4-turbo-2024-04-09 | ○ あり | × なし |
| gpt-4o-mini | ○ あり | × なし |

## **まとめ**

GitHub CopilotとCursorは、AIを活用したコーディング支援ツールとして、それぞれ異なる強みを持っていますが、共通する機能も多くあります。

**GitHub Copilotの特徴:**

- **プロジェクトスキャフォールディング**や**自然言語によるノートブックスキャフォールディング**が可能で、開発を迅速に進めるための機能が充実しています。
- **コミットメッセージの生成**や**プロジェクトスキャフォールディング**など、開発の効率化に特化した機能が多いです。
- **おすすめユーザー:** 大規模なプロジェクトを迅速に立ち上げたい開発者や、効率的にコードレビューやテストを行いたいチームに向いています。

**Cursorの特徴:**

- **エージェントモード**や**ノート機能**を備えており、より柔軟なコード編集やチーム開発の一貫性を保つための機能を提供しています。
- **ノート機能**や**エージェントモード**により、個別の開発環境に合わせたカスタマイズが可能です。
- **おすすめユーザー:** チーム開発で一貫性を重視するプロジェクトや、個別の開発環境に合わせた柔軟なカスタマイズを求める開発者に適しています。

**共通する機能:**

- **チャット機能やインラインチャット、Composer**など、Cursorの特徴的な機能は、GitHub Copilotでも実装されており、機能差は少なくなっています。これにより、どちらのツールもAIを活用した効率的なコーディング支援を提供しています。

**導入の判断:**

- **GitHub Copilot**は、迅速なプロジェクト立ち上げや効率的な開発を求める場合に適しています。
- **Cursor**は、チーム開発の一貫性や柔軟なカスタマイズを重視する場合に適しています。

選択する際は、プロジェクトの規模やチームの開発スタイル、求める機能に応じて、どちらのツールがより適しているかを検討することが重要です。

## **参考**

- [GitHub Copilot のサブスクリプション プラン](https://docs.github.com/ja/copilot/about-github-copilot/subscription-plans-for-github-copilot)
- [Copilot Edits](https://code.visualstudio.com/docs/copilot/copilot-edits)
- [GitHub Copilotの概要](https://code.visualstudio.com/docs/copilot/overview)
- [GitHub Copilot - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot)
- [GitHub Copilot Chat - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot-chat)
- [VS Code で GitHub Copilot をカスタマイズする](https://code.visualstudio.com/docs/copilot/copilot-customization)
- [Cursorのルール設定で実現する！チーム開発の一貫性を保つための.cursorrulesファイル活用術 #VSCode - Qiita](https://qiita.com/tichise/items/9990a9785edf7011fac3)
- [GitHub Copilot · Your AI pair programmer](https://github.com/features/copilot)