本文說明如何使用 Gemini Code Assist Standard 和 Enterprise (IDE 中的 AI 輔助協作者),在 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 功能前,請確認檔案的程式設計語言是否受到支援。如要進一步瞭解支援的程式語言,請參閱支援的程式語言。
如果您偏好在 Proxy 後方使用 IDE,請參閱「Visual Studio Code 中的網路連線」。
IntelliJ
在程式碼檔案中測試 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
選取 Gemini Code Assist 專案後,仍顯示「啟用 Gemini Code Assist」
如果您已按照本指南中的操作說明選取專案 (包括啟用 Gemini for Google Cloud API),則可能是 LS 伺服器發生問題。
如要進一步瞭解問題,請採取下列行動:
在狀態列中,點按 spark「Gemini Code Assist」,然後選取「Send feedback」(提供意見)。
按一下任一記錄檔的「顯示」,即可查看更多詳細資料,協助排解問題。
IntelliJ
目前已知 Gemini Code Assist for IntelliJ 和其他支援的 JetBrains IDE 沒有問題。
提供意見
如要提供使用體驗的意見,請參閱「提供 Gemini for Google Cloud 意見回饋」。
後續步驟
- 瞭解如何撰寫更有效的提示。
- 瞭解 Gemini for Google Cloud 如何使用您的資料。
- 瞭解 Gemini Code Assist 定價。
- 進一步瞭解Google Cloud 法規遵循。