提供指引,協助您解決程式碼問題。
為專案產生程式碼。
在編寫程式碼時直接套用建議的字詞。
瞭解 Gemini for Google Cloud 如何使用您的資料,以及使用時機。
為協助您遵守程式碼的授權規定,如果 Gemini Code Assist 提供的建議直接引用特定來源的長篇內容,系統會提供引用出處。如要進一步瞭解 Gemini 引用來源的方式和時機,請參閱「Gemini 如何協助您生成程式碼及引用來源」一文。程式碼自訂功能可讓您直接透過 Gemini Code Assist,根據貴機構的私人程式碼集取得程式碼建議。瞭解如何設定程式碼自訂。
本文件適用於各種程度的開發人員。並假設您已具備 Cloud Workstations 的工作知識,且熟悉 Google Cloud。您也可以在 Cloud Code for VS Code、Cloud Code for IntelliJ 和 Cloud Shell 編輯器中探索 Gemini Code Assist。
事前準備
-
請確認您具備專案的 Cloud Workstations 管理員 IAM 角色,才能建立工作站設定。
如果尚未設定工作站,請先完成設定,並務必在設定中選取「Base Editor (Code-OSS)」(基本編輯器 (Code-OSS))。
- 在程式碼檔案中測試 Gemini Code Assist 功能前,請確認檔案的程式設計語言是否受到支援。如要進一步瞭解支援的程式語言,請參閱「支援的程式語言」。
連線至 Google Cloud 並選取專案
在本節中,您將連線至 Google Cloud 並選取Google Cloud 工作站中已啟用 Gemini for Google Cloud API 的專案。
如果您選取的 Google Cloud 專案未啟用 Gemini for Google Cloud API,系統會顯示通知,讓您選擇從 IDE 啟用 API。在通知視窗中選取「啟用 API」,即可為專案啟用 API。詳情請參閱「為專案設定 Gemini Code Assist」。
如要在工作站連線至 Google Cloud ,請按照下列步驟操作:
在 Google Cloud 控制台中啟動工作站。
點按狀態列上的「Cloud Code - Sign In」。
如果系統提示您登入,請點按「Proceed to sign in」。
如要啟動 Google Cloud 登入流程,請按下 Control 鍵 (Windows 和 Linux) 或 Command 鍵 (macOS),然後點按控制台中的網址。
如果系統提示您允許 Cloud Workstations 開啟外部網站,請按一下「開啟」。
按照提示登入帳戶。
系統提示您確認從 Google 下載這個應用程式時,請點按「登入」。
瀏覽器會開啟新分頁,顯示登入 Cloud Code 的驗證碼。
複製驗證碼並貼到終端機顯示「Enter authorization code」的位置,然後按下 Enter 鍵 (適用於 Windows 和 Linux) 或 Return 鍵 (適用於 macOS)。
你現在已連線至「 Google Cloud」。
接著,請按照下列步驟選取已啟用 Gemini for Google Cloud API 的 Google Cloud 專案:
在 Gemini Code Assist 狀態列中,點選「Gemini Code Assist」。
在「Gemini Code Assist」選單中,選取「Select Gemini Code project」(選取 Gemini Code 專案)。
選取已啟用 Gemini for Google Cloud API 的 Google Cloud 專案。
現在可以使用 Gemini 了。
與 Gemini Code Assist 對話
在本節中,您將瞭解如何開啟 Gemini Code Assist 窗格,並與 Gemini Code Assist 對話,取得現有程式碼的說明。
如要開始與 Gemini 對話,請按照下列步驟操作:
開啟程式碼檔案。
在工作站的活動列中,按一下 spark「Gemini Code Assist」。
在「Gemini Code Assist」窗格中,輸入提示
Explain this code to me
並點按「傳送」圖示 send。Gemini 會將程式碼檔案中的程式碼做為提示的參照,並在回覆中說明程式碼。
如要參照特定程式碼區塊,而非檔案中的所有程式碼,請在程式碼檔案中選取該區塊,然後提示 Gemini。
重設對話記錄
Gemini Code Assist 會使用對話記錄,在回覆提示時提供額外背景資訊。
如果對話記錄與您想達成的目標無關,可以重設對話記錄:在「Gemini Code Assist」窗格中,按一下 delete「Reset 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) 或 Control+Return 鍵 (適用於 macOS)。
在程式碼檔案中,Gemini Code Assist 會在提示文字旁以虛影文字的形式生成程式碼。
選用:如要接受生成的程式碼,請按下 Tab 鍵。
選用:變更產生程式碼的鍵盤快速鍵
如果無法使用預設鍵盤快速鍵生成程式碼 (如上一節所述),請按照下列步驟變更鍵盤快速鍵:
在工作站中,依序點按「選單」menu>「檔案」>「偏好設定」>「鍵盤快速鍵」。
在鍵盤快速鍵清單中,搜尋「Cloud Code: Generate Code」。
按一下「Cloud Code: Generate Code」,然後點選 edit「Change Keybinding」。
在隨即顯示的對話方塊中,輸入自訂快速鍵。
按下 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 的內嵌建議,請按照下列步驟操作:
在工作站中,依序選取 menu「選單」>「檔案」>「偏好設定」>「設定」。
在「設定」對話方塊的「使用者」分頁中,依序前往「擴充功能」>「Cloud Code」。
捲動畫面,直到找到「Cloudcode: Gemini Code Assist: Inline Suggestions: Enable Auto」清單,然後選取「Off」。
這會關閉內嵌建議。您仍可按下 Ctrl+Enter 鍵 (Windows 和 Linux) 或 Ctrl+Return 鍵 (macOS),手動觸發行內建議。
選用:使用 .aiexclude 檔案將檔案從脈絡中排除
您可以建立 .aiexclude
檔案,排除 Gemini Code Assist 考慮的檔案。.aiexclude
檔案的語法與 .gitignore
檔案類似,但有下列差異:
- 如果
.aiexclude
檔案為空或不存在,目錄和所有子目錄中的檔案都不會遭到封鎖。 .aiexclude
檔案不支援否定,也就是在模式前加上驚嘆號 (!
)。.aiexclude
檔案會貪婪地比對*
字元。這會不分青紅皂白地比對目錄和檔案。這個.aiexclude
檔案不會區分資料夾或檔案的**
或*
。
目前僅支援單一 .aiexclude
檔案。如要設定 .aiexclude
檔案,請在工作區資料夾的根目錄中建立名為 .aiexclude
的檔案。如要將這個檔案放在工作區根目錄以外的位置,或重新命名檔案,可以在 VS Code 設定中的「Context Exclusion File」下方設定路徑。這個設定中提供的路徑值會相對於開啟的工作區根資料夾解析。
範例
以下範例說明如何設定 .aiexclude
檔案:
封鎖工作區目錄中或其下的所有
apikeys.txt
檔案:apikeys.txt
封鎖工作區目錄中或其下所有副檔名為
.key
的檔案:*.key
只封鎖與
.aiexclude
檔案位於相同目錄的 apikeys.txt 檔案,但不封鎖任何子目錄:/apikeys.txt
封鎖目錄
my/sensitive/dir
和所有子目錄中的所有檔案。 路徑應相對於工作區根目錄。my/sensitive/dir/*
停用與引用來源相符的程式碼建議
如果直接引用其他來源的長篇內容 (例如現有的開放原始碼),Gemini 會提供引用資訊。詳情請參閱「Gemini 引用來源的方式和時機」。
如要避免系統建議與引用來源相符的程式碼,請在 settings.json
檔案中將 geminicodeassist.recitation.maxCitedLength
設定修改為 0
:
"geminicodeassist.recitation.maxCitedLength": 0
使用智慧動作
為協助您提高工作效率並減少切換情境,Gemini Code Assist 會直接在程式碼編輯器中提供 AI 輔助的智慧動作。在程式碼編輯器中選取程式碼時,您可以查看並選取與內容相關的動作清單。
如要在程式碼中使用智慧動作,請按照下列步驟操作:
在程式碼檔案中選取程式碼區塊。
在選取的程式碼區塊旁邊,按一下「顯示程式碼動作」lightbulb。
選取動作,例如「產生單元測試」。
Gemini 會根據所選動作生成回覆。
使用程式碼轉換
Gemini Code Assist 提供程式碼轉換功能,可讓您選取程式碼檔案的一部分,然後透過內嵌文字方塊,以自然語言提示要求修改現有程式碼。
程式碼轉換功能可執行下列操作:
- 生成註解行,記錄程式碼
- 排解程式碼問題
- 提升程式碼可讀性
- 提高程式碼效率
您也可以在 Gemini Chat 窗格中查看生成回覆的脈絡來源。
使用內嵌文字方塊提示 Gemini Code Assist
您可以在程式碼檔案中,直接透過內嵌文字方塊與 Gemini Code Assist 互動。
如要開啟內嵌文字方塊並提示 Gemini,請按照下列步驟操作:
在程式碼檔案中,按下 Control+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 Chat 時,系統都會顯示內容來源。
如要查看生成回覆的脈絡來源,請在「Gemini:Chat」窗格中捲動,直到看到「脈絡來源」程式碼片段為止。展開程式碼片段,即可查看所有內容來源。
使用智慧指令
智慧指令是您可以在內嵌文字方塊中使用的指令,可對程式碼執行特定動作。
如要使用 /explain
智慧指令取得整個程式碼檔案的說明,請按照下列步驟操作:
在程式碼檔案中,按下 Ctrl + I 鍵 (適用於 Windows 和 Linux) 或 Command + I 鍵 (適用於 macOS),開啟內嵌文字方塊。
按下 / 即可查看智慧指令清單和說明。
選取「
/explain
」。Gemini 會在內嵌文字方塊中,生成整個程式碼檔案的說明。
選用:如要在「Gemini:Chat」窗格中查看生成的回覆,請按一下「在 Chat 中查看」。
查看提示記錄
存取提示記錄可節省時間,不必在大型程式碼檔案中輸入相同的提示。
如要存取提示記錄,請在程式碼檔案中按下 Control+I 鍵 (適用於 Windows 和 Linux) 或 Command+I 鍵 (適用於 macOS),開啟內嵌文字方塊,然後按下 Control+向上鍵 (適用於 Windows 和 Linux) 或 Command+向上鍵 (適用於 macOS)。方便您瀏覽舊提示,並在需要時重複使用。
協助非英文母語者理解程式碼
如果您的母語不是英文,需要使用翻譯應用程式,可以使用內嵌文字方塊生成其他語言的註解。
如要將英文註解轉換為其他語言,或以其他語言新增註解,請按照下列步驟操作:
在程式碼檔案中,選取要加入註解的程式碼。
按下 Ctrl + I 鍵 (Windows 和 Linux) 或 Command + I 鍵 (macOS),開啟內嵌文字方塊。
輸入提示 (例如
Add spanish comments
),然後按下 Enter 鍵 (Windows 和 Linux) 或 Return 鍵 (macOS)。Gemini 會根據提示中指定的語言生成註解,並查看這些建議的差異。
如要接受或捨棄這些程式碼變更,請按一下「接受」或「捨棄」。
測試其他範例提示
請先閱讀本文件的「使用提示生成程式碼」一節,然後嘗試使用下列範例提示。
取得程式碼說明
- 在程式碼檔案中,選取要說明的函式。
在「Gemini Code Assist」窗格中,輸入提示詞
Explain this code to me
。Gemini 會以所選程式碼做為參照,並說明所選函式。
生成測試計畫
- 在程式碼檔案中,選取要新增單元測試的程式碼。
- 在「Gemini Code Assist」窗格中,輸入提示詞
Write unit tests for my code
。
取得偵錯程式碼相關協助
- 在程式碼檔案中,選取要偵錯的程式碼。
- 在「Gemini Code Assist」窗格中,輸入提示詞
Help me debug my code
。
讓程式碼更清楚易懂
- 在程式碼檔案中,選取要讓程式碼更清楚易懂的程式碼。
在「Gemini Code Assist」窗格中,輸入提示詞
Make my code more readable
。如要專注於程式碼的特定部分,請先選取偏好的程式碼部分,再提示 Gemini。
已知問題
以下各節將說明 Gemini Code Assist 的已知問題。
授權朗讀警告不會在各個工作階段保留
如果授權背誦警告不會持續顯示,請參閱持續性記錄:
依序點選「選單」圖示 menu>「檢視」>「輸出」。
選取「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 和 JetBrains Gateway
Gemini Code Assist 不會透過 JetBrains Gateway 執行。因此,Gemini Code Assist 無法在需要透過 JetBrains Gateway 連線的 Cloud Workstations IDE 上執行。
選取 Gemini Code Assist 專案後,系統仍顯示「啟用 Gemini Code Assist」
如果您已按照本指南中的操作說明選取專案,包括啟用 Gemini for Google Cloud API,則可能是 LS 伺服器發生問題。
如要進一步瞭解問題,請採取下列行動:
在狀態列中,依序點選 spark「Gemini Code Assist」和「Send feedback」(提供意見)。
按一下任一記錄檔的「顯示」,即可查看更多詳細資料,協助排解問題。
提供意見
如要提供使用體驗的相關意見,請按照下列步驟操作:
在狀態列中點選「Gemini Code Assist」,然後在「快速挑選」選單中選取「提供意見」。
在表單中填寫「標題」和「留言」欄位。
如要分享 Skaffold 或 AI 伴侶記錄,請務必選取「傳送 Skaffold 記錄」或「傳送 AI 伴侶記錄」選項。
按一下「提交意見回饋」。
後續步驟
- 瞭解如何撰寫更優質的提示。