本文說明如何使用 IDE 中的 AI 輔助協作工具 Gemini Code Assist,在 VS Code 或 IntelliJ 和其他支援的 JetBrains IDE 中執行下列作業:
- 透過程式碼轉換功能,為專案生成程式碼。
- 在編寫程式碼時接收程式碼完成建議。
- 使用智慧操作。
如果您使用 Gemini Code Assist Enterprise,可以透過程式碼自訂功能,直接從 Gemini Code Assist Enterprise 取得貴機構私人程式碼集的程式碼建議。瞭解如何設定程式碼自訂功能。
本文件適用於各種程度的開發人員。並假設您已具備 VS Code 或 IntelliJ,以及其他支援的 JetBrains IDE 的工作知識。您也可以使用 Android Studio 中的 Gemini。
事前準備
VS Code
- 如果尚未設定,請設定 Gemini Code Assist 個人版、Gemini Code Assist Standard 或 Gemini Code Assist Enterprise。 
- 在程式碼檔案中測試 Gemini Code Assist 功能前,請確認檔案的程式設計語言是否受到支援。如要進一步瞭解支援的程式語言,請參閱支援的程式語言。 
- 如果您偏好在 Proxy 後方使用 IDE,請參閱「Visual Studio Code 中的網路連線」。 
IntelliJ
- 如果尚未設定,請設定 Gemini Code Assist 個人版、Gemini Code Assist Standard 或 Gemini Code Assist Enterprise。 
- 在程式碼檔案中測試 Gemini Code Assist 功能前,請確認檔案的程式設計語言是否受到支援。如要進一步瞭解支援的程式語言,請參閱支援的程式語言。 
- 如要在 Proxy 後方使用 IDE,請參閱「HTTP Proxy」。 
使用提示生成程式碼
以下章節說明如何在程式碼檔案中,使用 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) 或 Cmd+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 會根據提示,在差異檢視畫面中生成程式碼。   
- 選用:如要接受這些變更,請按一下「接受變更」。 - 您可以在 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)。
- 如要生成程式碼,請按下 Ctrl + 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」下拉式選單。然後選取偏好的快速鍵,或按一下「自訂」輸入自己的快速鍵。   
選用:停用程式碼自動完成功能
程式碼自動完成功能預設為啟用,如要停用程式碼自動完成功能,請按照下列步驟操作:
VS Code
- 在 IDE 中,按一下「Code」 (適用於 macOS) 或「File」 (適用於 Windows 和 Linux),然後依序前往「Preferences」 >「Settings」。 
- 在「設定」對話方塊的「使用者」分頁中,依序前往「擴充功能」>「Gemini Code Assist」。 
- 捲動至「Geminicodeassist > Inline Suggestions: Enable Auto」清單,然後選取「Off」。 - 這樣一來,系統就會關閉內嵌建議。您仍可按下 Ctrl + Enter 鍵 (Windows 和 Linux) 或 Ctrl + Return 鍵 (macOS),手動觸發行內建議。 
IntelliJ
在 IDE 的狀態列中,按一下「Gemini Code Assist: Active」spark,然後選取「Enable AI Code Completion」。
 
 
這會停用程式碼完成設定,且 Gemini Code Assist 不會再提供內嵌建議,直到您再次啟用這項設定為止。
使用下一個編輯位置預測
程式碼自動完成功能只會在程式碼檔案中游標所在位置建議變更,但「下一個編輯內容預測」功能會在整個檔案中提供預測的程式碼建議,即使游標不在該位置也一樣。
您可以在 IDE 的設定中啟用「下一個編輯預測」。
如要在 IDE 中使用「下一個編輯預測」,請按照下列步驟操作:
VS Code
如要開始使用「下一個編輯預測」功能,請啟用這項設定:
- 依序前往「設定」>「管理」>「設定」。 
- 在設定視窗的「User」分頁中,依序前往「Extensions」>「Gemini Code Assist」。 
- 捲動畫面,直到看到「Gemini Code Assist」>「Inline Suggestions: Next Edit Predictions」。 
- 勾選核取方塊,即可在 VS Code 中啟用「下一個編輯預測」。 
啟用這項設定後,您就能開始在程式碼檔案中使用「下一個編輯預測」功能,方法如下:
- 在程式碼檔案中開始編寫程式碼。暫停或停止輸入時,系統會顯示下一個編輯預測。   
- 按 Tab 鍵可接受「後續編輯」建議。   
- 如要接受下一個建議,請再次按下 Tab 鍵。系統可能會顯示其他建議,您可以再次重複上述程序。否則,請按 Esc 鍵關閉建議,或繼續輸入來忽略建議。 - 按下 Tab 鍵輸入建議時,你可以將游標懸停在建議上,查看其他建議 (如有)。如有其他建議,請按一下左右箭頭,即可切換查看。   - 按下 Esc 鍵關閉建議後,Gemini Code Assist 就不會再針對該特定程式碼區塊提供「下一個編輯預測」建議。當您移至程式碼的其他部分時,系統會繼續提供建議。 
IntelliJ
如要開始使用「下一個編輯預測」功能,請啟用這項設定:
- 依序前往「檔案」 >「設定」 >「工具」>「Gemini」。 
- 在「完成」部分,勾選「下一個編輯預測」核取方塊,啟用這項功能。 
啟用這項設定後,您就能開始在程式碼檔案中使用「下一個編輯預測」功能,方法如下:
- 在程式碼檔案中開始編寫程式碼。暫停或停止輸入時,系統會顯示下一個編輯預測。   
- 按 Tab 鍵可接受「後續編輯」建議。   
- 如要接受下一個建議,請再次按下 Tab 鍵。系統可能會顯示其他建議,您可以再次重複上述程序。否則,請按 Esc 鍵關閉建議,或繼續輸入來忽略建議。 - 按下 Esc 鍵關閉建議後,Gemini Code Assist 就不會再針對該特定程式碼區塊提供「下一個編輯預測」建議。當您移至程式碼的其他部分時,系統會繼續提供建議。 。
根據遠端存放區內容取得更符合需求的建議
您可以引導 Gemini Code Assist 專注於特定遠端存放區,取得更符合情境且相關的程式碼建議。如果您的工作以特定微服務、程式庫或模組為中心,這項功能就非常實用。
事前準備
如要使用遠端存放區做為脈絡,請先建立索引並設定程式碼自訂功能。
使用遠端存放區做為脈絡
如要指示 Gemini Code Assist 將一或多個存放區做為提示的主要情境:
- 在 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。   
- 選取動作,例如「產生單元測試」。 - Gemini Code Assist 會根據所選動作生成回覆。 
IntelliJ
- 在程式碼檔案中,選取一行或一段程式碼。 
- 在所選程式碼上按一下滑鼠右鍵,然後選取智慧動作,例如「產生單元測試」。 - 選取智慧動作後,系統會自動提示 Gemini Code Assist 在 Gemini Code Assist 工具視窗中生成提示回覆。 
使用程式碼轉換快速修正
如果程式碼有錯誤,Gemini Code Assist 可讓您快速修正錯誤並轉換程式碼。
如要在程式碼檔案中套用快速修正,請按照下列步驟操作:
VS Code
- 在程式碼檔案中,將指標懸停在錯誤的波浪線上方,然後依序選取「快速修正」和「/fix」。   
- 套用快速修正後,系統會顯示差異檢視畫面。如要接受這些變更,請按一下「接受」。 
IntelliJ
- 在程式碼檔案中,按一下紅色錯誤燈泡圖示 (表示程式碼有錯誤),然後選取「使用 Gemini 修正」。   
- 套用修正後,系統會顯示差異檢視畫面。如要接受這些變更,請按一下「接受」。 
從本機環境排除檔案
根據預設,如果檔案是在 .aiexclude 或 .gitignore 檔案中指定,Gemini Code Assist 會排除這些檔案,不將其用於程式碼補全、程式碼生成、程式碼轉換和對話的背景資訊。
如要瞭解如何排除本機檔案,請參閱「排除 Gemini Code Assist 使用的檔案」。
停用與引用來源相符的程式碼建議
如果 Gemini Code Assist 直接完整引述其他來源的內容,例如既有開放原始碼等,則會註明引用來源。詳情請參閱「Gemini 會在哪些情況引用資料來源?方式為何?」。
如要避免系統根據引用的來源建議程式碼,請按照下列步驟操作:
VS Code
- 在 IDE 的活動列中,依序點選「管理」>「設定」。 
- 在設定視窗的「User」分頁中,依序前往「Extensions」>「Gemini Code Assist」。 
- 捲動畫面,直到找到「Geminicodeassist」>「Recitation: Max Cited Length」。 
- 將值設為 - 0。
Gemini Code Assist 不再建議與引用來源相符的程式碼。
IntelliJ
- 在 IDE 的狀態列中,依序點按 spark 「Gemini Code Assist: Active」和「Configure Gemini」。 
- 展開「進階設定」部分,然後選取「封鎖與外部引用來源相符的選取內容」。 
- 按一下「確定」。 
Gemini Code Assist 不再建議與引用來源相符的程式碼。
已知問題
本節列出 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
- 授權聲明警告不會跨工作階段保留 - 如果授權背誦警告不會持續顯示,請參閱持續性記錄: - 依序點選「查看」 >「輸出」。 
- 選取「Gemini Code Assist - Citations」(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
目前已知 Gemini Code Assist for IntelliJ 和其他支援的 JetBrains IDE 沒有問題。
提供意見
如要提供使用體驗的相關意見,請參閱「提供 Gemini for Google Cloud 意見回饋」。