⛳
Cursorをこれから触る人へ:設定と機能
Cursorをこれから触る人向け:設定とコア機能
という題で今回は書きます!
私は半年ほど前からCursorを使用して個人開発をしています。
これから使ってみたい人・設定で迷っている人に向けて、
公式ドキュメント+体験ベースでまとめてみました!
(進化も早いのでドキュメントも確認してください!)
📍[About]Cursorって?
- AI搭載IDE。
- ベースはVSCodeでありながら、
AIとのやりとりに最適化されたUIと機能が追加されているのが特徴です。
作られた経緯など,インタビュー動画
🏢 誰が作ったの?
- 開発元:Anysphere社(米スタートアップ)
- 由来:VSCodeをフォークし、「AIとの開発に最適化されたUX」を再設計
- VSCと互換性もあるのでショートカットなども同じで使いやすい!(独自のコマンドもあり)
🎙 インタビュー動画
-
Lex Fridman Podcast #447:
創業チームが開発背景を語る -
Latent Space Podcast - “The Future of AI Coding”:
プロダクト思想・VSCodeでは不十分だった理由など
Cursorのコア機能とおすすめ設定について
📍AIアシストの中核機能としては以下のようなものがあります。
このような機能の活用などについて、設定から追いながら書いていく。
機能名 | 説明 |
---|---|
Cursor Tab | 複数行の編集や指示ベースの補完が可能で、コードの文脈や変更履歴を活用して予測動作する。 (最近の変更履歴が保存されている) |
Chat | 通常のチャットに加え、YOLOモード(自動実行)制御の設定項目。 |
Docs | 外部サイト(MDNやTailwind等)のクローリング範囲を指定し、@Docs として検索・補完に活用。 |
Editor / Terminal | エディタ表示やターミナル操作周りの各種細かい制御。 |
CursorTab vs GitHub Copilot
🍟- デフォルトでは、CursorがGitHubCopilotよりも優先される設定になっているが、
Cursorを使うならばCopilotを無効化することが推奨されている。
→ どちらを使うか切り替えること可能。
@Symbols
🍟Cursorにおいて「AIに参照させたい文脈(コンテキスト)」を明示的に指定するための仕組みです。
チャットや Cmd+K
で @
を入力すると、
現在のプロジェクトや設定に基づいて選択肢が表示される
✨ @ 機能一覧 以下タブに格納↓
@ 機能一覧
項目名 | 説明 |
---|---|
Files & Folders | プロジェクト内のファイル・フォルダ単位で文脈に追加。特定ファイルだけ渡したいときに便利。 |
Code | 関数・クラス・変数などのコードシンボル単位で選択。より細かく制御したい場合に使う。 |
Docs | 外部ドキュメントを読み込ませる。MDN, Tailwind, Next.jsなどが対象。 |
Git | コミット履歴や変更差分など、Gitの状態を文脈として渡せる(例:git diff のレビュー)。 |
Past Chats | これまでの会話履歴を再利用して文脈として使用。会話の連続性を保ちたいときに◎。 |
Cursor Rules | User Rules や Project Rules を明示的に指定。AIがどのルールを参照するか制御できる。 |
Terminals | ターミナルの出力ログを渡す。ビルドエラーやログの読解支援に便利。 |
Linter Errors | ESLintなどの静的解析エラー結果を文脈として渡せる。エラー修正指示がより的確に。 |
Web | 任意のWebページを指定して読み込ませる。公式ドキュメントなどの補足に活用。 |
📍設定とその設定から機能をみていこう!
General
General | |
---|---|
VScode Import | VSCodeの拡張機能・キーバインド・設定をそのままインポート |
Appearance | エディタの外観設定 |
Privacy mode |
学習に使ってもいいか使わないかの選択。 リクエストはバックエンドを経由するので、データ(コード)自体は送られないわけじゃない。[※参考] |
Feature: Cursorの「AIアシストの中核」設定
Feature | |
---|---|
Cursor Tab | コード補完に関する設定 複数行の編集や指示ベースの補完が可能で、コードの文脈や変更履歴を活用して予測動作する。 (最近の変更履歴が保存されている) |
Chat | チャットとyoloモードに関する設定 Ask Cursor や Agentの動作挙動に関する細かな制御 |
Docs | クローリングする外部サイトの設定@Docs で外部サイトをコンテキストに含めることができる。→ デフォルトでスクレイピングされているサイトはこのページで確認可能。 |
Editor | エディタに関する設定 |
Terminal | ターミナルに関する設定 |
☠️ YOLOモード (Enable auto-run mode)
"確認なしでAIに変更を任せる" 自動化モード。
(試す価値はありましたが、本番には以下の内容等意識して慎重に...!)
Cursorの設定では以下のチェックボックスがYOLOモードに相当します:
feature>chat>Enable auto-run mode
🔧 YOLOモードで有効になる動作
機能 | 通常(auto-run OFF) | YOLOモード(auto-run ON) |
---|---|---|
ファイル保存 | 手動 or 確認ダイアログあり | AIが即保存(ユーザー操作不要) |
ファイル生成・削除 | 明示的に許可を取る | 勝手に生成・削除も可能 |
CLIツールの実行 | ユーザー確認あり | 勝手にCLI叩いて実行 |
Gitの操作(例: git reset) | 非許可 | 設定次第で実行可能(危険) |
⚠️ もしオンにするならば、安全対策として以下を併用すべき!
CursorSettings > feature > chat
保護機能 | 説明 |
---|---|
Command allowlist / denylist | 許可・禁止するコマンドを明示 |
Delete file protection | ファイル削除をブロック |
Dot files protection | .envや.gitignoreなどの編集防止 |
Outside workspace protection | ワークスペース外のファイル操作をブロック |
Rules
AIへの仕様書.自分専用の開発パートナーに育てるze⭐️
Rules | |
---|---|
User Rules |
ユーザー個人のルール AIとの全チャット・Command-K・提案生成において参照されるルール群. Cursor で開くリポジトリ、ディレクトリに関わらず、常に適用される。 記述形式は自然言語でOK! |
Project Rules |
プロジェクトごとのルール 特定のプロジェクトコードベースの命名規則やアーキテクチャポリシーなどをAIに教える仕組み。 ※.cursorrules ファイルが以前は使用されていたが現在は非推奨(将来的に廃止予定)とされていて、このsettingから設定するのが推奨されている。 → ルール自体は作成すると .cursor/rules/ 以下に.mdc という拡張子で保存される。 |
Project Rulesについて
• ルールはテキストおよび、ファイルのシンボルが使用できて、プロジェクト内のファイルを正確に指定することができる。
• ルールが発動する条件を細かく指定できる。
⚙️ 発動条件(Trigger Type)の指定:以下の4種類の条件で発動できる:
発動条件 | 説明 |
---|---|
Always | 常にAIの文脈に含まれる |
Auto Attached | globパターンに一致するファイルに基づき自動で参照される |
Agent Requested | エージェントが description をもとに、参照の要否を判断 |
Manual | プロンプトで明示的にルールを指定したときのみ参照 |
⚠️設定の注意
ここで登録されたルールの内容は、モデルコンテキストの先頭に取り込まれるため、
闇雲にたくさん設定することはトークンを消費するだけなのでよろしくない
※参考:how-rules-work
📚 他、設定時に参考になるページ
Cursor固有のコマンド等
Cmd + K(AIアクションを呼び出す魔法のショートカット!)
⚡️選択範囲に対して以下のAI機能を即時実行:
項目 | 説明 |
---|---|
Edit Selection | 部分的にコード修正提案を受ける |
Edit Full File | ファイル全体を対象にAI修正 |
Quick Question | コードに関する簡単な質問をAIに投げる |
Send to Chat | Chatモードへ選択コードを送信する |
Terminal Cmd K
ターミナルでも使えるよ
Chat モード(3タイプ)
💬モード | 特徴 |
---|---|
Agent | AIが直接操作まで実行(YOLOモード併用時に最強) |
Manual | 変更提案のみ。確認・反映は手動 |
Tools | AIがツール(コマンドやコード検索)を活用しながら補助 |
Discussion