AI
2023/11/22
與田 龍人

VSCodeはもういらない?新時代のAIコードエディター「Cursor」とは

CursorとはGPTを内蔵した、AIコードエディターです。開発作業をスピーディーかつ効率的に行うことが可能となります。今回の記事ではCursorが主に提供している4つの機能について実際に動かしながら紹介していきます。

はじめに

CursorとはGPTを内蔵した、AIコードエディターです。開発作業をスピーディーかつ効率的に行うことが可能となります。今回の記事ではCursorが主に提供している4つの機能について実際に動かしながら紹介していきます。

Cursorのインストール

こちらからCursorをダウンロードすることが出来ます。


自身のPC環境に合わせてダウンロードして下さい。


ダウンロードが完了すると以下のような設定画面が出てくるので、言語設定やCommand Lineでのインストールなどの基本的な設定を行います。


 



Cursorを開くといくつかのチュートリアル設置されており、READMEに基本的な操作が書かれています。基本的にはVSCodeをフォークして作られているため、UIに関しては親しみやすいかと思われます。



1.「comand+K」GPTを利用したコード生成の自動化

CursorはGPTを活用し、指示に基づいてコードを自動生成する能力を有します。この機能は、すでに存在しているGitHub Copilotとほとんど同じような機能ですが、より簡素化されており、開発者がタスクに集中できる環境を提供しています。



  • ここではPythonのチュートリアルを使って実際の機能を確認していきます。




  • 編集したい行に移動し「comand+K」でGPTを呼び出すことができます。


テキストエディター内で編集したい行に移動しcomand+Kを押します。GPTに対して指示を記述するチャットが現れます。ここではGPT-4もしくは3.5を選択することができます。



今回はStep1として用意されているタスクの3目並べを作っていきます。



ここでは3目並べをCLIベースで作成することが求められているため、以下のようなプロンプトを打ち込んでみます。



実行すると数秒のうちにコードが自動生成されます。



 



2.「CHAT」コード関連の質問への迅速な対応

Cursorでは開発者が全体のコードに関して疑問を持った場合や細かい修正が必要である場合、チャット機能で即座に回答を受け取ることができます。これは、関数の使い方やクラスのメソッドの詳細など、コーディングにおいて即時に必要となる情報を提供し、時間の節約に貢献します。


右のチャット画面から新たにチャットを開始することで、コードに関する疑問や意見を投げかけることが出来ます。




  • またエディター内で記述したプロンプトで出力されたコードの不備をユーザー側が確認した場合には、Follow-up instructions…から追加で指示を与えることができます。

  • コードに問題がなければAcceptを押すことでコードが確定されます。


 



3.「Auto-Debug」バグの自動検出と修正提案

Cursorには、バグを迅速に検出し修正案を提案する機能が組み込まれています。このAI駆動のデバッグツールは、特に複雑な問題や細かいミスの迅速な解決に役立ちます。


ここではエラーが出た場合を想定します。エラーが起きると「Debug with AI」と表示されるのでこちらをクリックします。



そうすると画面右のチャット欄で、シングルクォーテーション4つになっていることで文法エラーを起こしているということを検出し、3つに修正する提案をしてくれます。


さらに自身で修正を加えることも可能ですが、Apply to Current Fileを押すことで提案内容をそのまま適用することが出来ます。



バグの修正後、CLIベースで動く簡単な3目並べが完成しました。





4.外部ドキュメントの参照

Cursorは、開発者が外部の公式ドキュメントからGPT経由で素早く知りたい情報を得る機能を提供します。この機能を使用するには、チャットウィンドウで「@」記号の後にライブラリやツールの名前を入力します。そうするとDocsタブが出てくるため、必要な公式ドキュメントを選択し、知りたい内容を入力します。


試しにpandasのインストール方法について聞いてみると数秒のうちにドキュメントを参照し、最適な回答を返してくれました。



最後に

今回は主な4つの機能を紹介しましたが、Cursorには他にも多くの機能を備えています。Cursorによる基本的なAIアシスト機能は開発者にとっての強力な支援ツールとなり、効率的で生産性の高い開発プロセスを実現します。これにより、開発者は時間を節約し、より重要な開発作業に集中できるようになります。ぜひ皆さんも使ってみて下さい。

New call-to-action