このドキュメントでは、IDE の AI を活用したコラボレーターである Gemini Code Assist を使用して、VS Code または IntelliJ などの サポートされている JetBrains IDE で次のことを行う方法について説明します。
- コードの問題を解決するためのガイダンスを提供する。
- プロジェクトのコードを生成する。
- コーディング時にインラインの候補を受け取る。
Gemini for Google Cloud がデータを使用する方法とタイミングについての説明をご確認ください。
コードに関するライセンス要件を遵守するために、Gemini Code Assist では、提案が特定のソースから詳細に直接引用を行っている場合、ソースの引用が提供されます。Gemini がソースを引用する方法とタイミングについて詳しくは、Gemini によるコードの生成とソースの引用方法をご覧ください。
このドキュメントは、全スキルレベルのデベロッパーを対象としています。VS Code または IntelliJ などのサポートされている JetBrains IDE の実践的な知識があることを前提としています。必要に応じて、Cloud Shell と Cloud Workstations で Gemini Code Assist を使用することもできます。
始める前に
- コードファイルで Gemini Code Assist の機能をテストする前に、ファイルのコーディング言語がサポートされていることを確認してください。サポートされているコーディング言語の詳細については、サポートされているコーディング言語をご覧ください。
- プロキシの背後で IDE を使用する場合は、Visual Studio Code のネットワーク接続をご覧ください。
コードファイルで Gemini Code Assist の機能をテストする前に、ファイルのコーディング言語がサポートされていることを確認してください。サポートされているコーディング言語の詳細については、サポートされているコーディング言語をご覧ください。
プロキシの背後で IDE を使用する場合は、HTTP プロキシをご覧ください。
Gemini Code Assist とチャットする
このセクションでは、Gemini Code Assist に既存のコードの説明するようプロンプトを作成します。
コードの説明を取得する手順は次のとおりです。
コードファイルを開きます。
IDE のアクティビティ バーで、spark [Gemini Code Assist] をクリックします。
[Gemini Code Assist] ペインで、プロンプト「
Explain this code to me
」を入力し、send [送信] をクリックします。Gemini は、コードファイル内のコードをプロンプトへの参照として使用し、コードの説明を返します。
ファイル内のすべてのコードではなく、特定のコードブロックを参照するには、コードファイル内のブロックを選択して、Gemini に指示します。
コードの説明を取得する手順は次のとおりです。
IDE でコードファイルを開きます。
Gemini Code Assist ツール ウィンドウで、プロンプト「
Explain this code to me
」を入力し、[Submit] をクリックします。
Gemini Code Assist は、コードファイル内のコードをプロンプトへの参照として使用し、コードの説明を返します。
コードの特定の部分の説明のみが必要な場合は、特定のコードを選択して、Gemini Code Assist に再度指示できます。Gemini Code Assist は、生成されたレスポンスの参照としてのみ、選択したコードを使用します。
Gemini Code Assist がレスポンスでコードを提供すると、レスポンスの下部に表示される次のオプションを選択できます。
カーソル位置に挿入: 生成されたコードを現在のファイルの現在のカーソル位置に挿入します。
新しいファイルに挿入: 新しいファイルを開き、生成されたコードを新しいファイルに挿入します。
これらのオプションは、Gemini Code Assist がコードブロックで使用されている言語を特定し、その言語が現在の IDE でサポートされている場合に使用できます。
クエリ履歴を表示する
以前のプロンプトを再利用する場合は、[Gemini Code Assist] ツール ウィンドウの [Query History] で、schedule [Show Query History] をクリックして確認できます。
チャット履歴をリセットする
Gemini Code Assist は、プロンプトへの応答時に、追加のコンテキストとしてチャット履歴を使用します。チャットの履歴と、実現しようとしていることとの関連性がなくなった場合は、チャット履歴をリセットできます。
[Gemini Code Assist] ペインで、delete [チャットをリセット] をクリックします。
[Gemini Code Assist] ツール ウィンドウで、delete [Clear Conversation History] をクリックします。これにより、クエリ履歴も削除されます。
プロンプトを使用してコードを生成する
以下のセクションでは、Gemini Code Assist を使用して、コード ファイル内のサンプル プロンプト Function to create a Cloud Storage
bucket
でコードを生成する方法について説明します。また、コーディング中には、コードの一部を選択して、チャット機能で Gemini Code Assist にサポートを求め、コードの候補から取捨選択することも可能です。
コード変換で Gemini Code Assist にプロンプトを入力する
コード変換を使用すると、クイック選択メニューでコマンドまたは自然言語プロンプトを使用してコードの変更をリクエストできます。また、差分ビューでコードの保留中の変更を確認できます。コード変換で Gemini Code Assist をプロンプトを入力する手順は次のとおりです。
コードファイルの新しい行で、Ctrl+I(Windows および Linux の場合)または Command+I(macOS の場合)を押して、Gemini Code Assist クイック選択バーを開きます。
メニューで
/generate
コマンドを使用して「/generate function to create a Cloud Storage bucket
」と入力し、Enter(Windows と Linux の場合)または Return(macOS の場合)を押します。Gemini Code Assist は、差分ビューでプロンプトに基づいてコードを生成します。
省略可: これらの変更を承認するには、[承認] をクリックします。
コードファイルでコメントを使用して Gemini Code Assist に指示する
必要に応じて、コードファイル内でコメントを使用して Gemini Code Assist に指示することもできます。手順は次のとおりです。
新しい行でコメント「
Function to create a Cloud Storage bucket
」を入力し、Enter(Windows および Linux の場合)または Return(macOS の場合)を押します。コードを生成するには、Control+Enter(Windows および Linux)や Ctrl+Return(macOS の場合)を押します。
コードは、Gemini Code Assist がコードファイルのプロンプト テキストの横に、ゴースト テキスト形式で生成します。
省略可: 生成されたコードを受け入れるには、Tab を押します。
選択したコードを使用してチャットで Gemini Code Assist に指示する
Gemini Code Assist は、選択したコードに基づいてタスクを実行したり、質問に回答したりすることが可能です。選択したコードを使用したプロンプトに基づいて生成されたコードを取得するには、次の手順を行います。
アクティビティ バーで、spark [Gemini Code Assist] をクリックして [Gemini Code Assist] ペインを開きます。
コードファイルで、コードのブロックを選択します。
[Gemini Code Assist] ペインのテキスト フィールドに、選択したコードに対するプロンプトを入力します。
たとえば、コード内の関数を選択し、プロンプト「
Write a unit test for this function
」を入力します。Gemini は、選択したコードをリファレンスとして使用し、プロンプトに応答します。
コード変換で Gemini Code Assist にプロンプトを入力する
コード変換を使用すると、クイック選択メニューでコマンドまたは自然言語プロンプトを使用してコードの変更をリクエストできます。また、差分ビューでコードの保留中の変更を確認できます。コード変換を使用して Gemini Code Assist にプロンプトを入力する手順は次のとおりです。
コードファイルの新しい行で、Alt+\(Windows および Linux の場合)または Cmd+\(macOS の場合)を押して、Gemini Code Assist クイック選択メニューを開きます。
メニューで
/generate
コマンドを使用して「/generate function to create a Cloud Storage bucket
」と入力し、Enter(Windows と Linux の場合)または Return(macOS の場合)を押します。Gemini Code Assist は、差分ビューでプロンプトに基づいてコードを生成します。
省略可: これらの変更を承認するには、[Accept Changes] をクリックします。
IDE では、次のコード変換コマンドを使用できます。
/fix
: コードの問題やエラーを修正します。例:/fix potential NullPointerExceptions in my code
/generate
: コードを生成します。例:/generate a function to get the current time
/doc
: コードにドキュメントを追加します。例:/doc this function
/simplify
: コードを簡素化します。例:/simplify if statement in this code
コードファイルでコメントを使用して Gemini Code Assist に指示する
コードファイルの新しい行で、コメント「
Function to create a Cloud Storage bucket
」を入力します。コードを生成するには、Alt+G(Windows および Linux の場合)または Option+G(macOS の場合)を押します。または、コメントの横を右クリックして [Generate Code] を選択します。
Gemini Code Assist は、コメントの下にゴースト テキスト形式でコードを生成します。
省略可: 生成されたコードを受け入れるには、Tab を押します。
選択したコードを使用してチャットで Gemini Code Assist に指示する
Gemini Code Assist は、選択したコードに基づいてタスクを実行したり、質問に回答したりすることが可能です。選択したコードを使用したプロンプトに基づいて生成されたコードを取得するには、次の手順を行います。
アクティビティ バーで、spark [Gemini Code Assist] をクリックして [Gemini Code Assist] ツール ウィンドウを開きます。
コードファイルで、コードのブロックを選択します。
[Gemini Code Assist] ツール ウィンドウのテキスト フィールドに、選択したコードに対するプロンプトを入力します。
たとえば、コード内の関数を選択し、プロンプト「
Write a unit test for this function.
」を入力します。Gemini Code Assist は、選択したコードをリファレンスとして使用し、プロンプトに応答します。
省略可: コードを生成するためのキーボード ショートカットを変更します
前のセクションで説明したように、コードを生成するためのデフォルトのキーボード ショートカットが動作しない場合は、次の手順でキーボード ショートカットを変更できます。
IDE で、[ファイル](Windows および Linux の場合)または [コード](macOS の場合)をクリックして、[設定] > [キーボード ショートカット] に移動します。
キーボード ショートカットのリストで、[Gemini Code Assist: コードを生成] が表示されるまでスクロールします。
[Gemini Code Assist: コードを生成] をクリックし、edit [キーバインドを変更] をクリックします。
表示されるダイアログで、独自のショートカットを入力します。
Enter(Windows および Linux の場合)または Return(macOS の場合)を押します。
新しく割り当てたキーボード ショートカットを使用して、Gemini Code Assist でコードを生成できるようになりました。
IDE におけるショートカット変更の詳細については、Visual Studio Code のキーバインドをご覧ください。
settings [IDE and Project Settings] > [Settings] > [Keymap] > [Gemini Code Assist] に移動します。
[Gemini Code Assist] を右クリックし、[Add Keyboard Shortcut] を選択します。
任意のキーボード ショートカットを入力して、[OK] をクリックします。
[Gemini Code Assist] を右クリックし、[Remove Alt+G](Windows および Linux の場合)または [Remove Option+G](macOS の場合)を選択します。
新しいキーボード ショートカットを使用して、コードファイルでコードを生成できるようになりました。
コード補完を取得する
Gemini Code Assist は、コードの記述時に、インライン コードの候補(コード補完)を作成します。ユーザーはこれを取捨選択できます。コード補完を取得する手順は次のとおりです。
コードファイルの新しい行で、関数の作成を開始します。たとえば、Python ファイルの場合は、「
def
」と記述します。Gemini Code Assist は、ゴースト テキスト形式でコードの候補を表示します。
Gemini Code Assist からのコード候補を受け入れるには、Tab を押します。提案を無視するには、Esc を押すか、引き続きコードを記述します。
コードファイルの新しい行で、関数の作成を開始します。たとえば、Python ファイルの場合は、「
def
」と記述します。Gemini Code Assist は、インライン候補の形式でコードの候補を表示します。
Gemini Code Assist からのコード候補を受け入れるには、Tab を押します。提案を無視するには、Esc を押すか、引き続きコードを記述します。
省略可: 別のショートカットキーを使用してインライン候補を受け入れる場合は、インライン候補にポインタを合わせ、表示された [Tab] プルダウンをクリックします。次に、お好みのショートカットを選択するか、[Custom] をクリックして独自のショートカットを入力します。
省略可: コード補完を無効にする
コード補完はデフォルトで有効になっています。コード補完を無効にするには、次の操作を行います。
IDE で、[コード](macOS の場合)または [ファイル](Windows と Linux の場合)をクリックして、[設定] > [設定] に移動します。
[設定] ダイアログの [ユーザー] タブで、[拡張機能] > [Gemini Code Assist] に移動します。
[Duet AI: Inline Suggestion: Enable Auto] リストが表示されるまでスクロールして、[Off] を選択します。
これで、インライン候補は無効になります。インライン候補は、Control+Enter(Windows および Linux の場合)または Ctrl+Return(macOS の場合)を押すことで、引き続き手動で起動できます。
IDE のステータスバーで、spark [Gemini Code Assist: Active] をクリックし、[Enable AI Code Completion] を選択します。
これにより、コード補完設定が無効になり、設定を再度有効にするまで Gemini Code Assist はインライン候補を行わなくなります。
スマート アクションを使用する
コンテキストの切り替えを最小限に抑えながら生産性を向上させるため、Gemini Code Assist では、AI を活用したスマート アクションをコードエディタに直接備えています。コードエディタでコードを選択すると、コンテキストに関連するアクションのリストを表示して選択できます。
コードでスマート アクションを使用するには、次の手順を行います。
コードファイルで、コードのブロックを選択します。
選択したコードブロックの横にある lightbulb [コード アクションを表示] をクリックします。
[Generate unit tests] などのアクションを選択します。
Gemini は、選択したアクションに基づいて回答を生成します。
コードファイルで、コードの行またはブロックを選択します。
選択したコードを右クリックし、[Generate unit tests] などのスマート アクションを選択します。
スマート アクションを選択すると、Gemini Code Assist が自動的にプロンプトに対する応答を生成します。生成されたプロンプトは、[Gemini Code Assist] ツール ウィンドウに表示されます。
コード変換のクイック フィックスを使用する
コードにエラーがある場合は、Gemini Code Assist でコード変換を使用してエラーにクイック フィックスを適用できます。
コードファイルにクイック フィックスを適用する手順は次のとおりです。
コードファイルで、波線のエラー行の上にポインタを置いて [クイック フィックス]、[/fix] の順に選択します。
クイック フィックスが適用されると、差分ビューが表示されます。これらの変更を承認するには、[承認] をクリックします。
コードファイルで、コードのエラーを示す赤いエラー電球アイコンをクリックし、[Fix with Gemini] を選択します。
修正が適用されると、差分ビューが表示されます。これらの変更を承認するには、[承認] をクリックします。
ローカル コードベースの認識を使用してワークスペース内の特定のファイルでプロンプトを入力する
Gemini Code Assist がコンテキストとして使用するファイルを指定すると、ローカル コードベースの認識によって、コードベースの広範なコンテキスト内で、構文的に正しく意味的に重要な、高品質なコードの候補を提案されます。
チャット プロンプトでファイルを指定するには、「@」と入力して、指定するファイルを選択します。
コードベース内の 2 つのファイルの違いを説明するには、次の操作を行います。
アクティビティ バーで、spark [Gemini Code Assist] をクリックします。
[Gemini Code Assist] ペインでプロンプト「
Explain the difference between @YOUR_FILE_NAME_1 and @YOUR_FILE_NAME_2
」を入力し、Enter(Windows と Linux の場合)または Return(macOS の場合)または Tab を押します。リスト内のファイル名をクリックして、ファイルを選択することもできます。ファイル名をクリックすると、ファイルがプロンプト コンテキストに追加され、IDE で開きます。Gemini Code Assist は、コンテキストとして指定した 2 つのファイルを使用しながら、プロンプトに応答します。Gemini Code Assist には、[コンテキスト ソース] で指定したファイルも含まれます。
これらのファイルを指定すると、ファイルを再度指定しなくても、同じチャット履歴で追加の質問やプロンプトを続行できます。
たとえば、[Gemini Code Assist] ペインでプロンプト「How can I
improve YOUR_FILE_NAME_1?
」(@ 記号なし)を入力し、Enter(Windows と Linux の場合)または Return(macOS の場合)を押します。
Gemini Code Assist は、プロンプトで指定したファイルに関して質問に応答します。
省略可: .aiexclude ファイルを使用してファイルをコンテキストから除外する
.aiexclude
ファイルを作成すると、Gemini Code Assist がコンテキストとして検討する対象からファイルを除外できます。.aiexclude
ファイルの構文は .gitignore
ファイルと類似していますが、次の点が異なります。
- 空または存在しない
.aiexclude
ファイルは、そのディレクトリとすべてのサブディレクトリ内のファイルをブロックしません。 .aiexclude
ファイルは、パターンの前に感嘆符(!
)を付ける否定演算をサポートしていません。.aiexclude
ファイルは、*
文字に貪欲に一致します。これにより、ディレクトリとファイルが無差別に一致します。この.aiexclude
ファイルは、フォルダやファイルに関して**
と*
を区別しません。
現在、サポートされているのは 1 つの .aiexclude
ファイルのみです。.aiexclude
ファイルを構成するには、ワークスペース フォルダのルートに .aiexclude
という名前のファイルを作成します。
例
次の例は、.aiexclude
ファイルを構成する方法を示しています。
ワークスペース ディレクトリまたはディレクトリの下にある
apikeys.txt
という名前のすべてのファイルをブロックします。apikeys.txt
ワークスペース ディレクトリまたはディレクトリの下にある
.key
ファイル拡張子を持つすべてのファイルをブロックします。*.key
.aiexclude
ファイルと同じディレクトリにある apikeys.txt ファイルのみをブロックし、サブディレクトリはブロックしません。/apikeys.txt
ディレクトリ
my/sensitive/dir
とすべてのサブディレクトリ内のすべてのファイルをブロックします。パスは、ワークスペースのルート ディレクトリを基準とした相対パスにする必要があります。my/sensitive/dir/*
引用されたソースに一致するコードの候補を無効にする
既存のオープンソース コードなど、別のソースから詳細に直接引用する際、Gemini Code Assist が引用情報を提供します。詳細については、Gemini によるソースの引用方法とタイミングをご覧ください。
引用されたソースに一致するコードが提案されないようにするには、次の操作を行います。
IDE のアクティビティ バーで、[管理] > [設定] をクリックします。
設定ウィンドウの [ユーザー] タブで、[拡張機能] > [Gemini Code Assist] に移動します。
[Duet AI > Recitation: Max Cited Length] が表示されるまでスクロールします。
値を
0
に設定します。Gemini Code Assist は、引用されたソースと一致するコードを提案しなくなりました。
既知の問題
このセクションでは、Gemini Code Assist の既知の問題について説明します。
大きなオープン ファイルの更新バージョンが含まれている場合、チャットの回答が切り捨てられることがある
この問題を回避するには、コードの小さな部分を選択して、チャット プロンプトに追加のディレクティブ(
only output the selected code.
など)を含めます。Vim: 挿入モード以外で、コード生成候補を承認または拒否することができない
通常モードで Vim プラグインを使用する場合は、コードの候補を承認または拒否することはできません。
この問題を回避するには、i キーを押して挿入モードに移行し、Tab キーを押して候補を承認します。
Vim: Esc キーを押して候補を拒否するときの動作が一貫しない
Esc キーを押すと、IDE と Gemini の両方の候補が拒否されます。この動作は、Esc キーを押すと Gemini が再トリガーされる Vim 以外の動作とは異なります。
ログイン試行が常にタイムアウトになる
ログイン試行が常にタイムアウトになる場合は、
settings.json
ファイルにcloudcode.beta.forceOobLogin
設定を追加してください。"cloudcode.beta.forceOobLogin": true
ライセンスの引用に関する警告がセッションをまたいで維持されない
ライセンスの引用に関する警告がセッションをまたいで維持されない場合は、永続ログをご覧ください。
[表示] > [出力] をクリックします。
[Gemini Code Assist- 引用] を選択します。
Gemini Code Assist の出力ウィンドウにおける接続の問題
Gemini Code Assist の出力ウィンドウに接続エラーなどの接続の問題が表示される場合は、次のことをお試しください。
oauth2.googleapis.com
とcloudaicompanion.googleapis.com
へのアクセスを許可するようにファイアウォールを構成する。gRPC が使用する HTTP/2 経由の通信を許可するようにファイアウォールを構成する。
grpc-health-probe
ツールを使用して接続をテストできます。テストで問題がない場合は、次の出力が表示されます。$ grpc-health-probe -addr cloudaicompanion.googleapis.com:443 -tls error: this server does not implement the grpc health protocol (grpc.health.v1.Health): GRPC target method can't be resolved
テストで問題があった場合は、次の出力が表示されます。
timeout: failed to connect service "cloudaicompanion.googleapis.com:443" within 1s
詳細を取得するには、「
grpc-health-probe
」の前に次のコマンドを実行します。export GRPC_GO_LOG_SEVERITY_LEVEL=info
IntelliJ などのサポートされている JetBrains IDE の Gemini Code Assist に既知の問題はありません。
フィードバック
体験へのフィードバックを残すには、次の手順に従います。
ステータスバーで spark [Gemini Code Assist] をクリックし、[クイック選択] メニューで [フィードバックを送信] を選択します。
フォームの [Title] と [Comment] のフィールドに記入します。
Skaffold または AI Companion のログを共有したい場合は、[Skaffold ログを送信する] または [AI Companion ログを送信する] のオプションを選択していることを確認します。
[フィードバックを送信する] をクリックします。
ステータスバーで spark [Gemini Code Assist] をクリックし、メニューで [Submit feedback] を選択します。
フォームの上部にあるテキスト フィールドにフィードバックを入力します。
Gemini Code Assist のログを共有する場合は、ログファイルを選択していることを確認します。
[フィードバックを送信する] をクリックします。
次のステップ
- Gemini for Google Cloud がデータを使用する方法を学習する。
- Gemini Code Assist の料金について確認する。