Cursor体験

2024-10-08  /  開発環境Visual Studio CodeツールCursor

VSCodeをベースに開発されたAI Code Editorということで触ってみました。

きっかけ

最近ちらほらと Cursor という単語をXで見かけていて、先日こちらの記事

Cursorを1年弱触っているエンジニアの最近の使い方

を読んで、便利そうと思ったので試してみました。

VSCodeからの移行のサポートが良い

Cursorの初期セットアップ時に、VSCodeで使用している拡張機能を同じようにインストールすることができるし、ショートカットも移行されていました。こういった作業の手間が軽減されているのはとても良いですね。

エディターの使い心地はVSCodeとほぼ変わらず(それはそう)、チャット用のパネルが設けられているのが違う点かなと思います。

AIのモデルは複数利用できる

色々選択できるようですが、詳しくないので記事に合わせて設定しました。複数のサービスのモデルを利用できるので、個別のサービスに登録するよりお得なんでしょうか?(APIが使えないとかありそう)

なんか回答が微妙だなって時にモデルを変えられるのも良いですね。

chatとエディタの連携がスムーズ

ここがウリの機能だとは思いますが、すごい使いやすいです。chatを開いた時に編集しているファイルを自動で読み込むようになっているので、わざわざコードを入力欄に貼り付けたりする必要がありません。
また、Cursorのターミナルで実行した結果、例えばコンパイルエラーやコマンド実行時の出力なども、範囲選択してからショートカットでchatに送ることができます。

さらに、コードと連携してない状態でもchatは利用できますが、そこで得られたコードを編集しているファイルに適用することもできます。この際に差分の単位で適用することもでき、とても便利です。

ドキュメントを読ませることもできる

Webサイトを読み込ませて参考にさせることもできるっぽいです。例えば、言語のバージョンアップでAPIが変わってるとかにも対応できるのかな…。

体感では思った効果がないので、使い方を間違っているのかもしれません。

言語によって使い心地は変わるかも

CursorやVSCodeに限らずモデルの範疇になりますが、元となる情報量(コードの量)が言語によって違うと思うので、AIによるプログラミングのサポートも質が変わるのかなぁと思っています。

実際Zigのコードについてはまぁ微妙な感じです。素直にコンパイルできないレベルのコードも良くあります。Zig自体がまだまだ安定した言語ではないですし、非互換の変更が多いからかなとは思います。Zigに関しては無効化してても良いかなぁって思うこともありますね。

GoやTypeScriptだとそこまで違和感ないです。シェルスクリプト書かせたりするのも地味に便利かなぁと思ったりします。

VSCodeをそもそも使いこなしてない

ここまで書いてたら、最近VSCodeのアップデートがありました。GitHubCopilotとの連携強化らしく、色々とアップデート内容を見ていると全然使いこなせてないなと正直思いました。

チャット上でファイルを参照しやすくなっていたりするので、無料でもこの程度使えるのなら別にこれでも良いかなぁと…。値段に納得できればCursorの方が便利なのは間違いないですが。

もうちょっとVSCodeを使いこなしつつ、Cursorもウォッチしていこうかなと思いました。