目次

Cursorとは?

AIアシスト × VSCode互換 × 開発特化。

一言で言えば、「コードを書く人の、ための環境」。
VSCodeのすべてを引き継ぎつつ、AIとの融合で別物に進化している。

初見では「ただのエディタじゃん?」と思われがち。
でも、半年・1年と使っていくと、Cursorでないと成り立たない瞬間が増えていく。


なぜChatGPTではなくCursorなのか?

ChatGPTは「会話」が得意。
Claudeは「文脈理解」が強い。
でもCursorは、「手が動く」。

  • コードベースを読み解き

  • 関数の設計意図を掘り出し

  • 最適なコードを“その場で”提案し

  • しかも、既存コードを壊さない

この「実務への入り込み方」が他とは根本的に違う。
まるで、自分と同じチームの中堅エンジニアが、隣でコーディングしてくれている感覚。


私の使い方(2025年版)

Cursorの進化とともに、私の開発の仕方も少しずつ変わってきた。

今、私がCursorをどう使っているのか。
実際のユースケースを交えながら紹介していく。


🔧 設計フェーズでの「壁打ち」

仕様のドラフトを書き始めるとき。
まだ何も決まっていない、でも方向性だけはある。

そんなタイミングで、CursorのAIにこう聞く。

「このユースケースに沿って、モジュール構成とデータフローを書いてくれ」

すると、抽象度の高い設計図が返ってくる。
それを叩き台に、どんどん精緻化していく。

結果的に、“実装しやすい設計”に最短距離で辿り着ける

これは、ただのコード補完では実現できない領域だ。


🧪 コードレビューの自動化

Pull Requestを書くたびに、Cursorにこう頼む。

「この変更内容をレビューして。副作用や影響範囲も見て」

コードの差分だけでなく、前後の文脈から意味を理解してくれる。

そして、たまにこう言う。

「この関数、実はDRYじゃないです」
「ここの例外処理、漏れてる可能性ありますよ」

こういう“気づき”が、実務では本当にありがたい。


📚 既存コードの「読解サポート」

「このプロジェクト、誰が書いたの…」
そんなレガシーコードにもCursorは強い。

クラスや関数の役割を自然言語で解説してくれる。
何がどこでどう繋がっているのかを、対話ベースで理解できる

コードの森に迷ったとき、道標になってくれるのがCursorだ。


使用モデル・設定まわり

現在の私の設定は以下のとおり。

  • 使用モデル:Claude 3.7 Sonnet v2

  • メイン言語:TypeScript / Python

以前はChatGPTも併用していたが、現在はCursor一本。
Claude 3.7が組み込まれてから、他に浮気する理由がなくなった。


💡 AIチャットを“どう使うか”が真の差になる

CursorのAIチャット機能は、ただ便利なだけではない。

「問いをどう立てるか」
「答えをどう活かすか」

ここに、開発者としての知性が試される。

コーディングが速くなる?
設計がうまくいく?

いや、Cursorは“思考のインフラ”になる。
ただの補助輪では終わらない。

🔰 Cursorの基本的な使い方

“同じモデルが使えるなら、Claudeでよくない?”

そう思ったあなた。実はそれ、半分正解。
確かにClaude(ブラウザ版)でも、同じモデルが使えます。
けれど、Cursorの本当の強みは、“コードを渡すまでの速さ”にあるんです。

この1点だけで、作業効率が桁違いに変わります。
ここからは、その理由と使い方を順番に解説します。


📄 今開いているファイルを即AIに渡す

Cursorでは、「今開いているファイル」=自動でAIに共有される情報です。

つまり、何も特別な操作をしなくても、
「この関数をリファクタして」と入力するだけで、ファイル全体を理解した上で回答してくれます。

これはVSCodeでは絶対に実現できない“シームレスな対話”。

💡 補足
もし、「今開いてるファイルを参照せずに質問したい」場合は、
AIチャット欄にあるファイル名の右側にある「×ボタン」をクリックすれば、読み込みをオフにできます。


✂ 特定のコードだけを渡す(⌘L / Ctrl + L)

