與 Gemini Code Assist Standard 和 Enterprise 版對話

本文說明如何使用 Gemini Code Assist Standard 和 Enterprise (IDE 中的 AI 輔助協作工具),在 VS Code 或 IntelliJ 和其他支援的 JetBrains IDE 中執行下列操作:

  • 取得指引,協助解決程式碼問題。
  • 為專案產生程式碼。
  • 指定檔案和資料夾,管理專案的內容。
  • 建立自訂指令和規則。

程式碼自訂功能可讓您直接透過 Gemini Code Assist Enterprise,根據貴機構的私人程式碼集取得程式碼建議。瞭解如何設定程式碼自訂

本文件適用於各種程度的開發人員。並假設您已具備 VS Code 或 IntelliJ,以及其他支援的 JetBrains IDE 的工作知識,且熟悉 Google Cloud。您也可以在 Cloud Shell 編輯器Cloud WorkstationsAndroid Studio 中探索 Gemini Code Assist。

事前準備

VS Code

  1. 設定 Gemini Code Assist Standard 版或 Enterprise 版 (如果尚未設定)。

  2. 在程式碼檔案中測試 Gemini Code Assist 功能前,請確認檔案的程式設計語言是否受到支援。如要進一步瞭解支援的程式語言,請參閱「支援的程式語言」。

  3. 如果您偏好在 Proxy 後方使用 IDE,請參閱「Visual Studio Code 中的網路連線」。

IntelliJ

  1. 設定 Gemini Code Assist Standard 版或 Enterprise 版 (如果尚未設定)。

  2. 在程式碼檔案中測試 Gemini Code Assist 功能前,請確認檔案的程式設計語言是否受到支援。如要進一步瞭解支援的程式語言,請參閱「支援的程式語言」。

  3. 如要在 Proxy 後方使用 IDE,請參閱「HTTP Proxy」。

使用 Gemini Code Assist 聊天室說明程式碼

在本節中,您會提示 Gemini Code Assist 說明現有程式碼。

VS Code

如要取得程式碼說明,請按照下列步驟操作:

  1. 開啟程式碼檔案。

  2. 在 IDE 活動列中,按一下spark「Gemini Code Assist」

  3. 在「Gemini Code Assist」窗格中輸入提示 Explain this code to me,然後按一下「傳送」send

    Gemini Code Assist 會將程式碼檔案中的程式碼做為提示的參考資料,並回覆程式碼說明。

    如要參照特定程式碼區塊,而非檔案中的所有程式碼,請在程式碼檔案中選取該區塊,然後提示 Gemini Code Assist。

IntelliJ

如要取得程式碼說明,請按照下列步驟操作:

  1. 在 IDE 中開啟程式碼檔案。

  2. 在 Gemini Code Assist 工具視窗中輸入提示 Explain this code to me,然後按一下「提交」

Gemini Code Assist 會將程式碼檔案中的程式碼做為提示的參考資料,並回覆程式碼說明。

如要說明程式碼的特定部分,可以選取該部分,然後再次提示 Gemini Code Assist。Gemini Code Assist 只會將選取的程式碼做為參考,生成回覆內容。

Gemini Code Assist 在回覆中提供程式碼時,您可以在回覆結尾選取下列選項:

  • 插入游標位置:將生成的程式碼插入目前檔案的游標位置。

  • 在新檔案中插入:開啟新檔案,並將產生的程式碼插入新檔案。

    Gemini 會在生成的程式碼回覆結尾列出程式碼動作。

當 Gemini Code Assist 識別出程式碼區塊使用的語言,且目前 IDE 支援該語言時,就會顯示這些選項。

查看查詢記錄

如要重複使用先前的提示,請點按「Gemini Code Assist」工具視窗中的 schedule「Show Query History」,在「Query History」中尋找。

工具視窗中的 Gemini 查詢記錄。

建立多個對話

你可以建立多個 Gemini Code Assist 對話,每個對話都有自己的脈絡,與其他對話分開。聊天記錄會顯示首次對話和最後更新時間戳記。最多只能有 20 個對話。 達到上限後,新增對話時,系統會自動刪除最舊的對話。

VS Code

  1. 如要新增對話,請按一下「新增」>「新對話」,然後在文字欄位中輸入提示。輸入提示後,Gemini Code Assist 會建立新的對話。
  2. 如要存取先前的對話,請按一下「記錄」繼續先前的對話。系統會顯示對話清單。選取要查看的對話。
  3. 如要刪除對話串,請按一下「繼續先前的對話」,然後按一下要刪除對話旁的「刪除」

