👨‍💻

【上級者向け】Cursor を使いこなすための実践テクニック

2025/02/12に公開

【上級者向け】Cursor を使いこなすための実践テクニック

本記事では、Cursor の基本的なコード編集機能に加えて、AI エージェントとの連携やデバッグ、プルリクエストまでの流れ(※Cursor 単独では行えない部分も含みます)など、役立つテクニックを整理していきます。


目次

  1. Cursor とは
  2. AI アシスタントとのやり取り
  3. コード検索とリファクタリング
  4. エラー修正と提案の受け入れ・リジェクト
  5. デバッグ方法
  6. コミットからプルリクエスト・デプロイまで
  7. 便利なショートカットと小技
  8. まとめ

Cursor とは

Cursor は、AI を活用した高度なコードエディタです。
VS Code をベースにしているため、一般的な VS Code の操作に加え、AI 機能を活用した 「エージェント (Agent)」モード「チャット (Chat)」モード を切り替えて使えます。

  • エージェント(Agent)モード

    • コード上に対して自律的に修正や提案を行ってくれるモード。
    • 差分表示で修正案を提示し、一括受け入れ (Accept) / 却下 (Reject) など柔軟に操作できます。
    • ターミナルでテストを実行し、エラーを検出して自動修正するなどの高度な機能も備わっています。
  • チャット(Chat)モード

    • エディタ内で AI と対話しながらコーディングを進めるモード。
    • 「この関数はどこにあるの?」と尋ねると、コードベース全体から該当箇所を検索して回答してくれます。
    • 変更指示やエラー文を貼り付けると、原因や修正案を提案してくれます。

Cursor はこれら 2 つのモードを使い分けることで、リファクタリングからエラー修正、コードの一括生成など、さまざまな場面で効率を大きく向上させることができます。


AI とのやり取り

コードの場所を探す

  • 「この関数はどこで定義されていますか?」とチャットで聞くと、AI が該当箇所を横断検索して教えてくれます。
  • 特に Cmd + Enter(Mac の場合)を押して送信すると、コードベース全体をより広範囲に解析してくれます。
  • 該当箇所をクリックすると、そのファイルへ素早くジャンプできます。

コード修正をお願いする

  • エージェントモードで修正したいコードを指定し、「この部分を○○のように変えてほしい」と依頼すると AI が差分を提示してくれます。
  • 一括で Accept / Reject するほか、行ごとに個別に取り込むことも可能です。
  • 大きな変更が入る場合は必ず差分をチェックし、既存のロジックに影響がないか確認しましょう。

コード検索とリファクタリング

  1. 全体検索

    • Cmd + Enter や検索コマンドを活用し、コードベース全体を横断的に検索できます。
    • @記法を使って特定ファイルやフォルダを指定すれば、狙った範囲にだけ指示を行うことも可能です。
  2. チャットでの差分・修正提案

    • 「このファイルの関数をもう少し読みやすく書き直して」と伝えると、修正後のコードを提示してくれます。
    • エージェントモードに切り替えるとさらに大規模なリファクタリングも一括で適用可能です。
  3. 不要ファイル・不要関数の整理

    • AI が提案でファイルや関数の削除を行う場合もあるので、必ずレビューして本当に不要かを確認する必要があります。
    • 大量の変更を適用するときは、小分けにしてコミットを行い、問題があればすぐにロールバックできる体制を整えましょう。

エラー修正と提案の受け入れ・リジェクト

  • エージェントモードが提示した修正案は、差分が赤・緑でハイライトされます。
  • 提案を受け入れる (Accept): 一括 / 行単位 どちらでも行えます。
  • 提案を拒否する (Reject): Cmd + Backspace などでまとめて拒否可能。
  • 細かい修正を大量に行う場合、受け入れを小分けにしながら動作確認するのがおすすめです。
  • 一度に大きな変更を受け入れてしまうと、元に戻す手間が増えます。Git の履歴を活用しつつ、安全策を取ってください。

デバッグ方法

動作確認

  • ローカルでアプリケーションや API サーバーを立ち上げて、実際に画面が動くか試しましょう。
  • AI はコード解析こそ得意ですが、実行環境固有のエラー(ネットワーク設定など)は見落とす場合があります。

