このドキュメントでは、IDE の AI によるコラボレーターである Gemini Code Assist の Standard と Enterprise を使用して、VS Code や IntelliJ などのサポートされている JetBrains IDE で次のことを行う方法について説明します。
- コード変換を使用してプロジェクトのコードを生成する。
- コーディング中にコード補完を使用する。
- スマート アクションを使用する。
Gemini Code Assist Enterprise を使用している場合は、コードのカスタマイズを使用できます。これにより、組織のプライベート コードベースに基づいて、Gemini Code Assist Enterprise から直接コード候補を取得できます。コードのカスタマイズを構成する方法をご確認ください。
このドキュメントは、スキルレベルに関係なく、すべてのデベロッパーを対象としています。また、VS Code または IntelliJ などのサポートされている JetBrains IDE の実践的な知識があり、 Google Cloudに慣れていることを前提としています。必要に応じて、Cloud Shell エディタ、Cloud Workstations、Android Studio で Gemini Code Assist を使用することもできます。
始める前に
VS Code
Gemini Code Assist Standard または Enterprise を設定します(まだ設定していない場合)。
コードファイルで Gemini Code Assist の機能をテストする前に、ファイルのコーディング言語がサポートされていることを確認してください。サポートされているコーディング言語の詳細については、サポートされているコーディング言語をご覧ください。
プロキシの背後で IDE を使用する場合は、Visual Studio Code のネットワーク接続をご覧ください。
IntelliJ
Gemini Code Assist Standard または Enterprise を設定します(まだ設定していない場合)。
コードファイルで Gemini Code Assist の機能をテストする前に、ファイルのコーディング言語がサポートされていることを確認してください。サポートされているコーディング言語の詳細については、サポートされているコーディング言語をご覧ください。
プロキシの背後で IDE を使用する場合は、HTTP プロキシをご覧ください。
プロンプトを使用してコードを生成する
以下のセクションでは、Gemini Code Assist を使用して、コード ファイル内のサンプル プロンプト Function to create a Cloud Storage
bucket
でコードを生成する方法について説明します。コーディング中には、コードの一部を選択して、チャット機能で Gemini Code Assist にサポートを求め、コードの候補から選択することもできます。
コード変数を使用して Gemini Code Assist にプロンプトを入力する
コード変換を使用すると、クイック選択メニューでコマンドまたは自然言語プロンプトを使用してコードの変更をリクエストできます。また、差分ビューでコードの保留中の変更を確認できます。コード変換を使用して Gemini Code Assist にプロンプトを入力する手順は次のとおりです。
VS Code
コードファイルの新しい行で、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 は、差分ビューでプロンプトに基づいてコードを生成します。
省略可: これらの変更を承認するには、[承認] をクリックします。
IntelliJ
コードファイルの新しい行で、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 にプロンプトを入力する
必要に応じて、コードファイル内でコメントを使用して Gemini Code Assist にプロンプトを入力することもできます。手順は次のとおりです。
VS Code
新しい行でコメント「
Function to create a Cloud Storage bucket
」を入力し、Enter(Windows および Linux の場合)または Return(macOS の場合)を押します。コードを生成するには、Control+Enter(Windows および Linux)や Ctrl+Return(macOS の場合)を押します。
コードは、Gemini Code Assist がコードファイルのプロンプト テキストの横に、ゴースト テキスト形式で生成します。
省略可: 生成されたコードを受け入れるには、Tab を押します。
IntelliJ
コードファイルの新しい行で、コメント「
Function to create a Cloud Storage bucket
」を入力します。コードを生成するには、Alt+G(Windows および Linux の場合)または Option+G(macOS の場合)を押します。または、コメントの横を右クリックして [Generate Code] を選択します。
Gemini Code Assist は、コメントの下にゴースト テキスト形式でコードを生成します。
省略可: 生成されたコードを受け入れるには、Tab を押します。
省略可: コードを生成するためのキーボード ショートカットを変更する
前のセクションで説明したように、コードを生成するためのデフォルトのキーボード ショートカットが動作しない場合は、キーボード ショートカットを変更できます。
コード補完を取得する
Gemini Code Assist は、コードの記述時に、インライン コードの候補(コード補完)を作成します。ユーザーはこれを取捨選択できます。コード補完を取得する手順は次のとおりです。
VS Code
コードファイルの新しい行で、関数の作成を開始します。たとえば、Python ファイルの場合は、「
def
」と記述します。Gemini Code Assist は、ゴースト テキスト形式でコードの候補を表示します。
Gemini Code Assist からのコード候補を受け入れるには、Tab を押します。提案を無視するには、Esc を押すか、引き続きコードを記述します。
IntelliJ
コードファイルの新しい行で、関数の作成を開始します。たとえば、Python ファイルの場合は、「
def
」と記述します。Gemini Code Assist は、インライン候補の形式でコードの候補を表示します。
Gemini Code Assist からのコード候補を受け入れるには、Tab を押します。提案を無視するには、Esc を押すか、引き続きコードを記述します。
省略可: 別のショートカット キーを使用してインライン候補を受け入れる場合は、インライン候補にポインタを合わせ、表示された [Tab] プルダウンをクリックします。次に、お好みのショートカットを選択するか、[Custom] をクリックして独自のショートカットを入力します。
省略可: コード補完を無効にする
コード補完はデフォルトで有効になっています。コード補完を無効にするには、次の操作を行います。
VS Code
IDE で、[Code](macOS の場合)または [File](Windows と Linux の場合)をクリックして、[Preferences] > [Settings] に移動します。
[Settings] ダイアログの [User] タブで、[Extensions] > [Gemini Code Assist] に移動します。
[Geminicodeassist > Inline Suggestions: Enable Auto] リストが表示されるまでスクロールして、[Off] を選択します。
これで、インライン候補は無効になります。インライン候補は、Control+Enter(Windows および Linux の場合)または Ctrl+Return(macOS の場合)を押すことで、引き続き手動で起動できます。
IntelliJ
IDE のステータスバーで、[spark Gemini Code Assist: Active] をクリックし、[Enable AI Code Completion] を選択します。
これにより、コード補完設定が無効になり、設定を再度有効にするまで Gemini Code Assist はインライン候補を行わなくなります。
次の編集の予測を使用する
コード補完では、コードファイル内のカーソル位置での変更のみが提案されますが、次の編集の予測では、カーソル位置から離れた場所も含め、ファイル全体で予測されたコードの候補が提供されます。
IDE の設定で次の編集の予測を有効にできます。
IDE で次の編集の予測を使用する手順は次のとおりです。
VS Code
次の編集候補の使用を開始するには、次の設定を有効にします。
[設定] [管理] > [設定] に移動します。
設定ウィンドウの [User] タブで、[Extensions] > [Gemini Code Assist] に移動します。
[Geminicodeassist > Inline Suggestions: Next Edit Predictions] が表示されるまでスクロールします。
チェックボックスをオンにして、VS Code で次の編集予測を有効にします。
設定を有効にしたら、次の手順でコードファイルで次の編集の予測の使用を開始できます。
コードファイルで、コードの作成を開始します。入力の一時停止または停止時に、次の編集候補が表示されます。
Tab キーを押して、提案された次の編集を承認します。
次の候補を採用する場合は、もう一度 Tab キーを押します。さらに別の候補が表示され、プロセスを繰り返すことができます。それ以外の場合は、Esc を押して候補を閉じるか、入力を続けて候補を無視します。
Tab キーを押して候補を入力するときに、候補の上にポインタを置くと、他の候補が表示されます(該当する場合)。候補が複数ある場合は、左右の矢印をクリックして他の候補を順番に表示できます。
Esc キーを押して候補を拒否すると、Gemini Code Assist はその特定のコードブロックに対する次の編集予測の提案を停止します。コードの別のセクションに移動しても、候補は引き続き表示されます。
IntelliJ
次の編集候補の使用を開始するには、次の設定を有効にします。
[File] > [Settings] > [Tools] > [Gemini] に移動します。
[完了] セクションで、[次の編集の予測] チェックボックスをオンにして、この機能を有効にします。
設定を有効にしたら、次の手順でコードファイルで次の編集の予測の使用を開始できます。
コードファイルで、コードの作成を開始します。入力の一時停止または停止時に、次の編集候補が表示されます。
Tab キーを押して、提案された次の編集を承認します。
次の候補を採用する場合は、もう一度 Tab キーを押します。さらに別の候補が表示され、プロセスを繰り返すことができます。それ以外の場合は、Esc を押して候補を閉じるか、入力を続けて候補を無視します。
Esc キーを押して候補を拒否すると、Gemini Code Assist はその特定のコードブロックに対する次の編集予測の提案を停止します。コードの別のセクションに移動しても、候補は引き続き表示されます。
リモート リポジトリのコンテキストを使用して、より関連性の高い候補を取得する
Gemini Code Assist に特定のリモート リポジトリに焦点を当てるよう指示すると、コンテキストをより認識した、関連性の高いコード候補を取得できます。これは、タスクが特定のマイクロサービス、ライブラリ、モジュールを中心に行われる場合に便利です。
始める前に
リモート リポジトリをコンテキストとして使用する前に、まずコード カスタマイズ用にインデックスを登録して構成する必要があります。
リモート リポジトリをコンテキストとして使用する
Gemini Code Assist がプロンプトのプライマリ コンテキストとして 1 つ以上のリポジトリを使用するように指示するには:
- IDE のチャットで、プロンプトの先頭に @ 記号を入力します。使用可能なインデックス付きリモート リポジトリのリストが表示されます。
- リストから、コンテキストに使用するリポジトリを選択します。リポジトリ名の入力を開始して、リストをフィルタすることもできます。
- リポジトリを選択したら、プロンプトの残りの部分を入力します。
Gemini Code Assist は、レスポンスを生成するときに、選択したリポジトリを優先します。
プロンプトの例
このセクションでは、リモート リポジトリのコンテキストを使用して、より関連性の高い候補を取得する方法の例を示します。
- リポジトリについて
@REPOSITORY_NAME What is the overall structure of this repository?
@REPOSITORY_NAME I'm a new team member. Can you give me an overview of this repository's purpose and key modules?
- コードを生成して変更する
@REPOSITORY_NAME Implement an authentication function similar to the one in this repository.
@REPOSITORY_NAME Refactor the following code to follow the conventions in the selected repository.
Use the library-x in @REPOSITORY_A_NAME-A and implement the function-x
- テスト
@UNIT_TEST_FILE_NAME Generate unit tests for module-x based on the examples in the selected file.
リモート リポジトリをコンテキストの集中ソースとして使用すると、Gemini Code Assist からより正確で関連性の高い提案を得ることができ、コードをより迅速かつ効率的に作成できます。
スマート アクションを使用する
コンテキストの切り替えを最小限に抑えながら生産性を向上させるため、Gemini Code Assist では、AI を活用したスマート アクションをコードエディタに直接備えています。コードエディタでコードを選択すると、コンテキストに関連するアクションのリストを表示して選択できます。
コードでスマート アクションを使用するには、次の手順を行います。
VS Code
コードファイルで、コードのブロックを選択します。
選択したコードブロックの横にある [lightbulb Show Code Actions] をクリックします。
[Generate unit tests] などのアクションを選択します。
Gemini Code Assist は、選択したアクションに基づいて回答を生成します。
IntelliJ
コードファイルで、コードの行またはブロックを選択します。
選択したコードを右クリックし、[Generate unit tests] などのスマート アクションを選択します。
スマート アクションを選択すると、Gemini Code Assist が自動的にプロンプトに対する回答を生成します。生成されたプロンプトは、[Gemini Code Assist] ツール ウィンドウに表示されます。
コード変換のクイック フィックスを使用する
コードにエラーがある場合は、Gemini Code Assist でコード変換を使用してエラーにクイック フィックスを適用できます。
コードファイルにクイック フィックスを適用する手順は次のとおりです。
VS Code
コードファイルで、波線のエラー行の上にポインタを置いて [Quick Fix]、[/fix] の順に選択します。
クイック フィックスが適用されると、差分ビューが表示されます。これらの変更を承認するには、[Accept] をクリックします。
IntelliJ
コードファイルで、コードのエラーを示す赤いエラー電球アイコンをクリックし、[Fix with Gemini] を選択します。
修正が適用されると、差分ビューが表示されます。これらの変更を承認するには、[Accept] をクリックします。
ローカル コンテキストからファイルを除外する
.aiexclude
ファイルまたは .gitignore
ファイルで指定されているファイルがある場合、Gemini Code Assist はデフォルトで、コード補完、コード生成、コード変換、チャットのコンテキストでローカル使用からファイルを除外します。
ローカルでの使用からファイルを除外する方法については、Gemini Code Assist の使用からファイルを除外するをご覧ください。
引用されたソースに一致するコードの候補を無効にする
既存のオープンソース コードなど、別のソースからある程度の長さをそのまま引用している場合は、Gemini Code Assist によって引用情報が提供されます。詳細については、Gemini によるソースの引用方法とタイミングをご覧ください。
引用されたソースに一致するコードが提案されないようにするには、次の操作を行います。
VS Code
IDE のアクティビティ バーで、[Manage] > [Settings] をクリックします。
設定ウィンドウの [User] タブで、[Extensions] > [Gemini Code Assist] に移動します。
[Geminicodeassist > Recitation: Max Cited Length] が表示されるまでスクロールします。
値を
0
に設定します。
Gemini Code Assist は、引用されたソースと一致するコードを提案しなくなりました。
IntelliJ
IDE のステータスバーで、[spark Gemini Code Assist: Active] をクリックし、[Gemini を構成] を選択します。
[詳細設定] セクションを開き、[外部の引用元と一致する選択をブロックする] を選択します。
[OK] をクリックします。
Gemini Code Assist は、引用されたソースと一致するコードを提案しなくなりました。
既知の問題
このセクションでは、Gemini Code Assist の既知の問題について説明します。
VS Code
大きなオープン ファイルの更新バージョンが含まれている場合、チャットの回答が切り捨てられることがある
この問題を回避するには、コードの小さな部分を選択して、チャット プロンプトに追加のディレクティブ(
only output the selected code.
など)を含めます。Vim: 挿入モード以外で、コード生成候補を承認または拒否することができない
通常モードで Vim プラグインを使用する場合は、コードの候補を承認または拒否することはできません。
この問題を回避するには、i キーを押して挿入モードに移行し、Tab キーを押して候補を承認します。
Vim: Esc キーを押して候補を拒否するときの動作が一貫しない
Esc キーを押すと、IDE と Gemini Code Assist の両方の候補が拒否されます。この動作は、Esc キーを押すと Gemini Code Assist が再トリガーされる Vim 以外の動作とは異なります。
ログイン試行が常にタイムアウトになる
ログイン試行が常にタイムアウトになる場合は、
settings.json
ファイルにcloudcode.beta.forceOobLogin
設定を追加してください。"cloudcode.beta.forceOobLogin": true
ライセンスの引用に関する警告がセッションをまたいで維持されない
ライセンスの引用に関する警告がセッションをまたいで維持されない場合は、永続ログをご覧ください。
[View] > [Output] をクリックします。
[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
Gemini Code Assist プロジェクトを選択した後も、[Gemini Code Assist project] が表示される
このガイドの手順に沿ってプロジェクトを選択し、Gemini for Google Cloud API を有効にした場合は、LS サーバーに問題が生じる可能性があります。
問題の詳細を確認するには、次の操作を行います。
ステータスバーで、[spark Gemini Code Assist] をクリックしてから、[Send feedback] を選択します。
いずれかのログファイルの [表示] をクリックすると、詳細が表示され、問題のトラブルシューティングを実行できます。
IntelliJ
IntelliJ などのサポートされている JetBrains IDE の Gemini Code Assist に既知の問題はありません。
フィードバック
体験に関するフィードバックを残すには、Gemini for Google Cloud に関するフィードバックを送信するをご覧ください。
次のステップ
- より良いプロンプトを作成する方法を確認する。
- Gemini for Google Cloud がデータを使用する方法を確認する。
- Gemini Code Assist の料金について確認する。
- Google Cloud コンプライアンスの詳細を確認する。