「ファイル全体じゃなくて、この関数だけ見てほしい」
そんなときは、対象コードを選択して ⌘L(または Ctrl + L を押しましょう。

すると、新しいチャットスレッドが自動で開き、選択範囲を引用してくれます。
そのまま、「この部分をasync対応して」などの指示を出せばOKです。

しかも嬉しいことに、そのコードの“周辺のファイル情報”も一緒に渡されるので、文脈を壊さない回答をしてくれます。


🔁 既存チャットにコードを追加したいときは?

⌘L は便利ですが、毎回新しいチャットが開いてしまうのが悩ましいところ。

この問題は、ショートカットカスタマイズで回避できます。

設定方法:

  1. ⌘ + Shift + P を押す

  2. Preferences: Open Keyboard Shortcuts を選択

  3. aichat.insertselectiontochat に任意のショートカットを割り当てる(例:⌥ + ⌘ + L

これで、既存のチャットに選択したコードを追加できるようになります。


📦 複数ファイルをAIに渡す方法

✅ 2〜3ファイル:@ファイルシンボル

AIチャット欄で @ を入力すると、シンボル一覧が表示されます。
ここから Files を選べば、任意のファイルを追加できます。

@のあとにファイル名を入力すれば、予測変換も効いてくれるので便利。


✅ 〜10ファイル:Add Context で一括指定

チャット欄の右上にある「Add Context」機能を使えば、複数ファイルをポチポチ選んで一気に追加可能。
UIも直感的なので、サッとコンテキストを増やしたいときに最適です。


✅ 開いているすべてのファイル:Reference Open Editors

チャット欄で / を押すと出てくる「Reference Open Editors」。
選択すると、現在開いているすべてのファイルを一括読み込みしてくれます。

この機能、地味に革命でした。
「今、目の前で開いてる作業群」=即座にAIに渡せるというのは、ありそうでなかった。


✅ それ以上のファイル:Long Context Chat + 自作スクリプト

ここが上級者向けの裏技ゾーンです。
大規模リポジトリで複数ファイルにまたがる修正をしたい場合、以下の手順をとります。


❗注意:@フォルダシンボルやCodebase参照は非推奨(理由あり)

一見便利そうに見える @フォルダCodebase の参照機能ですが、
「期待するコードがすべて渡っているとは限らない」のが最大の弱点です。

これはCursorの仕様的な制約で、関連性の高い部分だけを“推測して”読み込んでいるため、
意図しない省略が発生してしまうことがあります。


✅ 本当に確実な方法:Long Context Chat に全コードをまとめて渡す

Claude 3.5 Sonnetは200kトークンまで処理できるので、
中〜大規模のコードベースでも、ひとまとめにして渡せば読み込めます。

やり方はシンプル:

  1. 必要なファイルを結合するスクリプトを作成(PythonでOK)

  2. 出力された .txt をLong Context Chatに渡す

  3. 「この中の〇〇を改善して」など、通常通りやり取りする

チャット欄の右上で「Normal Chat」→「Long Context Chat」に切り替えれば準備完了です。


🤖 自作スクリプトで一括読込みファイルを生成する方法は?

実際に「全コード結合スクリプト」の作成方法についても、次回の記事で紹介予定です。
※必要であれば、ここでPythonスクリプトも提供可能です。


🛠 エラー対応と補助機能の実践活用

AIと開発するなら、エラー対応は最重要領域のひとつ。
Cursorは、この「実務で一番面倒な部分」にも驚くほどよく効きます。

ここでは、エラー対処の基本から補助機能、そして私が実際にあまり使っていないけれど知っておくと役立つ機能まで、総まとめでお届けします。


⚡ エラーが出たときの即対応:「AI Fix Chat」

エラー箇所に赤線が引かれた状態でカーソルを合わせると…
「AI Fix Chat」ボタンがポンと出てきます。

クリックすれば、そのままチャットが立ち上がり、エラー解決の提案が表示されます。
早ければ、1クリックで即修正案が返ってくるという爆速さ。

ただし、注意点もあります👇

  • 自動送信されてしまう
    → 思っていた意図と違う回答になることも。

そんな時は、元のチャット欄に戻って情報を足し、手動で再質問するのがベストです。

💡補足:
赤線は「言語別の拡張機能」によって表示されているので、使用している言語(PythonやTypeScriptなど)に合った拡張機能をCursorに追加しておくのを忘れずに。


🖼 スクショもOK:マルチモーダル対応

実は、Cursorは画像の読み取りにも対応しています。

たとえば、

  • ブラウザ上で発生した謎のエラー画面

  • CLIでスクロールしきれない長いエラーログ

こういったものは、スクショをそのままドラッグ&ドロップするだけでOK。

画像内のテキストを読み取って、問題点を洗い出し、回答してくれます。
ラフに投げても、けっこう的確に返してくれるので重宝しています。


✨ その他の補助機能(だけど私はあまり使っていない)

@シンボル機能

AIチャット内で @ を入力すると、ファイル・ドキュメント・フォルダなどの参照候補が表示されます。
その中でも私がたまに使うのは…

🔹 @ファイル(@filename)

→ 特定のファイルを明示的に参照に入れる。

🔹 @Docs(@ドキュメント)

→ よく使うライブラリやAPIのリファレンスURLを登録し、回答精度の底上げに。

ただしこれらは、全ドキュメントを読ませているわけではないので精度には限界あり。
結果的に、私は自分で見に行った方が早いと思って最近はほぼ使っていません。


📌 その他のTIPS集

💬 長すぎる会話は避ける

チャットが長くなりすぎると、モデルが文脈を正しく保持できなくなり、回答精度が下がる傾向があります。

私は基本的に:

  • チャットは1ターン使い切り

  • 次の相談は新しいスレッドでスタート

という運用にしています。
履歴を引きずらずに「その場その場で完結させる」方が精度が安定します。


📑 Apply前にGitステージを!

AIの修正提案を適用する前に、こまめにステージングしておきましょう。
どの変更が原因でエラーになったのか見失わないための大事な習慣です。

ステージのルール例:

  • 修正前の“動いていた状態”をステージ

  • 修正をApplyしたあとに差分確認

  • 問題が出たら git stash で戻す

Cursor自体にGit連携はありますが、あえて明示的に区切ることで安全性が増します


❌ Composerは使っていない理由

Composerは、ファイル全体をまとめて提案・編集してくれる便利機能。
でも、私個人としては、ほぼ使っていません

その理由がこちら👇

❗ コメントに戻れない

チャットと違って、途中の会話からやり直すことができない
これが私にとっては致命的でした。


❗ 変更確認がしづらい

Composerではファイルごとにタブ表示されるため、全体の変更が俯瞰しにくい
結果として「よく分からないけどApply」→後でバグる、という流れが増えました。


✅ AIチャットの進化で不要になった

昔は「ファイルを選びやすい」という理由でComposerが便利でしたが、今は:

  • Add Context

  • Reference Open Editors

これらがチャット側でも使えるようになったので、Composerを使う必要がほぼなくなりました。


💡唯一のメリットだった「新規ファイル作成」も、今ではチャットで可能に!

2024年10月25日時点で、AIチャットからも新規ファイルの作成が可能になりました。

つまり、Composerを使う理由が…完全になくなったのです。


⌘K:選択行だけのスピード編集ツール

選択した行に対して ⌘K を押すと、小さな入力フォームが出てきて、その場で編集指示ができます。

手軽な文言修正や、簡単な構文整理にはかなり有用。
ただし、解説が一切出ないので、意図と違う修正が出てくることも。

そのため、ちょっとでも複雑な指示を出したいときは、素直に ⌘L → チャットで聞くようにしています。


🧠 まとめ:Cursorは“エラー対応”すら進化させる

  • 「AI Fix Chat」で即対応

  • スクショで画像も質問可能(マルチモーダル)

  • Composerは過去の遺物に

  • ⌘Kや@Docsは便利だが、使い方次第

日々変化しているCursorですが、実務で本当に使える部分は限られているのも事実。
だからこそ、**“使える機能を、徹底的に使い倒す”**というのが正解だと思います。


✍ 感想&あなたのCursor術、教えてください!

エラー対応に関して、他にも「こんな方法あるよ」というTipsがあればぜひ共有してください!
私も試して記事に反映させていきます 💡

最新情報をチェックしよう!