生成AIを活用してプログラムが書けるエディタ「Cursor(カーソル)」がかなり話題を集めています。始めて利用する方には分からない点も多いと思うので、基本的な使い方や機能について説明したいと思います。
Cursorとは
CursorはAI支援によるコーディング体験を強化したエディタで、最近話題になっているClaude Sonnet 3.7を無制限で利用することができ、AIによるコード生成の精度やレベルもかなり高く、実際にCursorを使ってコードを書いている人の数もかなり増えてきています。
Visual Studio Code(VSCode)のオープンソース版を基盤に作られているので、VSCodeを使ったことがある人であれば使い方や使用感が同じなのでかなり自然に使い始めることができるはずです。設定や拡張機能などもVSCodeからインポートすることが可能です。
Cursorの特徴
コード生成支援
Cursorは複数のAIモデルから利用したいモデルを選択して、プロンプトやコードの内容を投げることで、AIによってコードを生成したり修正したりすることができます。
最近話題のClaude Sonnet 3.7もProプランに登録していれば無制限で利用することができます。(一定回数以降は低速モードに移行)
詳しい使い方は下記で紹介しています。
コード補完
Cursor Tabという機能が用意されていて、コードを書き始めるとその続きのコードをAIがサジェストしてくれ、Tabを押すだけでコードに反映することができます。
他のツールでも同様の機能を提供しているものはありますが、Cursor Tabは精度の高さが評判で、自分がやりたいことを汲み取ってサジェストしてくれるような感覚を得られるため、これに慣れてしまうとCursor無しでのプログラミングに戻れなくなります。
Cursorのインストール方法
Cursorは公式サイトからダウンロードし、インストールすることで利用することができます。また利用開始にはアカウント登録が必要になるので、これからCursorを利用するという方はひとまずHobbyプランを選択してアカウントを作成しておけばいいと思います。
導入時の注意
Enable usage-based pricingをオフにしておく
Cursorの公式サイトからアカウント設定を開くと、「Enable usage-based pricing」という項目が表示されます。(Proプラン以上)
これがオンになっていると、制限を超えて高速リスエストを利用した場合に、その利用分が従量課金となってしまい、知らずに使っていたら料金が高額になってしまっていたという自体が発生する可能性があります。
それを理解した上でオンにしておくことはもちろん問題ないですが、従量課金を利用したくない場合はオフに設定しておくようにしましょう。
Cursorの基本的な使い方
1. AIとのチャットによるコード生成・コード修正
生成AIにプロンプトやコードの内容を投げることでコードを書いてもらうことができます。
チャットには
- Agent(従来のComposer Agent)
- Ask(従来のChat)
- Edit(従来のComposer Normal)
の3種類のモードがあります。
Agentモード
デフォルトのモードであり、AskとEditの機能に加えて、ツールや推論能力を活用して複雑なタスクを処理することが可能。コードベース全体の変更やリファクタリング、新機能の実装、複数ファイルにまたがる複雑な問題のデバッグ、テストやドキュメントの生成、プロジェクト全体の一貫性の維持などに使用することができ、基本的にはこのモードを使うことが多くなると思います。
Askモード
コードに関する質問や説明を受けたり、コードベースを探索するためのモードです。特定のコードセクションについての質問、複雑な関数の説明、コードパターンや例の検索、コードベースの理解などに使用します。
もちろん、Askモードで得られたアウトプットもApplyすることでコードに反映することが可能。コードを直接編集せずに生成AIに壁打ちや質問をしたい場合に利用すると良いでしょう。
Editモード
コードに対して単一の編集を行うためのモードです。ファイルに対して精密な変更を適用し、変更内容を確認して適用することができます。影響範囲の小さな修正については、Editモードで利用すると良いでしょう。
基本的な使い方
ファイル編集時に Command + L
や Command + K
のショートカットからチャットウィンドウを開くことができます。
上記の3つのモードは、チャットウィンドウで Command + .
のショートカットから簡単に切り替えが可能です。
2. コード補完
Cursor Tabによるコード補完を有効にするには、Cursor Settings→Features→Cursor Tabにチェックを入れることで有効化することが可能です。
もしくは、 Cmd + Shift + P
でコマンドパレットを開き、
- Enable Cursor Tab
- Disable Cursor Tab
のそれぞれを選択することでCursor Tabの設定を切り替えることも可能です。
Cursor Tabが有効化されている状態でコードを入力すると、AIが文脈や意図を汲んで入力中のコードをサジェストしてくれます。サジェストしてくれたコードを採用したい場合は、Tabキーを押すだけでコードが反映されます。
このコード補完が非常に強力で、Tabキーをポンポンと押していくだけでコードが書けてしまうこともあり、かなり役立つので必ず設定でオンにしておくことをおすすめします。
Cursor Tabのサジェストが出ない時は?
Cursorを使っていてサジェストが出ないという場合、以下のいずれかに該当する可能性が考えられます。
- 無料プランの制限を超えてしまった
- Cursor Tabの設定がオフになっている
Cursor Tabが有効になっていてコード補完が使えないという場合は、有料プランに登録すると使えるようになる可能性があります。
また、Cursorのコード補完は、Github CopilotやGeminiのようにただカーソルを動かすだけではサジェストが表示されず、コードを書き始めると続きを補完してくれるような機能になっているため、Cursor Tabを試したい時はコードを実際に書き始める必要があります。
3. Command + K
一部のコードを選択したり、コードの中の特定の場所でCommand + Kのショートカットを利用することで、ファイル上でLLMを使って簡単に編集することが可能です。
いちいちチャットウィンドウを利用するのが面倒という方は、Command + Kからファイルの編集がおすすめです。慣れるまではあまり使わないかもしれませんが、結構便利な機能なので覚えておくといいでしょう。
さらにCursorを活用するための便利な機能
.cursorrule
の設定
.cursorrule
はプロジェクト固有のルールやガイドラインを定義するために使用します。このファイルをプロジェクトのルートディレクトリに配置することで、AIがプロジェクトの特定のニーズやコーディングスタイルに合わせて動作するように調整でき、細かなコードの規則や記法などを指定することができるので、自分のスタイルに合わせたコードを生成したい場合や、チームでコードを記述する場合にルールを共有しておくと統一されたコードを書きやすくなります。
cursor.direcotryというサイトがあり、様々なルールが公開されているので、そのままコピペで使ったり、自身のルール作成の参考にしたりすると良いでしょう。
Docsで適切に情報を与える
Docsは、外部のドキュメントやAPI仕様書などをAIに読み込ませ、コードの生成や編集時にそれらの情報を参照させることができる機能です。
例えばNext.jsを採用している場合であれば、Next.jsの公式ドキュメントをDocsに指定しておくことで、AIによるコード生成時にそのドキュメントを参照してコードを生成してくれるので、使用する関数やコンポーネントの使い方を正しく反映したコードを提案してくれます。
また、Docsにはプロジェクト独自の技術仕様書やチームのコーディングルールを登録することもできます。例えば、社内で決められたディレクトリ構造や、特定のライブラリの推奨使用法などをDocsに登録すれば、AIがそれらを考慮したコードを生成し、プロジェクト全体の一貫性を維持するのに役立ちます。
YOLOモード
Cursorは基本的に、AIが提案してくれたコードを人間が承認する形でコードを記述していくスタイルですが、YOLOモードを利用することで人間の承認ステップをスキップしてしまい、自動でコードへ反映することが可能になります。
スピードは向上するかもしれませんが、誤ったコードに変更されたり、予期せぬ動作を起こしてしまう場合もあるため、現時点では基本的には利用しない方がいいと思います。
Cursorの料金プランの違い
Cursorは無料プランでも利用することが可能ですが、実際に使用しているとリクエスト回数があっという間に上限に達してしまいます。個人で利用する場合、がっつりCursorでコードを書きたいと考えている人であれば、月20ドルのProプランへの登録が実質的に必要になるでしょう。
具体的な料金とリクエスト数の表は下記の通り。
プラン | 料金 | リクエスト数 | その他の機能 |
---|---|---|---|
Hobby | 無料 | 50回/月まで | 2000回のコード補完:brPro版の2週間トライアル |
Pro | 20ドル/月 | 500回/月の高速リクエスト:br無制限の低速リクエスト | 無制限のコード補完 |
Business | 40ドル/月 | 500回の高速リクエスト:br無制限の低速リクエスト | 無制限のコード補完:br組織全体でのプライバシーモード適用:brチームの一括請求:br利用状況を確認できる管理者向けダッシュボード:brSAML/OIDC SSO |
まとめ
実際にCursorを使って開発してみましたが、かなりの量のコードをCursorにまかせることができるので、作業効率がぐっと上がりました。
特に複数ファイルにまたがるような修正があった場合にも、自動でそれらのファイルを1つずつ修正してくれるので、コード生成だけでなく、ファイル探索などにもかなり有用なツールだと思います。