今話題の『Cursor』をまとめてみた！　有料版の感想付き！

## はじめに
この記事は、エンジニア成り立ての「見習いエンジニア」が作成した記事になります。記事の内容で間違っているとことがありましたらコメントでご指摘いただけますと非常に励みになります！

## 概要
まず**Cursor**とは、

>より迅速な作業を支援する AI を活用したコードエディターです。Cursor を使用すると、自然言語でコードを編集したり、実行時エラーを修正したり、見つけにくいコードを見つけたりすることができます。
>
>>公式サイトから引用
>>https://cursor.sh/pricing

## Visual Stadio Codeとの互換性
CursorはVisual Studio Codeをフォークして作られていますので、Visual Studio Codeからスムーズに移行ができます。

さらに、Visual Studio Codeで使用していたすべての拡張機能、テーマなどを初期設定でインポートすることできますので、簡単な初期設定を済ませればすぐに今までと同じようにコーディングが可能となっています。

:::note info
**Github Copilot**も使用できることを確認しました
:::


## 機能について
続いては、Cursorの機能を紹介します。

### 1. AI edit
指定のコードを選択かコード内で**command + K**で、コードを編集および作成できる機能です。
都度都度、指定のコードの部分をコピペしてchatGPTに質問する手間が省かれるので非常に嬉しい機能です！

### 2. Chat
**command + L**　で画面右側にchat画面が展開されます。また、画面右上の**Toggle AI Pane**からでも展開されます。
ここで、chatGPTと同じようにchatで質疑応答が可能となります。
個人的にはこの機能が Cursor を使用する大部分になると思います。

:::note info
**RULES FOR AI**
chat画面ではMOREタブがあり、ここではchatGPTの**Custom instructions**のようなAIのルールを決めることができます。　

「返答はすべて日本語で返してください」と記載しておくと回答が日本語になりますので、返答後に再度「日本語で返答して」という面倒なやり取りをする必要がなくなります。
![スクリーンショット 2023-12-08 15.13.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3338070/77744c51-59be-89a0-6caf-0732dfd21c20.png)
:::

### 3. @ Symbols
chat機能もしくはAI edit機能で、@を使うと以下のようにファイルやフォルダ選択できる画面が表示されます。

![スクリーンショット 2023-12-08 14.52.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3338070/9aa06889-de99-c86a-27d2-1e85f40b83d9.png)

ここで選択されたファイルなどを参照したうえで、AIが回答をしてくれる機能です。依存関係があるファイルやフォルダをAIが参照したうえで的確な回答を得ることが可能となります。

### 4. Docs
また、ドキュメントを読み込むこともできます。先ほどの＠シンボルの選択画面から Docs → Add new doc で以下のようにドキュメントのURLを記載することでAIがドキュメントを読み込みます。そして、AIがドキュメント内容を理解したうえで回答することができます。

![スクリーンショット 2023-12-08 16.24.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3338070/f61cfebd-a9fc-3965-9303-a5a7dbade474.png)

大雑把なことをすれば、AIにドキュメントを読ませて要約してもらうこともできますし、また面倒な環境構築もAIがドキュメントを読み、環境構築する手順を回答してもらうことも可能になります。

![スクリーンショット 2023-12-08 18.25.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3338070/263e0208-4eea-0a6c-5b7d-b7f6ea98040a.png)

### 5. Codebase Answers
この機能が素晴らしくプロジェクト全体のコードを読み込んだうえで回答をしてくれる機能です。

使い方は、chat内で **@ + Codebase** を選択して質問する方法と、質問するときに**Command + Enter**　で質問する方法でプロジェクト全体のファイルを読み込んで回答をしてもらえます。

例えば、ある関数の動作に確認したい場合、その関数の動作、関連する他のコード部分、またはその関数がどのように使用されているかについて、AIがプロジェクトを参照して回答してくれます。

chatGPTではプロジェクト全体をプロンプトすることは不可能に近いので、この機能のためだけでも使う価値があると思います。

:::note warn
プロジェクト（ファイル数）の規模がおおすぎると、読み込みエラーになることがありました。どれほどの参照ファイルを確認したうえで回答しているのかは検証が必要な気がします。
:::

