Cursorを使ってvue開発効率化

## 初めに
インストールとか使い方とかは、
こちらの方が詳しく書いてくださっているので、早く結果を手順を知りたい人はそちらをご参照ください。

https://qiita.com/railgun-0402/items/717f44df9d68d77309f1

## 初見で本当に何もわからず触ってみた

（説明ちゃんと見ないのでやったので、本当に手順を見たい方は、ここは読み飛ばしてOKです）

とりあえずインストール＆ログインまで完了すると、勝手にVSCodeみたいなツールが起動していた。

上の記事によると、「Ctrl + L」でAIの入力エリアを起動できるらしいので、やってみるとなんか出てきたので、適当に依頼してみた。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/dd10604b-92ba-7560-1baa-9911beb8d33b.png)

おお！すごい！
なんかコードが出てきた。

生成したコードで画面プレビューできるのかな？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/9c3792b4-42bc-ac6c-c06b-75a87f159df0.png)

この辺かしら？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/a0acd597-8647-1479-6f0f-ba5531d710ed.png)

とりあえずコンテニューしてみる。
....
何も起きない。。。

下に何かでてるのかな・・・スクロールしてみる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/611f36b6-87af-14bb-6c21-c0342f2709fd.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/2862b418-af83-4727-114f-2ea29c64179d.png)

あ！HTMLだけじゃなくて色々でてる！

しかも解説付き！！すごい！
すごいけど、どうやって画面見るんだ！ｗ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/2759cd71-c11e-f46a-40cc-45bb2c5942ea.png)

ここか？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/6ace42c1-947a-29bb-5a1c-f147c3d27534.png)

違うみたい・・

ということで、参照した記事に戻って使い方を確認・・

なるほど！このツールは、0から作成するものではないのかもｗ

ということでvueでPJを作成しておくことにしました。

## vueで開発

### vueを起動

事前にvueを起動できる環境を構築しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/fa5a2b9d-c81b-81e4-eb82-86745c9ef13f.png)

### vueプロジェクトをCursorで表示

デフォルトで色々フォルダを表示していたので、いったんクリア

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/49f7a7df-6bac-1d17-5322-30a4847bf97f.png)

安心のUIになってきたので、作ったvueのプロジェクトを指定

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/268833e9-cbb7-52ac-d49f-207a11ab71a5.png)

いい感じ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/b34dd73a-6d1f-90b5-da79-53f938e73b94.png)

VSCodeみたいなプラグインあるみたいなので、インストール

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/4948c05a-1bca-dd80-d089-2fe12a187ffa.png)

アイコンが表示されるようになった。（のかな？元を見てなかったｗ）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/c7643aa1-1a60-6544-da12-b4111686cbca.png)

### AIに依頼する文章の入力方法
ask follow-upというテキストボックスに日本語で質問を入力して、
Windowsならエンター！
返答には少し時間がかかるので、動きがあるまで待ってください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/50158255-74f3-3c53-2d1b-ff704bbb4504.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/5efe2f4a-66d9-a710-de4a-bd5a08ddcd41.png)

### フォルダについて質問する場合

「Ctrl + L」でAIの入力エリアを起動し、「@」を入力すると選択肢が出ます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/1ab02b3e-006a-707c-35ed-cc8d3e82edc8.png)

プロジェクトのrootフォルダパスを貼り付けると、プロジェクトの解説をしてくれました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/ce549361-991b-a194-a6ff-b1c88ba22ea1.png)

### コードを編集

編集したいファイルを右クリックして、
以下を選択してもchatと連携出来ました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/1dc286c3-1d29-cd51-0ebb-f7c34a69c3c3.png)

提案してくれました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/54ff3b60-678a-e409-5990-a2e7c27413c8.png)

反映させてみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/b5015853-1c75-9888-e9f7-661a6c262804.png)

コードが書き換わりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/22cdb7a9-f1e1-0e7b-35e8-e6244e4dfc17.png)