IntelliJ

目前 IntelliJ 和其他支援的 JetBrains IDE 尚不支援這項功能。

重設對話記錄

Gemini Code Assist 會使用對話記錄,在回覆提示時提供額外背景資訊。如果對話記錄與您想達成的目標無關,可以重設對話記錄

管理即時通訊

如要管理 Gemini Code Assist 的對話設定,請按照下列步驟操作:

設定自動捲動

VS Code

根據預設,Gemini Code Assist 會自動捲動瀏覽對話。如要停用這項行為,請執行下列工作:

  1. 依序前往「設定」>「擴充功能」>「Gemini Code Assist」

  2. 搜尋「自動捲動」設定,然後取消勾選核取方塊。

IntelliJ

這項功能不支援 IntelliJ 和其他 JetBrains IDE 的 Gemini Code Assist。

停止進行中的即時通訊

VS Code

如要停止生成回覆,請按一下「停止」

停止 Gemini Code Assist 對話回覆的按鈕

IntelliJ

這項功能不支援 IntelliJ 和其他 JetBrains IDE 的 Gemini Code Assist。

設定預覽窗格

根據預設,系統會啟用 Gemini Code Assist 即時通訊的預覽窗格設定。啟用這項設定後,Gemini Code Assist 對話中的預覽程式碼區塊會顯示前 6 行程式碼。你可以展開及收合程式碼區塊。

如要變更預設設定,請執行下列工作:

VS Code

  1. 在 IDE 中,依序前往「設定」>「擴充功能」 >「Gemini Code Assist」

  2. 搜尋「預設程式碼區塊顯示」設定。

  3. 選取下列選項之一:

    • 展開:自動展開 Gemini Code Assist 聊天回覆中的所有程式碼區塊。

    • 預覽:只會顯示程式碼區塊中的前 6 行程式碼。您必須展開 Gemini Code Assist 對話回覆中的程式碼區塊,才能查看其餘程式碼。這是預設設定。

    • 收合:自動收合 Gemini Code Assist 對話回覆中的所有程式碼區塊。

    IDE 重新載入後,新設定就會生效。

IntelliJ

這項功能不支援 IntelliJ 和其他 JetBrains IDE 的 Gemini Code Assist。

透過對話功能,使用所選程式碼提示 Gemini Code Assist

Gemini Code Assist 可根據您選取的程式碼執行工作或回答問題。如要根據提示和所選程式碼取得生成的程式碼,請按照下列步驟操作:

VS Code

  1. 在活動列中,按一下 spark「Gemini Code Assist」,開啟「Gemini Code Assist」窗格。

  2. 在程式碼檔案中選取程式碼區塊。

  3. Gemini Code Assist 窗格的文字欄位中,輸入所選程式碼的提示。

    舉例來說,選取程式碼中的函式,然後輸入提示 Write a unit test for this function

    Gemini 會以您選取的程式碼做為參考,並回覆您的提示。

IntelliJ

  1. 在活動列中,依序點選「spark」「Gemini Code Assist」,開啟 Gemini Code Assist 工具視窗。

  2. 在程式碼檔案中選取程式碼區塊。

  3. Gemini Code Assist 工具視窗的文字欄位中,輸入所選程式碼的提示。

    舉例來說,選取程式碼中的函式,然後輸入提示 Write a unit test for this function.

    Gemini Code Assist 會以選取的程式碼做為參考,並回應提示。

將選取的程式碼片段新增至脈絡

你可以選取、附加程式碼片段,並指示 Gemini Code Assist 專注於這些片段。選取程式碼片段後,即可針對較小的程式碼區塊進行個別分析,不必分析整個檔案。

在程式碼檔案中選取程式碼片段後,您可以指示 Gemini Code Assist 將程式碼片段新增至內容匣

在編輯器視窗中選取但尚未新增至「內容匣」的任何內容,也會自動納入內容。所選程式碼片段只會顯示在單一對話回合中。這些內容不會保留在內容抽屜中,但會保留在 Gemini Code Assist 對話記錄中。

在本節中,您會將選取的程式碼片段新增至環境,並請 Gemini Code Assist 說明該程式碼片段:

VS Code

  1. 在程式碼檔案中選取程式碼片段。

  2. 在 Gemini Code Assist Chat 文字欄位中,按一下「Add to Chat Context」(新增至對話背景資訊)

    Gemini Code Assist 會將選取的程式碼片段新增至「內容抽屜」。

  3. 在 Gemini Code Assist Chat 文字欄位中,輸入提示 what does this code do?

    Gemini Code Assist 會根據您在「內容匣」中選取的程式碼片段,回覆您的提示。

