【2025年3月版】Cursorを使って爆速開発するために覚えておくべきこと9選

## はじめに
こんにちは、ITわんこと申します。皆さんはAIを使って開発してますでしょうか。
近頃はClineやDevinといったAIコーディングツールが話題になり、より一層AI駆動開発に注目が集まっているように思います。もはや現代のエンジニアリングにおいて、AIコーディングツールは必須要素であると言えるでしょう。

今回はそんなAIコーティングツールの中でも特に有名なツールである**Cursor**の使い方について、現時点での知識・TIPSをまとめてみようと思います。

## 結論
こんな記事読まなくても、この記事に全部書いてある。

https://zenn.dev/owayo/articles/cbca6b558918bd

というわけで、ここから先は自分の知識整理を踏まえた焼き増し+αになります。
それでも問題ない方はこの先も読んでいただけると幸いです。

## 注意
本記事は2025年3月上旬時点(`Cursor v0.46.8`)での情報をもとに執筆されています。
閲覧時点で投稿から時間が経っている場合は、情報が間違っている可能性があるためご注意ください。

## Cursorの基本機能一覧

### 1. 自動補完機能
Cursorにはコードの自動補完機能があります。AIによって提案された内容は灰色で表示され、`Tab`で採用、`Escape`で提案を却下することができます。
これこそがAIコードエディターの中核となる機能であり、似たような処理を書く際や関数のコメントなど既存のコードから推測できる内容であるほど正確に出力する傾向にあると思います。

![2025-03-1121.20.53-ezgif.com-video-to-gif-converter.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3891278/dc99dd43-8b92-4387-8d69-a968ea41afa5.gif)


### 2. Generate機能(⌘ + K)
ある特定のコードを指定し、そこに対して編集を行う機能。
後述のAgent機能やEdit機能の方が優秀なため、使われる場面は限られる印象があります。局所的な変更のみ行ってほしい場面では有効かもしれません。

![2025-03-0523.46.58-ezgif.com-video-to-gif-converter.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3891278/22f193c4-e171-46f6-8929-22c1eb8eb548.gif)

### 3. Chat機能(⌘ + L)
こちらは文字通り、AIエージェントと対話しながらコーディング・問題解決を行っていく機能です。
現在の`v0.46.8`では、Chat機能に`Agent`,`Edit`,`Ask`の３つのモードがあります。

![スクリーンショット 2025-03-11 21.27.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3891278/70807984-de1b-44bc-8f9a-c144b5a6f357.png)

#### Agentモード
こちらはAIエージェントと協力しながらパワフルにコード変更を行っていくモードです。Agentモードでプロンプトを入力した場合、Cursorは多くのコードを変更・追加しながら問題解決のためにガリガリとコーディングを行っていきます。
主に新機能の開発や、中~大規模の変更が必要な場面で使うのが最適だと思います。

#### Editモード
こちらはコードの修正をメインとしたモードです。Agentモードとは違い、指定したファイル内など限定的な範囲でのみ作業を行ってくれます。他の部分を変更されたくない際に使います。
前述したGenerate機能のほぼ上位互換となるので、多くの場合ではこちらを使えばよいと思います。

#### Askモード
こちらはコードの調査を目的としたモードです。他の2つのモードとは違い、Chatの応答は質問に対する回答をベースとし、回答の副産物として変更を提案する形となります。
Askモードはバグ調査やコードリーディングの段階で、コードの仕様について聞きたい時や問題の原因を特定したい時に利用すると良いと思います。

## Cursorで設定すべき項目

### 4. Rules for AI
こちらはCursor全体の設定としてAIエージェントに渡す事ができるプロンプトになります。
プロンプトにはどういう思考過程で出力して欲しいかを記述するのが良いと思います。内容によってエージェントがどれだけ論理的に思考してくれるかが変わってくるので、ぜひここは労力をかけて調整していただきたいです。

設定は左上のバーから`Cursor->基本設定->Cursor Settings->Rules`で行うことができます。

