CursorはVS Codeの「上位互換」ではない

Cursorを使い始めた開発者がよく陥る誤解がある。VS Codeと同じように使って、「思ったより便利じゃないな」と感じるパターンだ。CursorはVS Codeのフォークとして作られているが、単なるAIプラグイン入りVS Codeではない。AIとの協働を前提に設計されたIDEであり、その設計思想に沿った使い方をして初めて本領を発揮する。

この記事では、Cursorを半年以上使い込んで分かった、実際に効果のある設定と使い方を整理する。

VS Codeからの移行——最初の30分でやること

CursorはVS Codeの設定、拡張機能、キーバインディングをほぼそのままインポートできる。初回起動時に「Import from VS Code」を選べば、慣れた環境がそのまま引き継がれる。

ただし、いくつかの拡張機能はCursorの機能と競合する。GitHub Copilotの拡張機能はCursorに含まれるAI機能と競合するため、無効化が推奨される。Tabnineも同様だ。

テーマとフォントはそのままでよい。Cursorの操作感に慣れるまでは、見た目は変えない方がいい。

Composer機能——マルチファイル編集の核心

Cursorの最も強力な機能がComposerだ。Cmd+I(Macの場合)で開くと、複数のファイルにまたがる変更を指示できる。

使い方の例として、「UserServiceクラスにメールアドレスのバリデーション機能を追加して、既存のテストファイルにもテストケースを追加して」と指示すると、Composerは関連するファイルを特定して変更案を提示する。変更のdiffを確認して承認するだけで、複数ファイルが一括更新される。

Composerで効果が出るのは、以下のような作業だ。

  • 新しい機能をスクラッチから実装する
  • 既存のコードを別のパターンにリファクタリングする
  • APIの変更に伴う影響ファイルの一括修正
  • 型定義の変更を伴う横断的な修正

逆に、1ファイルの中の小さな変更にはCmd+Kのインラインチャットの方が速い。Composerはオーバーキルになることもある。

Agent Modeで自律実行させる

Agent Modeは、Composerをさらに自律的に動かすモードだ。通常のComposerでは変更を提示して確認を求めるが、Agent Modeでは設定した範囲内でファイルの作成・編集・削除を自律的に実行する。

Agent Modeを使うとき、注意点が一つある。どこまで自律実行させるかの範囲を明確に指定すること。「この機能を実装して」という指示だけでは、予期しない変更が広範囲に広がる可能性がある。「src/features/authディレクトリの中だけで実装して」のように範囲を明示するのが安全だ。

また、実行前にGitのコミットを作っておくことを強くすすめる。Agent Modeの変更が意図と違っていたとき、すぐにgit checkoutで戻れる状態にしておく。

@Codebaseコンテキストの使い方

@Codebaseを質問の前に付けると、プロジェクト全体を検索した上で回答が生成される。

例えば「@Codebase でユーザー認証はどこで実装されている?」と聞くと、関連するファイルとコードを探して回答してくれる。新しいチームメンバーのオンボーディングや、しばらく触っていなかったコードベースに戻るときに便利だ。

@Fileでファイルを指定、@Folderでフォルダを指定、@Webでウェブ検索を組み合わせることもできる。複数の@指定を一つの質問に組み合わせて使えるのも強みだ。

.cursorrules——プロジェクトのルールをAIに伝える

プロジェクトルートに.cursorrulesファイルを作ると、そのプロジェクトでのAIの振る舞いをカスタマイズできる。これはClaude CodeのCLAUDE.mdに相当するものだ。

実際に効果的な内容を書くとすれば、以下のようなことを入れる。

# プロジェクトルール

## 技術スタック
- Next.js 15 (App Router)
- TypeScript (strict mode)
- Tailwind CSS
- Prisma + PostgreSQL

## コーディング規約
- コンポーネントはすべてアロー関数で書く
- propsの型は別ファイルに定義せずコンポーネントファイル内に書く
- APIルートはsrc/app/api/配下に置く

## 禁止事項
- anyを使わない
- console.logをコミットしない
- CSSモジュールは使わない(Tailwindに統一)

プロジェクト固有の判断基準やパターンを書いておくと、AIが生成するコードの品質が格段に上がる。特にチームで使う場合、.cursorrulesをGitで共有することでAIの振る舞いを統一できる。

Rules for AI設定——グローバルな振る舞いの調整

Cursorの設定画面にある「Rules for AI」は、プロジェクト横断でAIの振る舞いを設定できる場所だ。

ここに書いておくと便利な内容の例:

  • コードのコメントは日本語で書く
  • エラーメッセージは具体的な原因と解決策を含めて説明する
  • 提案するコードには必ず理由の説明を添える
  • テストコードはJestを使って書く

Rules for AIは個人設定なので、チームメンバーと共有はされない。個人の作業スタイルに合わせたカスタマイズはここに書き、チーム共通のルールは.cursorrulesに書く、という使い分けがよい。

よく使うショートカット

覚えておくと作業効率が上がるショートカットを整理する。

  • Cmd+K: インラインチャット(今の行の修正・説明)
  • Cmd+I: Composer(マルチファイル編集)
  • Cmd+L: チャットパネルを開く
  • Cmd+Shift+L: 選択したコードをチャットに追加
  • Tab: AIの補完候補を承認
  • Cmd+→: AIの補完候補を単語単位で部分承認

特にCmd+→の部分承認は見落とされがちだが、補完全体は使えないけど最初の数単語は使えるという場面で非常に便利だ。

Claude Code連携での使い方

CursorとClaude Codeを組み合わせると、それぞれの強みを活かした開発フローが作れる。

Cursorの中でコードを書きながら、大きなリファクタリングや横断的な変更が必要になったタイミングでターミナルを開いてClaude Codeに切り替える。CursorはエディタとしてのUI、Claude Codeはプロジェクト全体への自律的な変更、という役割分担だ。

どちらもAnthropicのClaudeモデルを使うオプションがあるため、指示の仕方や出力のスタイルが似ているのも連携しやすい点だ。

まとめ

Cursorを使いこなすためのポイントは、AIを「補完ツール」ではなく「実装パートナー」として使う意識の転換にある。Composerで大きな変更を任せる、.cursorrulesでプロジェクトのコンテキストを伝える、@Codebaseでコードベース全体を理解させる——これらを組み合わせることで、体感できるレベルで開発速度が上がる。設定に1〜2時間かけるだけで、その後の開発体験が大きく変わる。