IntelliJ

這項功能不支援 IntelliJ 和其他 JetBrains IDE 的 Gemini Code Assist。

透過對話功能,使用所選終端機輸出內容提示 Gemini Code Assist

Gemini Code Assist 可根據選取的終端機輸出內容執行工作或回答問題。如要請 Gemini 說明所選終端機輸出內容,請按照下列步驟操作:

VS Code

  1. 在 IDE 中開啟終端機 (依序點選「View」>「Terminal」)。

  2. 選取任何終端機輸出內容。

  3. 在選取的終端機輸出內容上按一下滑鼠右鍵,然後選取「Gemini Code Assist: Add to Chat Context」(Gemini Code Assist: 新增至對話內容)。

    Gemini Code Assist 會將終端機輸出內容新增至「內容」抽屜。

  4. 在 Gemini Code Assist Chat 文字欄位中,輸入提示 what does this do?

    Gemini Code Assist 會根據「內容匣」中選取的終端機輸出內容,回覆您的提示。

IntelliJ

這項功能不支援 IntelliJ 和其他 JetBrains IDE 的 Gemini Code Assist。

在工作區環境中指定檔案和資料夾

您可以指定工作區中的檔案或資料夾,供 Gemini Code Assist 做為背景資訊。指定資料夾時,Gemini Code Assist 會將資料夾和子資料夾中的檔案做為脈絡。

VS Code

如要在對話提示中指定檔案或資料夾,請輸入 @,然後選取要指定的檔案或資料夾。

指定 VS Code 應瞭解本機程式碼集的檔案和資料夾。

如要瞭解程式碼集內兩個檔案的差異,請按照下列步驟操作:

  1. 在活動列中,按一下 spark「Gemini Code Assist」

  2. 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 會根據您指定的兩個檔案提供背景資訊,並回覆提示。Gemini Code Assist 也會納入您在「Context Sources」(內容來源) 中指定的檔案。

指定這些檔案後,您可以在同一則對話記錄中繼續提出其他問題或提示,不必再次指定檔案。

舉例來說,在 Gemini Code Assist 窗格中輸入提示詞 How can I improve YOUR_FILE_NAME_1? (不含 @ 符號),然後按下 Enter 鍵 (Windows 和 Linux) 或 Return 鍵 (macOS)。

Gemini Code Assist 會回覆您在提示中指定的檔案相關查詢。

IntelliJ

如要在對話提示中指定檔案或資料夾,請輸入 @,然後選取要指定的檔案或資料夾。

指定 IntelliJ 應瞭解本機程式碼集的檔案。

如要瞭解程式碼集內兩個檔案的差異,請按照下列步驟操作:

  1. 在活動列中,按一下 spark「Gemini Code Assist」

  2. 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 會根據您指定的兩個檔案提供背景資訊,並回覆提示。Gemini Code Assist 也會納入您在「Context Sources」(內容來源) 中指定的檔案。

指定這些檔案後,您可以在同一則對話記錄中繼續提出其他問題或提示,不必再次指定檔案。

舉例來說,在 Gemini Code Assist 窗格中輸入提示詞 How can I improve YOUR_FILE_NAME_1? (不含 @ 符號),然後按下 Enter 鍵 (Windows 和 Linux) 或 Return 鍵 (macOS)。

Gemini Code Assist 會回覆您在提示中指定的檔案相關查詢。

在內容抽屜中管理檔案和資料夾

指定要用做 Gemini Code Assist 提示背景資訊的檔案或資料夾後,這些檔案和資料夾會放在「內容抽屜」中,您可以在這裡查看及從提示內容中移除檔案和資料夾。

如要管理「內容抽屜」中的檔案和資料夾,請執行下列工作:

VS Code

  1. 在 IDE 活動列中,按一下spark「Gemini Code Assist」

  2. 如要查看內容抽屜中的檔案和資料夾,請按一下「內容項目」

    Gemini Code Assist for VS Code 的內容匣

  3. 如要從內容匣中移除項目,請按一下「移除」close

IntelliJ

  1. 在活動列中,按一下 spark「Gemini Code Assist」

  2. 如要查看內容抽屜中的檔案和資料夾,請按一下「內容」

    IntelliJ 版 Gemini Code Assist 的內容抽屜

  3. 如要從內容匣移除檔案和資料夾,請按一下「移除」close

從本機內容排除檔案

