VS CodeとAIチャットの往復いらず！ 話題の拡張機能Clineで爆速開発してみよう

最近、AIにアンテナの高いエンジニア界隈でClineというツールが話題です。

https://github.com/cline/cline

これは元々Claude Devと呼ばれていた、VS Codeの拡張機能です。

サイドバーで生成AIとチャットしながら開発補助をしてもらえて、自分のリポジトリから必要なファイルを読み込んで理解してくれたり、ターミナルでコマンドを実行して出力を確認してくれたり、さらには必要なコードを書いたりしてくれます。

似たようなツールでCursor（カーソル）も結構前から人気ですが、Clineのいいところは

- いつものVS Codeに拡張入れるだけでそのまま使える
- どこまで手動/自動で補助してもらうか、好きな具合にカスタマイズできる
- 結果、**コーディングしながらChatGPTやClaude.aiとエディタを往復**する手間が省ける

ことが大きなメリットです。私も秒でトリコになりました。


# 実際に試してみよう！

VS Codeに拡張機能「Cline」をインストールします。

![スクリーンショット 2025-01-12 19.36.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/f670b374-e097-9c59-c394-7858c42374ef.png)

サイドバーにおじさん？ではなくロボットが生えました。
ClineのAIエンジンとなる、生成AIツールのAPI認証情報を入れましょう。ここは自分で好きなLLMのアカウントなどを用意する必要があります。

※Cline自体はOSSなので、コストとしてはこのAPI利用料が発生する形となります。

![スクリーンショット 2025-01-12 19.38.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/f548e6ad-c425-a8e9-5b90-7fbffe2f887f.png)

私はAWSを使っているので、Amazon Bedrock用のIAM認証情報を入れました。アクセスキー＆シークレットキーか、セッショントークンのいずれかを入力しましょう。Bedrockの場合、クロスリージョン推論を有効にするのも忘れずに。

カスタムインストラクションは、私の場合以下のように設定しています。（私の環境では、なぜかCLIの実行結果を読み取ってくれないので、その対応も含めています）

```
必ず日本語で応対してください。
また、ターミナルのコマンド実行結果が確認できない場合は、ユーザーが貼り付けて教えるので、そこで止めてユーザーに依頼してください。
```

設定後は、チャットボックス上部の自動承認設定もカスタマイズしておきましょう。
最初は「ファイルの読み取り」のみ選択して、Auto-approveを有効にしておくのがとっつきやすいかなと思います。

![スクリーンショット 2025-01-12 19.43.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/13cc5e63-b011-0790-55ad-057e2db3147e.png)


# いざ、コーディング！

それでは実際に使ってみます。

何かをゼロから作るケースよりも、既存のアプリケーションを継続開発するようなシーンの方が多いと思うので、私も開発中のアプリの修正に活用してみます。

https://qiita.com/minorun365/items/226867be3d122c2cfe4f

![スクリーンショット 2025-01-12 19.50.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/4983b8df-2ee3-f70c-dd06-a077d42e1195.png)

このアプリ、AWSに関するアウトプットを貼り付けるとレベル判定してくれるのですが、AIによる判定時間が10秒程度かかる間、ボタンが暗転するのみなのでユーザーに少しストレスを与えてしまいます。

そこで、プログレスバーをつけるにはどうすればいいか、Clineに聞いてみましょう。

![スクリーンショット 2025-01-12 19.55.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/36df1006-baba-b003-5b92-c33977d2a7cd.png)

一度チャットを打つだけで、Clineが自分でフロントエンドのファイルを覗いて理解し、追加ライブラリーのインストールコマンドが必要なところでユーザーの判断を仰いでくれます。

コマンドを実行すると、エラーが出たのでClineに教えてあげます。
（ここは本来、自動でClineが確認してくれます。私の環境ではなぜかzshへのアクセスが上手くいきません）

![スクリーンショット 2025-01-12 20.02.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/15236816-c08f-09d6-16e8-d984e155be95.png)

何度か往復していると、うまくコンポーネントのインストールが成功しました。続けると次のタスクを教えてくれます。

今度はフロントエンドのコード修正箇所を提案してくれました。
差分が一目瞭然で、かつ気に入らない部分はユーザーが自分で直すことができます。Clineに設定しない限り、勝手にファイルが変更されてしまうことがないので安心です。

![スクリーンショット 2025-01-12 20.03.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/23197371-1b5c-0d2c-c7b2-fbc61fabe994.png)

変更箇所をすべて目で見て、問題なさそうなので承認します。
すると、保存後の構文エラーを自分で検知して、インポートが必要な不足ファイルの新規作成を提案してくれました。

ただしコードを確認したところ、おかしな記述があったので質問してみると、ハルシネーションが含まれていたようです。
（一定のプログラミングスキルがないと、こういうのが積み重なってよく分からないコードになってしまうので、AI時代にも開発スキルは必要ですね）

![スクリーンショット 2025-01-12 20.07.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/4e0a3adc-5cdf-3a6d-e214-62a0854adbd3.png)

作業が完了すると、ご丁寧にサマリーを報告してくれます。

![スクリーンショット 2025-01-12 20.10.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/a0d8b02b-5381-0d3d-80f2-04e7887758bd.png)

さて、本当に動くのか。実際にデプロイしてみましょう。

![スクリーンショット 2025-01-12 20.18.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/10bc1dfd-4844-0cfe-e447-06258be36bb0.png)

すごい！！ 一発合格です。
デザインバランスも普通にいい感じですね。

![スクリーンショット 2025-01-12 20.25.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/5e9f50bb-1b76-fbb8-4c70-7a640f4c9059.png)

かかったコストは常時、スレッドトップに更新されていくので安心です。
ここまでの変更で、およそ80円程度のBedrock API課金が発生しています。これを安いとみるか高いとみるかは、あなた次第。

ちなみにコストを抑えるコツは、あまりスレッドを長く続けすぎず、こまめに新規スレッドへ移動することです。コンテキスト長が節約できます。


# おまけ：最新情報を参照させたい場合

なお、自動でのWeb検索機能はないのですが、質問の際に「@」コマンドでコンテキスト（ファイルやURLなど）を追加することができます。
最新の技術について質問したいときは、公式ドキュメントのURLなどを付加してあげるとよさそうです。