acceptします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/ef203ad7-288d-03dd-c67e-3fad3e935f86.png)

ファイルを保存して、画面を見てみると、、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/a20191d3-b00d-4571-3935-f99bb2b0dac8.png)

あれ？

### 改修方法を画像で質問

上記エラーを解消したいのですが、エラーをコピーするのが面倒なので、
画像をそのまま貼ってみました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/764393b5-60ce-996d-6bba-d6346bb66bd7.png)

おお！すごい！
誤字ってわ、画像だし、ざっくりした質問なのに教えてくれた。

とりあえず全部受け入れて反映させてみた。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/06fc24db-72cd-a4ef-e01b-c5b4c03087be.png)

すごーーい！！
これは楽しい！もっと使いこなせたら、また記事挙げます！

### 画像で修正箇所を指定してみる

なんか幅あってないんですけど。と文句を言ってみる。
しかも画像で指定してみました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/3578883b-696f-f634-4559-8fb7ab5892c5.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/267f438f-1915-3628-f1db-e3b1d34f647b.png)

お！伝わったっぽい。ソースを更新して、再表示すると、、、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/97f838d4-8d2f-bab2-a034-762a8940369a.png)

すごい！幅がそろった！

### 入力制限を追加

日本語のニュアンスもりもりで依頼してみた

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/781a9f7c-9858-2691-6e2b-7ba9c615c7e1.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/c2d40e2a-94fc-8e86-a660-62154126cee7.png)

すごいな。。。完璧。。

### エラーメッセージ表示場所を移動

移動してくれを画像で

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/24b31966-107a-5c75-7f74-fe866baa50e7.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/483d4678-ea45-e4b6-7493-9a3806548843.png)

すごいね。君

### AWS summitのログイン画面を模倣してみる

デフォルトの状態はこれ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/ab185721-dd5a-490b-6dff-056f43ba44a5.png)


AWS summitのログイン画面をキャプチャして「このデザインで画面を作成して」と依頼する
modelは「claude3.5sonnet」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/8ad64ba8-8ee8-187f-f5e8-0403f132f955.png)

１発目はこんな感じ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/db010507-8ec7-3a65-1407-d2fc3eb51afd.png)

それをエリアで分けながら、修正依頼をして・・
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/8afa1e65-18ff-fd4f-975a-7044543f30e5.png)

こんな感じに作成できました。
ちょっと違うけど、リンクは指定しなくてもちゃんとリンクになっているし、
セレクトボックスもセレクトボックスになっている。

### テトリスを作ってみる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/c7e3a944-8ac3-4ed0-b3a6-c7185d570af4.png)

これはサクサク作成できました。
一列そろったら消えるし、矢印も動作するし。
ただ、いつ使うんだという点だけが課題。

#### 作り方

「プロンプトにテトリスを作りたい」と依頼し、ブラウザで動かしてみて、足りない操作を追加依頼する。
それだけ！
テトリスのような説明がしやすい＆共通認識　なものを作成するのはLLMで補完できるので簡単でした。

## 感想

ここまで正確に要求を汲み取ってくれるのかとただただ感動しました。

注意事項としては、
新規ファイルを作成することができないので、手動で追加してからコードを承認する必要があるのと、
何度か依頼をしていると、前に依頼したことを忘れてデザインが元に戻ってしまうこと。
一発で依頼したデザインを再現できないので、コンポーネントを分解して修正対象のコードを指定できる程度のコーディング知識が必要であるということ。

近い将来はもっと依頼事項を忠実に再現してくれるとありがたいですね。

# おまけ

直接claude3.5sonnetで依頼したところ、Reactになっちゃったけど、一発でこのクオリティ。
この差は何でかしら

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778585/a6f49fc0-c916-cdf7-4bb0-c6486d2812c9.png)

claude3.5sonnetで遊んだ時の記事はこちら
https://qiita.com/Jasmine_teeeeee/items/c10f6f5a1fe80d5b8738