コードの問題を解決するためのガイダンスを提供する。
プロジェクトのコードを生成する。
コーディング時にインラインの候補を受け取る。
Gemini for Google Cloud がデータを使用する方法とタイミングについての説明をご確認ください。
コードに関するライセンス要件を遵守できるようにするために、Gemini Code Assist では、提案が特定のソースから詳細に直接引用を行っている場合、ソースの引用が提供されます。Gemini がソースを引用する方法とタイミングについて詳しくは、Gemini によるコードの生成とソースの引用方法をご覧ください。このドキュメントは、全スキルレベルのデベロッパーを対象としています。Cloud Workstations に関する実践的な知識があり、Google Cloud の深い知識があることを前提としています。また、必要に応じて、Gemini Code Assist は、Cloud Code for VS Code、Cloud Code for IntelliJ、Cloud Shell エディタでも利用できます。
始める前に
-
ワークステーション構成を作成できるように、プロジェクトに Cloud Workstations 管理者の IAM ロールがあることを確認します。
まだ設定していない場合はワークステーションを設定します。必ず構成では Base Editor(Code-OSS)を選択してください。
- コードファイルで Gemini Code Assist の機能をテストする前に、ファイルのコーディング言語がサポートされていることを確認してください。サポートされているコーディング言語の詳細については、サポートされているコーディング言語をご覧ください。
Google Cloud に接続してプロジェクトを選択する
このセクションでは、Google Cloud に接続し、ワークステーションで Cloud AI Companion API が有効になっている Google Cloud プロジェクトを選択します。
Cloud AI Companion API を有効にせずに Google Cloud プロジェクトを選択すると、IDE から API を有効にするオプションを提供する通知が送信されます。通知ウィンドウで [API を有効にする] を選択して、プロジェクトに対してこの API を有効にします。詳細については、プロジェクトに Gemini Code Assist を設定するをご覧ください。
ワークステーションで Google Cloud に接続するには、次の手順を実施します。
Google Cloud コンソールで、ワークステーションを起動します。
ステータスバーで [Cloud Code] - [ログイン] をクリックします。
ログインを促されたら、[ログインに進む] をクリックします。
Google Cloud ログインフローを立ち上げるには、Control(Windows および Linux の場合)または Command(macOS の場合)を押して、コンソールの URL をクリックします。
Cloud Workstations で外部のウェブサイトを開くように求められたら、[開く] をクリックします。
アカウントにログインするには、プロンプトに従います。
このアプリを Google からダウンロードしたことを確認するメッセージが表示されたら、[ログイン] をクリックします。
ブラウザで新しいタブが開き、Cloud Code にログインするための確認コードが表示されます。
確認コードをコピーして、「認証コードを入力してください」と表示されたターミナルに貼り付け、Enter(Windows および Linux の場合)または Return(macOS の場合)を押します。
これで Google Cloud に接続されました。
次に、Cloud AI Companion API が有効になっている Google Cloud プロジェクトを選択するには、次の手順に従います。
[Gemini コード アシスタンス] ステータスバーで [Gemini コード アシスタンス] をクリックします。
[Gemini コード アシスタンス] メニューで、[Select Gemini Code Assist project] を選択します。
Cloud AI Companion API が有効になっている Google Cloud プロジェクトを選択します。
Gemini を使用する準備ができました。
Gemini Code Assist とチャットする
このセクションでは、[Gemini コード アシスタンス] ペインを開き、Gemini コード アシスタンスとチャットして、既存のコードの説明を取得する方法について学習します。
Gemini とチャットを開始するには、次の手順を行います。
コードファイルを開きます。
ワークステーションのアクティビティ バーで、spark [Gemini Code Assist] をクリックします。
[Gemini Code Assist] ペインで、プロンプト「
Explain this code to me
」を入力し、send [送信] をクリックします。Gemini は、コードファイル内のコードをプロンプトへの参照として使用し、コードの説明を返します。
ファイル内のすべてのコードではなく、特定のコードブロックを参照するには、コードファイル内のブロックを選択して、Gemini に指示します。
チャット履歴をリセットする
Gemini コード アシスタンスは、プロンプトへの応答時に、追加のコンテキストとしてチャット履歴を使用します。
チャットの履歴と、実現しようとしていることとの関連性がなくなった場合は、チャット履歴をリセットできます([Gemini コード アシスタンス] ペインでdelete [Chat のリセット] をクリックします)。
プロンプトを使用してコードを生成する
以下のセクションでは、Gemini Code Assist を使用して、コード ファイル内のサンプル プロンプト Function to create a Cloud Storage
bucket
でコードを生成する方法について説明します。また、コーディング中には、コードの一部を選択して、チャット機能で 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 を押します。
省略可: コードを生成するためのキーボード ショートカットを変更します
前のセクションで説明したように、コードを生成するためのデフォルトのキーボード ショートカットが動作しない場合は、次の手順でキーボード ショートカットを変更できます。
ワークステーションで、[メニュー] [メニュー] をクリックし、[ファイル] > [設定] > [キーボード ショートカット] に移動します。
キーボード ショートカットのリストで、[Cloud Code: コードを生成] を検索します。
[Cloud Code: コードを生成] をクリックし、[編集] [キーバインドを変更] をクリックします。
表示されるダイアログで、独自のショートカットを入力します。
Enter(Windows および Linux の場合)または Return(macOS の場合)を押します。
新しく割り当てたキーボード ショートカットを使用して、Gemini でコードを生成できるようになりました。
選択したコードを使用してチャットで 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 は、コードの記述時に、インライン コードの候補を作成します。ユーザーはこれを取捨選択できます。この機能を試すには、次の手順を行います。
コードファイルの新しい行で、関数の作成を開始します。たとえば、Python ファイルの場合は、「
def
」と記述します。Gemini は、ゴースト テキスト形式でコードの候補を表示します。
Gemini Code Assist からのコード候補を受け入れるには、Tab を押します。それ以外で、提案を無視するには、Esc を押すか、引き続きコードを記述します。
省略可: インライン候補を無効にする
Gemini Code Assist でインライン候補を無効にするには、次の手順に従います。
ワークステーションで、メニュー メニューに移動し、ファイル > 設定 > 設定を選択します。
[設定] ダイアログの [ユーザー] タブで、[拡張機能] > [Cloud Code] に移動します。
[Cloudcode: Gemini Code Assist: Inline Suggestions: Enable Auto] リストが表示されるまでスクロールして、[Off] を選択します。
これで、インライン候補は無効になります。インライン候補は、Control+Enter(Windows および Linux の場合)や Ctrl+Return(macOS の場合)を押すことで、引き続き手動で起動できます。
引用されたソースに一致するコードの候補を無効にする
既存のオープンソース コードなど、別のソースから詳細に直接引用する際、Gemini が引用情報を提供します。詳細については、Gemini によるソースの引用方法とタイミングをご覧ください。
引用されたソースに一致するコードが提案されないようにするには、settings.json
ファイルの cloudcode.duetAI.recitation.maxCitedLength
設定を 0
に変更します。
"cloudcode.duetAI.recitation.maxCitedLength": 0
スマート アクションを使用する
コンテキストの切り替えを最小限に抑えながら生産性を向上させるため、Gemini Code Assist では、AI を活用したスマート アクションをコードエディタに直接備えています。コードエディタでコードを選択すると、コンテキストに関連するアクションのリストを表示して選択できます。
コードでスマート アクションを使用するには、次の手順を行います。
コードファイルで、コードのブロックを選択します。
選択したコードブロックの横にある電球アイコン [コード アクションを表示] をクリックします。
[Generate unit tests] などのアクションを選択します。
Gemini は、選択したアクションに基づいて回答を生成します。
プレビュー:コード変換を使用する
Gemini Code Assist には、コード変換が用意されています。これにより、コードファイルの一部を選択し、インライン テキスト ボックスを使用して自然言語のプロンプトで既存のコードの変更をリクエストできます。
コード変換を使用すると、次のことができます。
- コードを文書化するためのコメント行を生成する
- 問題のあるコードのトラブルシューティング
- コードの可読性を向上させる
- コードを効率化する
生成されたレスポンスのコンテキスト ソースは、[Gemini: チャット] ペインで表示することもできます。
インライン テキスト ボックスで Gemini Code Assist をプロンプト表示する
インライン テキスト ボックスでは、コードファイル内で Gemini Code Assist を直接操作できます。
インラインテキストボックスを開いて Gemini をプロンプト表示するには、次の手順に従います。
コードファイルで Ctrl+I(Windows および Linux の場合)または Command+I(macOS の場合)を押します。
プロンプト(
Write a function to create a Cloud Storage bucket
など)を入力して、Enter (Windows と Linux の場合)または Return(macOS の場合)を押します。Gemini Code Assist は、プロンプトに基づいてコードを生成します。
リファクタリングされたコードの差分を表示する
インライン テキスト ボックスに組み込まれた差分ビューを使用すると、Gemini から提案された変更と元のコードを確認できます。その後、提案された変更を受け入れることも、破棄することもできます。
インラインテキストボックスからリファクタリングされたコードの差分を表示するには、次の手順を行います。
コードファイルで関数を選択し、Ctrl+I(Windows および Linux の場合)または Command+I(macOS の場合)を押してインライン テキスト ボックスを開きます。
「
Add comments
」などのプロンプトを入力して、Enter(Windows と Linux の場合)または Return(macOS の場合)を押します。選択した関数に対するコードの変更が Gemini によって生成されると、差分ビューが表示されます。
変更を承認または破棄するには、[承認] または [破棄] をクリックします。
生成された回答のコンテキスト ソースを表示する
コンテキスト表示機能では、プロンプトへのレスポンスの生成への参照として使用されたプロジェクト ファイル(コンテキスト ソース)が一覧表示されます。どのファイルが参照として使用されたかを知ることで、プロンプトを絞り込み、より具体的なレスポンスを得ることができます。コンテキスト ソースは、Gemini とのチャットを使用するたびに表示されます。
生成されたレスポンスのコンテキスト ソースを表示するには、[Gemini: チャット] ペインで、[Context Sources] スニペットが表示されるまでスクロールします。スニペットを展開して、すべてのコンテキスト ソースを確認します。
Smart Commands を使用する
スマート コマンドは、インライン テキスト ボックスで使用でき、コードに対して特定のアクションを実行するコマンドです。
/explain
スマートコマンドを使用してコードファイル全体の説明を取得するには、次の手順に従います。
コードファイルで、Ctrl+I(Windows と Linux の場合)または Command+I(macOS の場合)を押してインライン テキスト ボックスを開きます。
/ を押すと、スマート コマンドとその説明のリストが表示されます。
[
/explain
] を選択します。Gemini によって、コードファイル全体の説明がインライン テキスト ボックスに生成されます。
省略可: 生成された回答を [Gemini: チャット] ペインに表示する場合は、[チャットで表示] をクリックします。
プロンプト履歴を表示する
プロンプトの履歴にアクセスすると、大きいコードファイルに同じプロンプトを入力する必要がある場合に時間を節約できます。
プロンプトの履歴にアクセスするには、コードファイルで Ctrl+I(Windows および Linux の場合)または command+I(macOS の場合)を押してインライン テキスト ボックスを開きます。Ctrl+↑(Windows および Linux)または Command+↑(macOS の場合)を押します。これにより、古いプロンプトを繰り返し使用し、必要に応じて再利用できます。
英語を母国語としないユーザー向けにコードの読みやすさを向上させる
翻訳アプリケーションに依存している非ネイティブの英語話者の場合は、インライン テキスト ボックスを使用して他の言語でコメントを生成できます。
英語のコメントを別の言語に変換したり、別の言語で新しいコメントを追加したりするには、次の手順に従います。
コードファイルで、コメントを追加するコードを選択します。
Ctrl+I(Windows と Linux の場合)または Command+I(macOS の場合)を押して、インライン テキスト ボックスを開きます。
「
Add spanish comments
」などのプロンプトを入力して、Enter(Windows と Linux の場合)または Return(macOS の場合)を押します。Gemini によって、プロンプトで指定した言語でコメントが生成され、これらの提案の差分が表示されます。
コードに対するこれらの変更を承認または破棄するには、承認または破棄をクリックします。
他のサンプル プロンプトをテストする
このドキュメントのプロンプトを使用してコードを生成するセクションを読み終えたら、次のプロンプト例をいくつか試してください。
コードの説明を取得する
- コードファイルで、説明対象の関数を選択します。
[Gemini コード アシスタンス] ペインで、プロンプト「
Explain this code to me
」を入力します。Gemini は、選択したコードをリファレンスとして使用し、選択した関数の説明を返します。
テスト計画を生成する
- コードファイルで、単体テストを追加するコードを選択します。
- [Gemini コード アシスタンス] ペインで、プロンプト「
Write unit tests for my code
」を入力します。
デバッグコードでヘルプを受ける
- コードファイルで、デバッグするコードを選択します。
- [Gemini コード アシスタンス] ペインで、プロンプト「
Help me debug my code
」を入力します。
コードを読みやすくする
- コードファイルで、読みやすくするコードを選択します。
[Gemini コード アシスタンス] ペインで、プロンプト「
Make my code more readable
」を入力します。コードの特定の部分に焦点を当てるには、Gemini のプロンプトを表示する前にコードの目的の箇所を選択します。
既知の問題
以降のセクションでは、Gemini Code Assist の既知の問題について説明します。
ライセンスの引用に関する警告がセッションをまたいで維持されない
ライセンスの引用に関する警告がセッションをまたいで維持されない場合は、永続ログをご覧ください。
メニュー メニュー > [表示] > [出力] の順にクリックします。
[Gemini コード アシスタンス- 引用] を選択します。
Gemini コード アシスタンスの出力ウィンドウにおける接続の問題
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 と JetBrains Gateway
Gemini Code Assist は JetBrains Gateway を経由しません。そのため、JetBrains Gateway を介して接続する必要がある Cloud Workstations IDE では、Gemini Code Assist は実行されません。
Gemini Code Assist プロジェクトを選択した後も、[Gemini Code Assist を有効にする] が表示される
このガイドの手順(Cloud AI Companion API を有効にすることを含む)に沿ってプロジェクトを選択した場合は、LS サーバーに問題が生じる可能性があります。
問題の詳細を確認するには、次の操作を行います。
ステータスバーで、spark [Gemini Code Assist] をクリックしてから、[フィードバックを送信] を選択します。
いずれかのログファイルの [表示] をクリックすると、詳細が表示され、問題のトラブルシューティングを実行できます。
フィードバック
体験へのフィードバックを残すには、次の手順に従います。
ステータスバーで [Gemini コード アシスタンス] をクリックし、[クイックピック] メニューで [フィードバックの送信] を選択します。
フォームの [Title] と [Comment] のフィールドに記入します。
Skaffold または AI Companion のログを共有したい場合は、[Skaffold ログを送信する] または [AI Companion ログを送信する] のオプションを選択していることを確認します。
[フィードバックを送信する] をクリックします。
次のステップ
- より良いプロンプトを作成する方法を確認する。