根據預設,如果檔案是在 .aiexclude.gitignore 檔案中指定,Gemini Code Assist 會排除這些檔案,不將其用於程式碼自動完成、程式碼生成、程式碼轉換和對話的背景資訊。

如要瞭解如何排除本機檔案,請參閱「排除 Gemini Code Assist 使用的檔案」。

在對話中還原檢查點

套用 Gemini Code Assist 根據提示生成的變更後,您可以選擇將修改後的程式碼檔案還原至特定檢查點,這會將所有套用的變更還原至程式碼檔案。

還原至檢查點不會還原您可能對程式碼檔案所做的手動變更。

如要將程式碼檔案還原至檢查點,請按照下列步驟操作:

VS Code

在 Gemini Code Assist 對話窗格中,按一下「Revert to checkpoint」。這會將程式碼檔案還原至編輯前的查核點狀態。

VS Code Gemini Code Assist 中的「還原至檢查點」按鈕。

IntelliJ

這項功能不支援 IntelliJ 和其他 JetBrains IDE 的 Gemini Code Assist。

建立自訂指令

根據預設,Gemini Code Assist 會提供 VS Code 的 /generate 指令,以及 IntelliJ 和其他支援的 JetBrains IDE 的「產生程式碼」指令。 您也可以建立自己的自訂指令,在 IDE 中更快完成重複性工作。

在本節中,您將建立名為 add-comments 的自訂指令,在程式碼檔案中加入註解。如果是 IntelliJ 和其他支援的 JetBrains IDE,您可以在提示庫和編輯器內提示中建立、儲存及執行自訂指令。

VS Code

  1. 在程式碼檔案中,按下 Ctrl + I 鍵 (適用於 Windows 和 Linux) 或 Command + I 鍵 (適用於 macOS),開啟 Gemini Code Assist 快速挑選選單。

  2. 在選單中搜尋並選取「Preferences: Open Settings (UI)」

  3. 在「搜尋設定」欄位中輸入 Geminicodeassist: Custom Commands

  4. 在「自訂指令」方塊中,選取「新增項目」

  5. 在「Item」(項目) 欄位中,輸入 add-comments 做為指令名稱。

  6. 在「Value」(值) 欄位中,輸入 add comments to all functions without comments in my code 做為提示。

  7. 按一下 [確定]

您現在可以在 IDE 中使用自訂指令 add-comments。指令會顯示在 Gemini Code Assist 快速挑選選單的指令清單中 (Windows 和 Linux 為 Control + I 鍵,macOS 為 Command + I 鍵)。

IntelliJ

  1. 在 IDE 中,依序前往「Settings」>「Tools」>「Gemini」>「Prompt Library」

    IntelliJ Gemini Code Assist 的提示庫

  2. 在「提示庫」視窗中,按一下「新增」add

  3. 為自訂指令命名 add-comments

  4. 在提示庫的文字方塊中輸入提示: Add comments to all functions without comments in this code

  5. 如果未選取「在編輯器內提示中顯示」核取方塊,請選取該方塊。

  6. 按一下「確定」,將自訂指令儲存至提示庫。

  7. 在程式碼檔案中,醒目顯示要修改的程式碼。

  8. 在醒目顯示的程式碼上按一下滑鼠右鍵,然後依序前往「Gemini」>「Prompt Library」,然後選取自訂指令 add-comments

    Gemini Code Assist 會執行 add-comments 指令,並在醒目顯示的程式碼中加入註解。

您也可以透過下列工作,使用編輯器內提示叫用自訂指令:

  1. 在程式碼檔案中,醒目顯示要修改的程式碼,然後按 Alt+\ (適用於 Windows 和 Linux) 或 Cmd+\ (適用於 macOS),開啟 Gemini Code Assist 快速挑選選單。

  2. 在選單中選取自訂指令 add-comments

    Gemini Code Assist 會執行 add-comments 指令,並在醒目顯示的程式碼中加入註解。

建立規則

您可以建立 Gemini Code Assist 遵循的規則,這些規則會納入您輸入的每個對話提示。

Gemini 的規則可讓你定義偏好設定,例如:

  • 程式碼樣式
  • 輸出格式
  • 技術堆疊
  • 語言

舉例來說,你可以建立「一律以 Kotlin 提供簡潔的回覆」這類規則。

