はじめに
最近CursorというChatGPTを搭載したVScodeライクなエディタが話題になっています。食わず嫌いは良くないということで、VScode歴3年の私が使用してみた感想を書いていこうと思います。
料金とリクエスト数
そこまで使っていないので、リクエスト制限に到達すると何が制限になるのかはわかっていません。無料プランだと1ヶ月で以下のリクエスト数です。
ちなみに、モデルの選択ではcursor-fastという謎のモデルがあります。筆者はこのcursor-fastを利用していますが、特に問題はなさそうです。
VScodeの拡張機能のインポート
Cursorを開くと、VScodeの拡張機能をインポートしますか?と聞かれます。これに同意すると、VScodeを利用している人は全ての拡張機能をCursorの拡張機能に入れることができます。
拡張機能を1から入れると考えただけでVScodeから離れられないので、拡張機能のインポートによってCursorダウンロードのハードルはかなり下がると思います。
@mention機能
Chatでは、先頭に@をつけることでファイル、フォルダー、ドキュメントなどを参照してくれます。このメンション機能が一番便利だと思っています。今のところドキュメント参照だけしか使っていないので、ドキュメントの参照について説明します。
ドキュメントの参照
Pythonのグラフ描写ライブラリであるMatplotlibのドキュメントを参照してグラフを描写してみました。拙い英語で指示をしています。(英語だと日本語よりもトークン数が約1/2でよくて、生成速度は約2倍だからです)
指示:@Matplotlib "2つのグラフを上と下に配置してください"
自動でコードが生成されます。
import matplotlib.pyplot as plt
import numpy as np
# Create some data
x = np.linspace(0, 2 * np.pi, 400)
y = np.sin(x ** 2)
# Create a figure and a set of subplots
fig = plt.figure(constrained_layout=True)
gs = fig.add_gridspec(2, 1, height_ratios=[2, 1])
# Create the first subplot
ax1 = fig.add_subplot(gs[0])
ax1.plot(x, y)
ax1.set_title('Big subplot')
# Create the second subplot
ax2 = fig.add_subplot(gs[1])
ax2.plot(x, -y)
ax2.set_title('Small subplot')
plt.show()
従来の方法だと、ChatGPTに移動→指示→コード生成→コピー→エディタに移動→ペーストの6ステップかかります。
しかし、このメンション機能を使うと、指示→コード生成→コピペの3ステップで完結するので、従来の方法よりも約1/2のステップ数です。
エディタの中で全てが完結するのは素晴らしいですね👍
最後に
他にも AIDebugでターミナルで発生したエラーの修正やリントエラーの修正、コードの中身を参照などといった機能があります。便利なので使ってみるといいと思います。制限次第ではCursorに移行することも考えています。