エラーが出たら

  • エラーメッセージをチャットに貼り付け、「なぜ動かないのか?」と質問すると、原因や解決策のヒントをくれることがあります。
  • ただし、提案が正しいとは限らないので、依存関係や副作用に注意しながら適用してください。
  • テストコードがあれば、エージェントモードで「テストを実行→失敗箇所を修正」というフローも有効です。

コミットからプルリクエスト・デプロイまで

  1. コミットメッセージの生成

    • 差分をコピーして「コミットメッセージを作成してほしい」と依頼すると、AI が案を作ってくれます。
    • 最終的にはチームが理解しやすい形に自分の言葉で書き換えましょう。
  2. ブランチ作成とプッシュ

    • Cursor のエディタ上部や Git タブから、変更をステージ・コミットし、そのままプッシュできます。
    • プッシュ先 (Upstream) を誤ると意図しないリポジトリに変更が行く可能性があるので、要注意です。
  3. プルリクエスト (PR) 作成

    • 現状、Cursor だけで PR を作る機能はありません
    • GitHub や他のホスティングサービス上でリポジトリを開き、プルリクエストを作成してください。
    • チームでコードレビューを行い、AI が生成したコードが規約や設計方針に合っているか確認することが大切です。
  4. デプロイ (Deploy)

    • Cursor 単体ではデプロイを完結できないため、各種 CI/CD サービスやホスティング環境を利用します。
    • 例:GitHub Actions / Vercel / AWS などと連携し、メインブランチへのマージをトリガーにデプロイする。
    • デプロイ直後の動作確認やログ監視は忘れずに。

補足: Cursor にはターミナルが内蔵されているため、AI に指示して CLI コマンドを実行し、ビルドやデプロイスクリプトを走らせることは可能です。ただし、手動と同じくデプロイ先の設定が必要であり、あくまでエディタ上の操作を簡略化するものです。


便利なショートカットと小技

  • Cmd + Enter

    • チャットモードでは、プロジェクト全体をより広く解析して回答を得る送信キー。
    • **エージェントモード(Composer)**では、AI が提示した修正案を一括で Accept するキー。
  • Cmd + Backspace

    • AI 提案をリジェクトするときに便利。大量の修正案を一度に却下できます。
  • Cmd + I / Cmd + L

    • Composer やチャットパネルを開閉できるショートカット(バージョンによって変わる場合あり)。
  • コードを選択して AI に参照させる

    • Cmd + Shift + L などで、選択範囲をチャットのコンテキストとして渡せます。
    • 大量コードをピンポイントで読ませたい時に重宝します。
  • チャット履歴の活用・Git の履歴

    • 大規模変更時は履歴を残す / 小まめにコミットし、問題があれば速やかにロールバックできるようにする。
    • AI 提案を取り消せなくなるリスクを避けるためにも、こまめな差分チェックとコミットが重要です。

まとめ

Cursor は、チャット・エージェントモードを使い分けながら、
コードの一括生成・リファクタリング・エラー修正 を高速化できる強力なエディタです。
ただし以下の点に留意しましょう。

  • エージェントモード

    • 一括修正が可能でとても便利ですが、大量変更は慎重にレビューしましょう。
    • テストの自動実行まで行えますが、依存関係や本番環境固有の問題に注意が必要です。
  • チャットモード

    • 「関数がどこ?」と聞けば、プロジェクト内を横断検索してくれます。
    • エラーの原因を AI に聞くのは有効ですが、提案が常に正しいとは限りません。
  • コミットと PR・デプロイ

    • コミットまでは Cursor 上で完結できます。
    • PR 作成やデプロイは GitHub や外部サービス側で行う 必要があることに注意してください。

今後も Cursor はアップデートによって機能拡張が見込まれます。
「AI に全部任せる」のではなく、コードの品質やプロジェクト構成は最終的に人間が判断 することが重要です。
ぜひ本記事のテクニックを活用して、チーム開発における効率を大きく高めてください。


参考リンク

本記事が、Cursor を用いた高度な開発フロー構築の一助となれば幸いです。

Discussion