VS Code

  1. 在程式碼檔案中,按下 Ctrl + I 鍵 (適用於 Windows 和 Linux) 或 Command + I 鍵 (適用於 macOS),開啟 Gemini Code Assist 快速挑選選單。

  2. 在選單中搜尋並選取「Preferences: Open Settings (UI)」

  3. 在「搜尋設定」欄位中輸入 Geminicodeassist: Rules

  4. 在文字欄位中輸入規則,例如:Always generate unit tests when creating a new function。您也可以在文字欄位中新增一或多個規則,每行一個規則。

    在「規則」設定中新增規則後,Gemini Code Assist 會將規則套用至您發出的每個提示或要求。

    如要移除規則,請從「規則」文字欄位中刪除內容。

IntelliJ

  1. 如要建立規則,請依序前往「設定」>「工具」>「Gemini」>「提示範本庫」>「規則」,然後編輯編輯器中的文字。
  2. 如要設定規則的範圍,請在「範圍」下拉式選單中,選取「IDE」或「專案」

    • IDE 層級規則僅供您使用,且可套用至多個專案。
    • 專案層級的規則可供同一專案的團隊成員共用。

    如要與團隊共用提示,請將 .idea 資料夾新增至版本控管系統。

已知問題

本節說明 Gemini Code Assist 的已知問題:

VS Code

  • 如果大型開放式檔案的更新版本包含在對話回覆中,回覆內容可能會遭到截斷

    如要解決這個問題,請選取較小的程式碼區段,並在即時通訊提示中加入額外指令,例如 only output the selected code.

  • Vim:必須處於插入模式,才能接受或關閉程式碼生成建議

    在一般模式下使用 Vim 外掛程式時,您無法接受或關閉程式碼建議。

    如要解決這個問題,請按 i 鍵進入插入模式,然後按 Tab 鍵接受建議。

  • Vim:按下 Esc 鍵關閉建議時,行為不一致

    按下 Esc 鍵後,IDE 和 Gemini Code Assist 建議都會關閉。這項行為與非 Vim 模式不同,在非 Vim 模式下,按下 Esc 鍵會重新觸發 Gemini Code Assist。

  • 嘗試登入時不斷逾時

    如果登入嘗試持續逾時,請嘗試在 settings.json 檔案中新增 cloudcode.beta.forceOobLogin 設定:

     "cloudcode.beta.forceOobLogin": true
    
  • 授權背誦警告不會跨工作階段保留

    如果授權背誦警告不會持續顯示,請參閱持續性記錄:

    1. 依序點選「查看」>「輸出」

    2. 選取「Gemini Code Assist - Citations」(Gemini Code Assist - 引文)

  • Gemini Code Assist 輸出內容視窗中的連線問題

    如果在 Gemini Code Assist 輸出視窗中看到連線錯誤或其他連線問題,請嘗試下列方法:

    • 設定防火牆,允許存取 oauth2.googleapis.comcloudaicompanion.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」

    如果您已按照本指南中的操作說明選取專案,包括啟用 Gemini for Google Cloud API,則可能是 LS 伺服器發生問題。

    如要進一步瞭解問題,請採取下列行動:

    1. 在狀態列中,點按 spark「Gemini Code Assist」,然後選取「Send feedback」(提供意見)

    2. 按一下任一記錄檔的「顯示」,即可查看更多詳細資料,協助排解問題。

IntelliJ

目前沒有已知的問題會影響 IntelliJ 和其他支援的 JetBrains IDE 使用 Gemini Code Assist。

提供意見

如要提供使用體驗的相關意見,請按照下列步驟操作:

VS Code

  1. 你可以透過下列任一方式提供意見:

    • 在狀態列中,依序點按 spark「Gemini Code Assist」,然後在「快速挑選」選單中選取「提供意見」
    • 開啟指令面板 (Ctrl/Command + Shift + P),然後選取「Gemini Code Assist: Send Feedback」
  2. 在表單中填寫「標題」和「留言」欄位。

  3. 在「Gemini Code Assist 意見回饋」表單中,從「意見回饋類別」和「類型」下拉式選單中選取選項。

  4. 在「Comment」(意見) 欄位中詳述你的體驗。

  5. 請務必在意見回饋報告中附上 Gemini Code Assist 記錄。系統預設會選取這個選項。

  6. 視需要勾選或取消勾選其他選項。

  7. 按一下「提交意見回饋」

IntelliJ

  1. 在狀態列中,按一下 spark「Gemini Code Assist」

  2. 在即時通訊中提示 Gemini Code Assist 後,如果對回覆不滿意,請依序點選「thumb_down」thumb_down「不滿意」「提供意見回饋」。

  3. 在表單頂端的文字欄位中輸入意見回饋。

  4. 如要分享 Gemini Code Assist 記錄,請務必選取記錄檔。

  5. 按一下「提交意見回饋」

後續步驟