※自分はkinopeeさんの[cursorrules v5](https://github.com/kinopeee/cursorrules)を調整して使用しています。
![スクリーンショット 2025-03-11 21.32.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3891278/1c951673-e5e5-4296-951a-9b615fd30458.png)


### 5. Projects Rules
こちらは各プロジェクトごとに配置することができるプロンプトになります。ここでは、各プロジェクトにおけるディレクトリ構造や使っている技術スタックを記載するのが良いと思います。

また、Rulesファイルは複数配置することができます。Rulesファイルではプロンプトが適用されるファイルの拡張子を指定できるので、`*.ts`であればこのルール、`*.html`であればこのルールというふうに柔軟な形でプロンプトを使い分けることもできます。
![スクリーンショット 2025-03-11 21.35.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3891278/c004f021-bcd9-4d7c-baba-ecd7f96031ef.png)


### 6. YOLOモード
YOLOモードはCursorエージェントにコマンド実行を許可する設定です。
この設定では、エージェントが実行できるコマンドをホワイトリスト・ブラックリスト形式で指定することができます。またYOLOモードによるコマンド実行をどういう際に行ってほしいかをプロンプトとして入力することもできます。
ただ、個人的にはあまり効果を感じていないので、無理に設定する必要はない気がします。

設定は左上の`Cursor->基本設定->Cursor Settings->Features->Enable yolo mode`からできます。

![スクリーンショット 2025-03-11 21.42.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3891278/17f4dbfc-b07a-4362-aa0d-446b89040e99.png)

## 覚えておくと便利なTIPS

### 7. ⌘ + I (該当部分をChatのコンテキストに追加)
こちらのショートカットは、Chatに対して特定の行を参照してもらいたい際に便利です。
該当行を選択して⌘ + Iを押すと、コンテキストに該当部分が追加されます。

※ちなみにターミナルの内容もこちらで追加できます！

![2025-03-1121.56.44-ezgif.com-video-to-gif-converter.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3891278/eaf0566b-770b-41d2-9971-7308e45ead9e.gif)

### 8. @シンボル
Chatにて`@`シンボルを入力すると、Cursorが用意した特殊な方法でコンテキストに情報を追加することができます。

![スクリーンショット 2025-03-11 22.36.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3891278/ea2e2097-fbd8-4a21-92b9-e9926dbf50e7.png)


個人的に便利だと思っているのは以下の5つです。

**Files & Folders**
文字通りコンテキストにファイルやフォルダーを追加することができます

**Docs**
コンテキストに公式ドキュメントを追加する時に便利。
標準で設定されていないDocsは`Add new doc`で追加することができます。

**Summarized Composers**
別のChatで行われた会話を要約してコンテキストに追加することができます。
Chatが長くなると精度が落ちてくることがあるので、そのような際はこちらを使って内容を引き継ぎつつ新規チャットとして会話をリセットしてあげると良いです。

**Cursor Rules**
指定したRulesファイルを参照して作業をしてもらうことができます。
Rulesファイルに設定したファイルの編集であっても上手くRulesが読み込まれない時もあるので、その際はこちらを使いましょう。

**Web**
見たとおりですが、Web検索で得た内容を踏まえて返答を行います。

### 9. .cursorignore
Cursorに認識されたくないファイルを記述するためのファイルです。
envファイルなど機密情報を含むファイルをignoreに記載することを推奨します。
これにより機密情報をベタ書きするコードを出力することを防げたり、そもそもAIに機密情報を学習されることを防げたりします。

※`v0.46`では効果が微妙なのですが、プレビュー版の`v0.47`ではしっかり機能するようになっているようです。

![スクリーンショット 2025-03-11 22.52.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3891278/f848004f-c0fe-4adb-b11c-801e6d54ca0b.png)

## まとめ
というわけで本記事では`Cursor v0.46.8`時点での知識を整理してみました。

Cursorはまだ`version 1.0`がリリースされていないため、これから何度も破壊的変更が行われると予想されます。そのため本記事を読んで安心するのではなく、引き続きキャッチアップを続けていただければと思います。

それではCursorで良きプログラマーライフをお送りください！！　（・ω・）ﾉｼ