見出し画像

Cursor歴1ヶ月の私がよく使う機能を紹介する

こんにちは、ニケです。
皆さんCursor使っていますでしょうか?

私は10月の終わり頃から使い始め、VSCodeから切り替えて早くも1ヶ月が経ちました。

VSCodeのときは、ChatGPTと併用するか、拡張機能であるGenieをお供にペアプログラミングしてました。
Cursorもペアプログラミングするという意味ではやってること自体は同じなのですが、それでももうVSCodeには戻れないくらいには便利さを感じています。

今回は私が普段使っているCursorの機能について紹介します。

そもそも、Cursorってなんぞや?、って方は下記の記事を読んでいただければ理解いただけるかと思います。
正直、内容は被る部分もあるので、とあるエンジニアは実務でこんな風に使ってるんだよ、というのをお伝えできれば良いかなと思ってます。


何がそんなに便利なの?

冒頭でも言いましたが、ペアプログラミングするという意味では、「ChatGPTに質問する」とやっていることは基本的には変わりません。
違うのは、質問するまでが段違いに楽ということです。

今回は私がよく使う機能に絞ってその点を説明していきたいと思います。

機能紹介

コード選択chat欄に転記機能

名前は適当です。

質問したいコードを選択し、cmd + LコマンドでChat欄に貼り付ける事ができます。
ChatGPTとの併用だとブラウザ間を行き来していちいちコピペしなければ行けなかったと思いますが、その作業がなくなります。

ちなみに、コードは何個でも入れられるので、いろいろなファイルにまたがって何回も実行することで簡単にChat欄に貼り付けられるのが優秀です。

ファイル全選択 => cmd + L でファイル全体参照とかもできます。
また、ターミナルでも同じ方法でChat欄に貼り付けられるので、エラーコードに対して質問するときにも便利です。

コード選択その場で編集機能

コードを選択し、cmd + KでChat欄に移行せずにその場で指示ができます。
指示後は会話のやり取りはなく、一発でgit diffのような感じでコード変更前後を表示してくれるので、問題なかったらAcceptで反映できます。

気に入らなかったら Follow-up instructions で追加の指示を出すことも可能です。

ファイルシンボル機能

シンボルというのは、Chat欄で使える省略記号のことだと思ってもらえれば良いです。@から始まります。

現在は下記の種類があります。

ファイルシンボル機能では、「@ファイル名」とするとそのファイルを開かずにそのファイルの全コードをChat欄に貼り付けてくれます。
2つ前のコード選択でChat欄に貼り付ける機能も便利でしたが、これはファイルすら開かなくて良いのが強いです。

Chat欄の +Attach というところから「Files」を選択すると今開いているファイルの一覧がでてきてそこから選ぶことができますが、「@ファイル名」を途中まで入れると予測でリストを表示してくれるので私はこちらを使っています。

フォルダシンボル機能

「@/フォルダ名」で指定します。
指定したフォルダ配下のファイルを全て参照してくれます。

流石にChatGPTで聞くのは大変な作業もCursorなら一発です。

ちなみに、貼り付けたコードはどの機能を使っても参照元のファイルの相対パスの情報が送られるようになっています。強い。

Docsシンボル機能

予め指定したドキュメントのURLを参照して回答してくれます。
Indexを作っているみたいで一度読み込ませたらそれ以降は迅速な回答が可能です。

自分がよく使う言語やライブラリのドキュメントを読み込ませておくと、「@ドキュメント名  〇〇関数の使い方教えて」みたいに質問するだけで答えてくれます。

私は最近NestJSを使い始めたのですが、公式ドキュメントを読み込ませておくと簡単に質問できるのでかなり重宝しています。

Codebaseシンボル機能

いわゆるプロジェクト全参照機能です。@Codebase とするだけで現在のプロジェクトのファイルを全て参照したうえで会話ができます。

小さいプロジェクトではそのままでも良いと思いますが、そうでない場合は詳細オプション(Advance)から下記の設定をしてから質問するのが良いでしょう。

よく使う項目は上の3つです(そもそも下3つは使い方知らない…)

  • 対象とするファイル数

  • 含めるファイル対象(正規表現)

  • 含めないファイル対象(正規表現)

最後にCodebase機能を使うときの注意点を載せているのでぜひ確認してください。

ファイルに自動的に反映機能

ファイルを指定して修正案を提示してもらうとそのコードの右上に再生マークがついていることがあります。

Cursorではこのコードがどのファイルの修正案なのかを理解していて、このボタンを押すと該当ファイルに自動的にソースコードを反映してくれます。

途中から会話を再開できる機能

Chat欄では途中から会話をやり直すことが可能です。

例えばこんな感じで回答をもらったとして、指示が不適切だったのか微妙な回答をもらったとします。
その場合、よくあるChatアプリでは前の会話に戻れないので、「そうじゃなくてこうしたい」という旨の会話をしなければなりません。

Cursorでは前の質問をそのまま編集して再度送信することができます。地味に便利な機能ですね。

ただし、途中から始めた場合は元々あった会話は消えてしまうので注意が必要です。

注意点

金額に関して

ここまで便利な機能をいろいろ紹介してきましたが、一番気をつけなければいけない点が利用料です。

Codebaseシンボルによる全参照機能はとても便利です。ただし、おわかりの通り、それだけ大量のトークンを送っているということになります。

私はOpenAI APIキーを使用していた時、Codebaseシンボルを数回利用しただけで$3の請求料が発生したので怖くなって有料版($20/月)に切り替えました。

正直、今回私が紹介したようなCursorの機能をフルで利用したい方は有料版以外の選択肢はないと思います。

いちいち使用量を気にしなくて済む、心理的障壁がないのも良いですね。

Codebase機能に関して

この機能、便利なのですが多用すると回答が微妙になりがちです。

というのも、小規模プロジェクトならまだ良いのですが、中規模以上になると質問の対象となる部分のコードよりも、それ以外の全く関係ないコードが大部分を占めてしまうせいで意図した答えが返ってこないことが多いです。

Codebase機能を使うときは、雑に @Codebase だけを入れるのではなく、Advanceで要不要コードをちゃんと指定したり、フォルダシンボル機能を使っておおよその当たりをつけてから指示するのが良いでしょう。

おまけ

New AI Peoject

Cursorにはこういう名前の機能があって私も過去に試してみたことがあります。

何度もプロジェクトを立ち上げるとかでなければ頻繁に使う機能ではないので、こんな機能もあるんだ〜くらいで頭の隅にでも置いといてもらえればと思います。

宣伝枠

AI x 美少女でいろいろやってたりするのでフォローやチャンネル登録などしてもらえると大変嬉しいです。

下記はOpen Interpreterに美少女インターフェースをつけて、Linuxサーバーを遠隔操作しAPIを立ち上げ&新規エンドポイントを追加した、という動画です。


この記事が気に入ったらサポートをしてみませんか?