- 導入(Introduction)
- Continueの活用タイミング(When to use Continue)
- 労働集約的な編集(Laborious edits)
- 最初からのファイル作成(Writing files from scratch)
- ボイラープレートの最初からの作成(Creating boilerplate from scratch)
- ハイライトしたコードの修正(Fix highlighted code)
- ハイライトされたコードやファイル全体について尋ねる(Ask about highlighted code or an entire file)
- エラーについて尋ねる(Ask about errors)
- 実行すべきシェルコマンドを把握する(Figure out what shell command to run)
- さまざまなソースへの言及(Reference Various Sources)
- Continueを使うべきでない時(When to not use Continue)
導入(Introduction)
Continue(コンティニュー)とは?
Continueは、VS Code(VSコード)とJetBrains(ジェットブレインズ)向けのオープンソースの自動操縦機能(autopilot)です。これは、任意のLLM(Large Language Model、大規模言語モデル)を使ってコーディングする際の最も簡単な方法を提供します。
環境構築方法はこちら
多くの開発者がコーディング中にChatGPTを使用し始めていますが、コンテキストを提供し、生成された回答をコードベースに組み込むために必要なコピー&ペーストや編集が多いため、その経験は苦痛です。Continueは、ワークフローを完了する際にIDE内でLLMがネイティブに動作することを可能にし、この苦痛を解消します。
主な機能(Features)
- ボイラープレートコードの生成(Generate Boilerplate Code)
cmd/ctrl + shift + L
を使用して、自然言語からボイラープレートコードを生成します。
- コードのリファクタリング(Refactor Code)
- コードをハイライトし、どのようにリファクタリングするかを記述することで、エディタに変更を直接流し込むことができます。
- コードベースに関する高度な質問(Ask High-level Questions)
- Continueを使用すると、関連するファイルを自動的に見つけ出し、コードベースに関する高度な質問に答えることができます。
- ユニットテストの生成(Generate Unit Tests)
- 任意の関数やクラスに対して素早くユニットテストを生成します。
- エディタを離れずに即時回答(Immediate Answers)
- 簡単な質問をすることで、エディタを離れることなく即座に回答を得ることができます。
- コンパイラーで捉えられないミスのレビュー(Review for Mistakes)
- 現在の変更内容をレビューして、コンパイラーが捉えられないミスを指摘します。
- さまざまなソースへの言及(Reference Various Sources)
@
をタイプすることで、LLMとコミュニケーションを取りながら数十種類の異なるソースを参照することができます。
コーディング中にLLM(Large Language Model、大規模言語モデル)を適切な状況で活用することで、作業の速度を上げることができます。しかし、信頼すべきではない時に信頼してしまうと、迷ったり混乱したりする原因にもなります。このページでは、Continueを使うべき場合とそうでない場合を概説します。
Continueの活用タイミング(When to use Continue)
Continueを効果的に活用できるタスクには以下のようなものがあります
労働集約的な編集(Laborious edits)
-
Continueは、検索と置換だけでは対応できない場面(例:「/edit これら全てをああするように変更してください」)で力を発揮します。
-
/edit
ここでは'Union'を縦棒の代わりに使ってください -
/edit
もっと記述的な変数名を使用してください”
最初からのファイル作成(Writing files from scratch)
-
Reactコンポーネント、Pythonスクリプト、Shellスクリプト、Makefile、ユニットテストなどの構築を始めるのにContinueが役立ちます。
-
/edit
Posthogイベントを取得するPythonスクリプトを書いてください -
/edit
シンタックスハイライトされたコード用のReactコンポーネントを追加してください
VS Code Continue使ってみたシリーズ!
---
最初からのファイル作成(Writing files from scratch)「/edit Posthogイベントを取得するPythonスクリプトを書いてください」 pic.twitter.com/3yevlwqI1i
— Maki@Sunwood AI Labs. (@hAru_mAki_ch) February 20, 2024
ボイラープレートの最初からの作成(Creating boilerplate from scratch)
- 例えば、Pythonパッケージの足場を構築するのに役立ち、これには引数を整理して出力するtyper CLIアプリが含まれます。
ボイラープレートとは、特定のプログラムやアプリケーションの開発において、繰り返し使用されるコードや文書の定型文のことを意味します。
このプロセスには、プロジェクトのディレクトリ構造の作成、必要なライブラリやフレームワークの初期設定、開発に必要な各種ファイル(例えば、設定ファイル、スタイルシート、スクリプトファイルなど)の準備が含まれます。また、プロジェクト固有の設定や機能の実装に必要なテンプレートコードの作成も含まれることがあります。
最初からボイラープレートを作成することの利点は、プロジェクトの初期セットアップを迅速に行い、開発者が実際の機能開発やビジネスロジックの実装に集中できるようにすることです。また、一貫性のあるプロジェクト構造を促進し、チーム間でのコードの共有や再利用を容易にします。
/edit
このスキーマを使って最近離脱したユーザーを取得するSQLクエリを書いてください”/edit
私のホームディレクトリを/tmpにバックアップするShellスクリプトを作成してください
VS Code Continue+Gemini使ってみたシリーズ!
---
ボイラープレートの最初からの作成
「/edit 私のホームディレクトリを/tmpにバックアップするShellスクリプトを作成してください」 pic.twitter.com/x0MaqjNjYv— Maki@Sunwood AI Labs. (@hAru_mAki_ch) February 20, 2024
ハイライトしたコードの修正(Fix highlighted code)
-
コードセクションを選択した後、Continueを使ってリファクタリングを試みてください(例:「/edit この関数をこんな風に動作するように変更してください」)。
-
/edit
このDigital OceanのTerraformファイルをGCPで動作するように移行してください” -
/edit
この関数を非同期に書き換えてください”
VS Code Continue+Gemini使ってみたシリーズ!
---
ハイライトしたコードの修正
「/edit この関数を非同期に書き換えてください」 pic.twitter.com/RUaZoA7O06— Maki@Sunwood AI Labs. (@hAru_mAki_ch) February 20, 2024
ハイライトされたコードやファイル全体について尋ねる(Ask about highlighted code or an entire file)
-
コードの動作が分からない場合は、それをハイライトして「このコードはどのように機能しますか?」と尋ねてください。
-
ページのどこでバックエンドにリクエストをすべきですか?”
-
これらのiframe間でどのように通信できますか?”
VS Code Continue+Gemini使ってみたシリーズ!
---
ハイライトしたコードの解説
「このコードはどのように機能しますか?」 pic.twitter.com/UwfdCDFdn7— Maki@Sunwood AI Labs. (@hAru_mAki_ch) February 20, 2024
エラーについて尋ねる(Ask about errors)
- Continueはエラー/例外を説明し、可能な解決策を提供するのにも役立ちます。ターミナルでエラー/例外に遭遇した場合、cmd+shift+r(MacOS)/ctrl+shift+r(Windows)を押して、Continueに問題を説明してもらいます。
VS Code Continue+Gemini使ってみたシリーズ!
---
エラー文をショートカットキーで一発検索できるのはありがたい!! pic.twitter.com/3lqJLc2dcz— Maki@Sunwood AI Labs. (@hAru_mAki_ch) February 20, 2024
実行すべきシェルコマンドを把握する(Figure out what shell command to run)
-
ウィンドウを切り替えて気を散らす代わりに、「8000ポートで動作しているプロセスをどうやって見つけるの?」のように尋ねることができます。
-
load_dotenvライブラリの名前は何ですか?
-
8000ポートで動作しているプロセスをどうやって見つけますか?
VS Code Continue+Gemini使ってみたシリーズ!
---
実行すべきシェルコマンドを教えてくれる pic.twitter.com/k6nMfRLqGG— Maki@Sunwood AI Labs. (@hAru_mAki_ch) February 21, 2024
さまざまなソースへの言及(Reference Various Sources)
現在執筆中....
Continueを使うべきでない時(When to not use Continue)
Continueが現時点であまり役に立たないタスクには以下のようなものがあります:
- 深いデバッグ
コメント