### 6. Auto-Debug
こちらは、ターミナルのエラーを修正する機能です。ターミナルエラーに表示される青いボタン「Debug with AI」からAIがログを調べて、chat画面でエラーの解消方法を回答をしてくれます。

![スクリーンショット 2023-12-08 16.44.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3338070/24ccff10-1a47-4036-37d5-d78a29518b9e.png)


## プランと料金

| プラン | Basic | Pro | Business |
|:-:|:-:|:-:|:-:|
| 料金 | 無料 | ＄20 | 1人/＄40 |
| GPT-3.5の使用回数 | 月/200回 | 無制限 | 無制限 |
| GPT-4(slow)の使用回数 | 月/50回 | 無制限 | 無制限 |
| GPT-4(fast)の使用回数 | × | 月/500回 | 無制限 |
| AIを活用したコード編集  |　○　|　○　| ○ |
| プライベートデータの保護  |　○　| ○ | ○ |

無料版でも基本的な機能は利用することができますが、より多くのデータやコードを扱うことになるのであれば有料版にすることをお勧めします。

## 無料版と有料版の違い
無料版と有料版の大きな違いはやはり、GPT-4の利用になります。上記での記載の通り、無料版でもGPT-4は使用可能ではありますが、月々の使用回数が50回と少なく、本格的に使うのであればあっという間に上限に達してしまいます。
>GPT-4の利用回数は、chatでの質問回数だけではなく、AIによるコード編集やAuto-Debug機能などchat以外でも回数に含まれるらしいです。

## 有料版を使ってみた感想
私が有料版（Pro)を１ヶ月ほど使用してみたところでは、あっという間に**高速GPT-4**の使用制限である500回に到達してしまいました。500回以降は、高速GPT-4は使用できなくなり自動的に低速のGPT-4に切り替わります。

~~低速がどれほど遅くなってしまうのか心配していましたが、現時点では「**ものすごい遅い！！」と感じることはありませんでした。**~~

:::note alert
**2023.12.19　追記**
GPT-４（Slow）のレスポンスが非常に遅くなっています！特に平日昼過ぎから夕方ごろまでの時間帯は、感覚で回答が終了するまで最長で１分程度かかることがあります。
:::

:::note warn
低速GPT-4に切り替わった後、「時間帯などによって速度が遅くなります」と警告が出てきますので、今後、利用者が増えるなどの要因によって速度が著しく遅くなる可能性は十分にあると思われます。
:::

:::note info
**GPT-4の使用回数をリアルタイムで確認できます**
画面右上の⚙マークから　Account → ⚙Manage でCursorの公式サイトに遷移します。ここで以下のようにGPT-4(fast)とGPT-3.5 turboの使用回数を確認ができますので、特に有料版利用者はGPT-4（fast）の500回制限を注意深く確認した方が良さそうです。
![スクリーンショット 2023-12-11 12.29.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3338070/338c7d79-4ce7-0b8c-ef2b-9b2bfb88a531.png)
:::

## 現時点での懸念点
１ヶ月ほど有料版でCursorを使ってみての個人的な懸念点は以下が挙げられます。

- 各Chatのタイトルを編集することができない
- プロジェクトを削除するとそこで会話したchat履歴が一緒に削除されて閲覧ができなくなる。

これらの課題は今後のアップデートで期待したいと思います。
>結構な頻度でCursorもアップデートをしているので近い日には懸念点が解消しているかもしれません。


## 最後に
個人的な感想として、Cursorは以前まで使用していたVisual Studio Codeとほぼ同じUIで使用感も同じなのですぐに慣れることができました。
また、Visual Studio Codeを使っていた頃はchatGPTと行き来するのが億劫でしたが、Cursorを使い始めてからはCursorだけで完結するようになったので、現在はchatGPTを使うことはなくなりました。

なので、イメージは `Visual Studio Code　+ chatGPT = Cursor`　なのかなあと思います。

これからも、 Cursorを使いながら使用感やアップデート内容を注視していきたい思います。

以上。

この記事を見ていただき、Cursorを使ってみたいと思った方は是非に下記URLからCursorをインストールしてみてください！！　そして使用してみた感想を頂けると幸いです！！

https://cursor.sh/