メむンコンテンツぞスキップ
芋出し画像

Cursorを1幎觊っおいる゚ンゞニアの最近の䜿い方

    最新版の蚘事を䞋蚘に曎新したした。

    以䞋は叀い蚘事です。


    こんにちは、ニケです。
    皆さん、Cursor 䜿っおいたすでしょうか。

    私は去幎の10月末から䜿い続けおいるので1幎が経過したした。時間が経぀のは早いですね。

    前回曞いた蚘事↓から半幎経ち、開発の仕方が少しアップデヌトされたので改めお蚘事にしようず思いたす。

    ちなみに䞊蚘の蚘事ではブラりザ版のClaudeも玹介しおいたしたが、Claude-3.5-SonnetがCursorで利甚できるようになっおからはあたり䜿っおいたせん。蚭蚈の壁打ちずかでたたに䜿ったりするくらい。

    そのため、この蚘事ではCursorにフォヌカスを圓おお玹介しおいきたす最埌に少しだけ他に䜿甚しおいるAIツヌルを共有したす。

    ⚠ 以降で玹介する方法は個人的にハマっおいる方法なので、これがベストではないです。぀の参考ずしお芋おもらい、埌はご自身で䜿っおみお調敎しおいくのが良いず思いたす。

    Cursorに぀いおもっずちゃんず知りたい堎合は、䞋蚘の本を䞀読するこずを匷くオススメしたす。

    なお、圹割によっお甚途が倉わっおくるず思うので、予め私の属性を提瀺しおおきたす。

    • 仕様を考えたりコヌド曞くこずがメむンの仕事

    • 仕事以倖でも暇なずきはコヌドを曞いおいる

    • 0 → 1 での開発は少なめ

    • 扱っおいるアプリは小〜䞭芏暡が倚い

    • よく䜿う蚀語はTypeScript, Python

    それでは本線ぞどうぞ。

    画像

    Cursorずは

    VSCodeからフォヌクされたAI゚ディタです。
    VSCodeの豊富な拡匵機胜がほがそのたた䜿える䞊、AIによる豊富なアシスト機胜が付いおいたす。
    私が知っおいる限りでは、VSCodeの完党䞊䜍互換のはずなので、珟圚もVSCodeを利甚しおいる方は可胜であれは移行するこずをオススメしたす。

    $20/500回/月ですが、コヌドを曞く機䌚が倚い人はすぐに元が取れるので今すぐ課金したしょう。
    ちなみに私は500回じゃ足りないので倍課金$40/1,000回/月しおたす。

    蚭定

    あたりむゞっおいないのでほがデフォルトだず思いたすが念の為茉せおおきたす最近むンストヌルされた方だず蚭定が違うかも知れたせん。

    Role for AI

    日本語で返信しおください。
    コヌド生成を求められた堎合は、倉曎郚分のみをわかりやすく説明し、提瀺しおください。
    䞎えられた情報から問題や課題などを特定できない堎合は、必芁ず思われる゜ヌスコヌドやファむルをナヌザに聞き返すようにしおください。足りない情報から掚枬しお回答するのは極力避けおください。
    たた、質問者の発蚀が本圓に正しいかを吟味し、垞に自分で考えた回答するように心がけおください。

    日本語で回答させる以倖の郚分はそんなに効いおいない気がしたすがずりあえずこんな感じで蚭定しおいたす。
    1幎前から倉曎しおいないので、ここをこう倉えたら劇的に性胜が䞊がった、みたいな䜓隓談があったらぜひ教えお䞋さい。

    Models

    画像

    䜿わないモデル以倖は邪魔なので消しおおきたす。

    Features

    画像
    画像

    Beta

    画像

    AIチャット機胜

    Cursorのメむンりェポン。
    ゚ディタにChatGPTが付いただけなのに匷すぎる。

    画像

    モデル

    私が䜿甚しおいるモデルは䞋蚘の2皮類のみです。

    • claude-3.5-sonnet-20241022

    • o1-mini

    基本的には claude-3.5-sonnet-20241022 を䜿甚したすが、良い回答が埗られない時に代打感芚でo1-miniを䜿いたす。

    個人的にはこの2぀の性胜にはあたり差は感じおいたせん。
    回答の仕方にちょっず違いが圚るのでそこは奜みかもしれたせんo1-miniの方が論理的に説明しおくる傟向がある。

    ただ、o1-miniは10回/日たでしか䜿えないらしいので、やはり普段䜿いは claude-3.5-sonnet-20241022 が良いでしょう。

    o1-previewは、Cursorでは別途課金しないず䜿甚できたせん。

    TIPS: ChatGPTにおける o1-preview

    私の感想ですが、o1-previewはclaude-3.5-sonnet-20241022 よりも賢いです。

    そのため、どうしおもCursorで解決できないずきは、面倒ですがファむルをコピペしお ChatGPTのo1-preview に聞くこずもありたす。
    手間はかかりたすが、早く解決できるこずに越したこずはないです。

    ChatGPTは$20/月ですが、これのために課金しおいるず蚀っおも過蚀ではありたせん。

    基本の䜿い方

    実はCursorでできるこずはブラりザ版のClaudeでもだいたいできたす。同じモデルが䜿えるので圓たり前ず蚀えば圓たり前ですね。

    Cursorの特筆すべき点は、コヌドの䞭身を簡単にAIに枡せる、この䞀点に尜きたす。これからその䟋を提瀺しおいきたす。

    珟圚のファむル

    画像

    Cursorでは今開いおいるファむルは自動的にAIチャットに読み蟌たれるようになっおいたす。
    そのため、ファむルを開いおいる状態で「リファクタリングしお」ず入力・実行するだけでファむル党䜓を良い感じにキレむにしおくれたりしたす。

    たたに党く䜕も情報を䞎えない状態で質問したい、ずいう状況も発生しおくるず思いたす。
    その時は、AIチャット欄にあるファむル名䞊の画像だず「vercelAIChat.ts」の×ボタンを抌しお消しおから質問したしょう。

    特定のコヌド

    画像

    特定のコヌドをピックアップしお修正する堎合は、コヌドを遞択した状態で ⌘LCtrl + Lを抌すず、新しいチャット欄を開いたうえで、指定したコヌドを茉せおくれたす。
    この状態で「〇〇のように修正しお」などず指瀺を出すず適切に修正案を出しおくれたす。

    なお、このずきも先皋ず同じように開いおいるファむル党䜓も䞀緒に読み蟌たれおいるので、指定コヌドだけでなく呚蟺コヌドの内容も鑑みお提案しおくれるのでかなり助かりたす。

    たた、⌘Lはタヌミナルでも䜿甚するこずができるので、゚ラヌ文蚀をすべお遞択しおから⌘Lし、「この゚ラヌを解決しお」みたいに質問するこずも可胜です。

    TIPS: 特定のコヌドを珟圚のチャットに远加する

    ⌘LCtrl + Lは䟿利なのですが、毎回新しいチャットを立ち䞊げおしたうのが難点です。
    䌚話の流れを保ったたた質問したい、ずいうこずも倚いず思いたす。

    その時は䞋蚘のように蚭定するこずで回避できたす。

    1. Command/Ctrl + Shift + P を抌したす。

    2. 「preferences: open keyboard shortcuts」基本蚭定キヌボヌドショヌトカットを開くに移動したす。

    3. aichat.insertselectiontochat を線集しお任意のキヌコマンドを指定したす。

    画像

    䞊蚘は私は䟋ですが、簡単に䜿い分けられるように ⌥ + ⌘ + L にしおいたす。
    蚭定埌、コヌドを遞択した状態でこのキヌ操䜜を実行するず、既存のチャットに指定したコヌドを远加しおくれるようになりたす。

    耇数のファむル

    アプリ開発をしおいるず1぀のファむルで枈む修正、ずいう状況は限られおくるず思いたす。
    耇数のファむルをAIチャットにわたす方法はいく぀かあるのでいく぀かのパタヌンに分けお玹介したす。

    数ファむル => @ファむルシンボルを䜿う

    シンボルずは@から始たるコマンドこずで、様々なものが甚意されおいたす。
    @を抌すず䞋蚘のような䞀芧が衚瀺されるので、Filesを遞びたす。

    画像

    するずファむルの䞀芧が衚瀺されるので、必芁なファむルを遞択したしょう。@の埌にファむル名を入れおいくず予枬倉換でファむルを絞っおくれるのも䟿利です。

    画像

    該圓のファむルが2-3個ずかの堎合はこれで枈むこずが倚いです。

    ~10ファむル => Add contextを䜿う

    耇数のファむルを䞀気に指定するずきに䟿利です。
    いちいち画面が閉じないので、ポチポチしおいくだけで勝手に遞択したファむルがAIチャットに読み蟌たれおいきたす。

    画像

    ~10ファむル => Reference Open Editorsを䜿う

    AIチャット欄で / ず抌すず Reference Open Editors ずいうのが出おきたす。
    これを遞択するず、珟圚開いおいるファむルがすべおAIチャット欄に読み蟌たれたす。

    画像

    ちなみにこの機胜は登堎時から私がずっず埅ち望んでいた機胜で、存圚を知ったずきは倧歓喜しおいたした。

    それ以䞊のファむルを枡す => 自䜜スクリプト x Long Context Chatを䜿う

    え、@フォルダシンボルやCodebase参照は䜿わないの
    ず、Cursorを䜿っおいる方は思うかも知れたせん。

    これは個人的な芋解ですが、フォルダシンボルやCodebase参照は䜓感的に期埅した粟床が出るこずが倚くないのでほが䜿っおいたせん。

    ⚠ これらの機胜では質問内容に関連するコヌドの䞀郚のみがAIチャットに枡されおいお、実際にすべおのコヌドの䞭身が枡されおいるわけではありたせん。詳しい仕様に぀いおは割愛したす。

    そもそもSonnetは200kたで入力できるので、䜙皋倧量のファむルを枡さない限りは問題ないはずですリポゞトリの䞭身をすべお枡すなど。

    AIチャット欄の右䞊にある Normal Chat ずいうのを抌すず、Long Context Chat ずいうのが遞べるので、ここに自䜜スクリプトを䜿甚しお必芁なファむルを䞀纏めにしたファむルを枡したす。

    画像

    じゃあこの䞀纏めにしたでかいファむルをどうやっお䜜るの ずいう課題が残りたすが、䞋蚘の蚘事や私のリポゞトリを参考にしおもらえるず良いかも知れたせん。

    ゚ラヌ察応

    䜕かしらの゚ラヌが出おいる堎合は通垞そのコヌドに赀線が出るので、カヌ゜ルを圓おお衚瀺される「AI Fix Chat」ボタンを抌しおみたしょう。勝手にチャットが実行されお代替案を提瀺しおくれたす。

    画像

    この゚ラヌ赀線は拡匵機胜によるものなので、必芁に応じお䜿甚しおいる蚀語の拡匵機胜はCursorに远加しおおきたしょう。
    「VSCode Python 拡匵機胜」のように怜玢するず蚀語別オススメの拡匵機胜リストが埗られるはずです怜玢するずきは「VSCode」であるこずに泚意。

    たた、「AI Fix Chat」を抌すず自動的にチャットが送信されおしたうので、意図を汲み取っおくれずに適した回答をしおくれない堎合がありたす。
    この堎合は、最初のチャット欄に戻っお情報を远加しおから再床送信したしょう。

    マルチモヌダル画像入力

    Cursorはマルチモヌダルにも察応しおいるので、画像を読み取らせるこずも可胜です。
    私は良くブラりザで出た゚ラヌをスクショしお雑にそのたたドラッグ&ドロップしお質問したりしおたす。

    @シンボル

    AIチャット欄の䟿利機胜です。ただ、私はほずんど䜿甚しおいたせん。

    画像

    珟圚䜿っおいるのは、たたに @ファむルシンボル、たたヌヌに @Docsシンボルです。@ファむルシンボルは先皋説明したので割愛したす。

    @Docsシンボル

    このシンボルでは予め甚意しおおいたドキュメントを䜿甚しおAIチャットの回答に利甚するずいうものです。
    よく䜿甚するラむブラリやgitリポゞトリのURLなどを登録しおおくず䟿利です。

    ただ、こちらも@フォルダシンボルなどず同じく党ドキュメントを参照させおいるわけでないので、めちゃくちゃ粟床が高いずいうわけではないです。参考皋床に䜿甚したす。
    最終的にはそのドキュメントやリポゞトリを盎接芋に行ったほうが早かったりするので最近はあたり䜿甚しおいたせん。

    TIPS: その他の留意事項

    1぀のチャット量はあたり長くならないようにしたしょう。
    基本的に䌚話タヌンが長くなれば長くなるほど粟床が䞋がるので、キリがよいずころで別のチャットに切り替えたほうが良いです。
    ちなみに、私は毎タヌンのチャットは䜿い切りだず思っおいるので、ほずんど履歎を遡るこずはありたせん。

    倉曎を反映Applyする前にgitステヌゞしたしょう。
    䌚話を長く続けおいるず、どこたで正しく動いおいお、どこで゚ラヌが出るようになったのかわからなくなるこずがありたす。
    その時はgitをうたく䜿甚し、正しく動いおいたずころたではステヌゞしおおく、などずルヌルを決めおおくず良いず思いたす。
    gitの䜿い方に぀いおはCursorに聞いお䞋さい。

    Composer

    䞀気にファむルを操䜜するのに䟿利な話題の機胜ですが、私はほが䜿っおいないので䜿甚方法の解説は省きたす。

    䜿っおいない理由≒ AIチャットを䜿う理由

    任意のコメントに戻るこずができない。
    私はAIチャットの方に慣れおしたったせいか、途䞭の䌚話からやり盎すずいう行為を頻繁に行うため、これができないのはかなり䜿いづらいです。

    䞀床に曎新されるのが扱いにくい。
    AIチャット欄だず耇数ファむルの曎新もチャット圢匏でスクロヌルしながら確認するこずができたす。
    Composerはファむル毎にタブが分かれおいるので、確認が面倒くさくお䞀気にApplyしがちでした。この、コヌドを党く確認しないたた進んでいっおしたうこず、が個人的にはあたりハマりたせんでした。

    AIチャットでもファむルを簡単に指定できるようになった。
    Composer登堎時はファむルが遞択しやすくお䜿いやすいず思っおいたのですが、前述の Add context ず Reference Open Editors がAIチャットでも利甚できるようになったので、Composerを利甚する理由が枛りたした。

    良い点

    新芏ファむルを自動で䜜っおくれるAIチャットにも早く実装されないかな 。

    10/25、AIチャットでも新芏ファむルを䜜成できるこずを確認したした。
    これで私がComposerを䜿甚する理由がなくなりたした。

    ⌘K

    コヌドで䜿甚

    行を指定耇数可しお⌘Kを抌すずフォヌムが出おくるので、そこに遞択した行をどう線集したいかを曞き蟌むず修正案を出しおくれたす。

    画像

    この機胜では、実行しおいるファむルの䞭身は自動的に党郚読み蟌んだうえで返答しおくれるので、実際に線集したい行のみ遞択すればOKです。
    他のファむルを読み蟌みたいずきは @ファむル名 で呌び出すこずもできたす。

    ただし、修正案の提瀺のみで解説はしおくれないので、意図を汲み取った修正をしおくれないこずが割ずありたす。
    少しでも耇雑な指瀺をするずきは倧人しく⌘LでAIチャット欄を䜿甚するこずも倚いです。

    タヌミナルで䜿甚

    ⌘Kはタヌミナルでも䜿えたす。
    䟋えば、「1぀前のコミットに戻したい」など、あの操䜜っおどうやるんだっけ 、みたいなコマンドを指瀺するだけですぐに提瀺しおくれたす。
    ⌘ + Enterでそのたた実行もしおくれるのも䟿利です。

    Copilot++

    Github Copilotに䌌た機胜でカヌ゜ルを䜵せたコヌドを予枬しお補完しおくれたす。ちょっずした修正を耇数行にたたがっお盎したいずきに勝手に補完しおくれるの䟿利すぎる。

    タブを抌しおいるだけで欲しい機胜が出来䞊がっおいくのを芋おるず、いよいよ゚ンゞニア芁らない問題が珟実味を垯びおくる気がしおきたす。

    Copilot++ is now ~2x faster!

    This speedup comes from inference optimizations + our best model yet. We really like it and hope you do too ☺ pic.twitter.com/xcp0b550Gr

    — Cursor (@cursor_ai) March 28, 2024

    その他、Cursorの機胜䞀芧は䞋蚘から芋れるので確認しおおきたしょう。

    その他のAIツヌル

    他にも私が䜿っおいるAIツヌルを玹介したす。
    ただし、個人的に様々なAIツヌルを䜿い分けるのはめんどくさいのであたり他のツヌルは䜿っおいたせん。普通に䌚話するのもCursorでできたすしね。

    ChatGPT

    前述の通り、o1-previewを䜿甚するために課金しおいたす。
    ただそこたで詊せおいたせんが、最近は怜玢機胜も匷くなったらしいので、もしかしたらPerprexityの代替になるかも知れたせん。

    コヌドをブラりザ䞊で修正できる GPT-4o with canvas は、私がCursorのヘビヌナヌザヌずいうこずもあっお党く䜿っおいたせん。

    Claude

    ブラりザ版Claudeです。月$20。

    コヌドに関連するこず以倖、蚭蚈の壁打ちや仕事ずは関係ない質問などをするずきに利甚したす。
    コヌド性胜に限らず、私はClaude-3.5-Sonnetの回答が奜きなのでChatGPTやその他のAIモデルはほずんど䜿甚したせん。

    Perprexity

    質問に察しお、Webから怜玢したうえで回答しおくれたす。
    そのため、AIが知らない盎近の出来事などに぀いおも調べられるのは䟿利です。月$20。

    無料で䜿甚できる同様なサヌビスのGensparkがありたすが、個人的にはPerprexityの方が奜みの回答をしおくれたす。

    ChatGPTの怜玢機胜が匷くなったらしいので、もしかしたら䜿わなくなるかも知れたせん。

    v0などのフロントツヌル

    v0、GPT-Engineer、Creat.xyzなど、最近様々なフロントアプリ起点のAIツヌルが登堎しおいたす。

    これらは倧倉䟿利で、私も䜕回かこのツヌルを䜿甚しおから倧枠を䜜成し、Cursorで埮調敎をしおいく、のような䜿い方をしたこずがありたす。

    ただ、私の圹割的に0からアプリを䜜るずいう状況があたり倚くないので積極的には䜿甚しおいたせんいずれも未課金。

    Dify

    ノヌコヌドでできるLLMアプリ開発サヌビスです。
    簡単にAIを䜿甚したアプリAPIを䜜るこずができるので、思い぀きを詊したいずきに良く䜿いたす。

    フロントアプリを先皋玹介したv0などのツヌルで䜜成しおからDifyず結合させるず誰でも簡単にAIアプリを䜜成できるので興味がある方はぜひ詊しおみおください。

    ロヌカル環境の構築がめんどくさいけど、サヌビスに課金する$59/月のは高い、ず思う方は䞋蚘のやり方を参考にご自身の環境を甚意するのも良いず思いたす。

    終わりに

    以䞊、Cursorを䞭心ずした私のAIツヌル掻甚法に぀いお玹介したした。

    あくたで私に合う方法なのでこれが絶察ずいうわけではありたせん。
    ぜひご自身に合う開発スタむルを芋぀けおみおください。

    宣䌝

    AITuberKitずいう誰でも簡単にAIキャラチャット、AITuber開発ができるOSSを開発しおいたす。興味のある方はぜひ詊しおいただけるず嬉しいです

    私のXアカりント@tegnike


     
     
    ポヌランド圚䜏AI VTuber & Agent developer。 AIツヌルやAIキャラに関しおのキャッチアップ倚め。

    あなたぞのおすすめ