使用 Gemini Code Assist 程式碼自訂功能
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
本文說明如何使用 Gemini Code Assist 程式碼自訂功能,並提供幾項最佳做法。這項功能可讓您接收程式碼建議,這些建議會參考貴機構的內部程式庫、私人 API 和程式設計樣式。
事前準備
-
透過企業版訂閱方案設定 Gemini Code Assist。
-
設定 Gemini Code Assist 程式碼自訂功能。
如何使用程式碼自訂功能
下表列出 Gemini Code Assist 程式碼自訂功能的使用方式:
表單 |
如何觸發 |
附註和資源 |
自然語言對話
|
在 IDE 的 Gemini Code Assist 對話中輸入自然語言提示。 |
請把握以下幾項重點:
- 無法查看即時通訊記錄。避免多步驟查詢。
- 你可以要求提供來源的詳細資料,包括特定來源的連結。
- 在對話中傳送訊息時,如果醒目顯示或選取程式碼,Gemini Code Assist 就會使用該程式碼,提升程式碼自訂程度和對話品質。
詳情請參閱「與 Gemini Code Assist 對話」。
|
生成程式碼 |
在 IDE 的快速挑選列中,無論是否選取程式碼,按下 Command+Enter 鍵 (macOS) 或 Control+Enter 鍵。 |
詳情請參閱「使用提示生成程式碼」。 |
轉換程式碼 |
在 IDE 的快速挑選列中,無論是否選取程式碼,輸入 /fix 。 |
詳情請參閱「使用提示生成程式碼」。 |
自動完成 |
系統會自動觸發程式碼自訂功能,並根據您輸入的內容提供建議。 |
請把握以下幾項重點:
- 程式碼完成功能需要達到一定的信賴水準,才能提出建議。請確保有大量程式碼可用,以便擷取相關程式碼片段。
- 程式碼自動完成功能會檢查您是否擁有必要程式庫,以便使用函式的特定元素。
詳情請參閱「取得程式碼完成建議」。
|
遠端存放區內容 |
- 提示必須以 @ 符號開頭。系統會顯示已建立索引的可用遠端存放區清單。
- 從清單中選取要用於情境的存放區。
你也可以輸入存放區名稱來篩選清單。
- 選取存放區後,請撰寫提示的其餘部分。
|
請把握以下幾項重點:
- 如果您處理的工作大多與特定微服務、程式庫或模組相關,這項功能就非常實用。
詳情請參閱「透過遠端存放區內容取得更符合需求的建議」。
|
應用情境和提示範例
下表提供指引和範例,說明如何在特定用途中使用程式碼自訂功能:
用途 |
值得一試的操作 |
編寫新程式碼 |
如要在 IDE 或 Gemini Code Assist 對話中生成程式碼,請嘗試下列做法:
- 生成程式碼,使用程式碼集已提及的字詞。
- 貼上程式碼 (例如函式簽章或含註解的程式碼),然後要求 Gemini Code Assist 填入或取代註解。
TODO TODO 從內容新增附有說明的註解。
在 Gemini Code Assist 對話中,嘗試使用下列提示生成程式碼:
- 「Write a main function where a connection to
DATABASE is created. Include health
checks."
- 「請以以下結構撰寫
FUNCTION_OR_CLASS :
EXPLAIN_STRUCTURE 。」
生成程式碼後,請嘗試使用後續提示詞來改善程式碼:
- 「請嘗試使用
/fix 指令調整產生的程式碼,例如修正語法錯誤。」
- 「Add missing imports」(新增缺少的匯入項目)。
- 「Try
/fix on chat-generated code.」
|
清理、簡化及重構程式碼 |
在 Gemini Code Assist 對話中試試下列提示:
- 「Can you merge
IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS
in this file?」(可以合併這個檔案中的 IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS 嗎?)
- 「請簡化
FUNCTION_NAME 函式。」
- 「Can you merge
FUNCTION_NAME_1 and
FUNCTION_NAME_2 into one function?」(你能將 FUNCTION_NAME_1 和 FUNCTION_NAME_2 合併為一個函式嗎?)
- 「Could you inline some variables in
FUNCTION_NAME ?」
- 「Could you simplify variable naming in the function
FUNCTION_NAME ?」(請簡化函式 FUNCTION_NAME 中的變數命名)。
|
可讀性 |
在 Gemini Code Assist 對話中試試下列提示:
- 「請盡可能以較少的程式碼行數編寫
FUNCTION_NAME 函式。」
- 「Add comments to the function
FUNCTION_NAME .」
- 「Remove unnecessary whitespaces in the function
FUNCTION_NAME .」(移除函式中不必要的空白字元)。
- 「Format the function
FUNCTION_NAME in a
similar way as the rest of the code.」(以類似其餘程式碼的方式格式化函式 FUNCTION_NAME )。
|
審查程式碼 |
在 Gemini Code Assist 對話中試試下列提示:
- 「將程式碼分成幾個部分,並使用我們的程式碼集說明每個部分。」
- 「是否有更短且更容易瞭解的變數或關鍵字?」
- 「Can you give me useful code from the
REPOSITORY_NAME_PACKAGE_MODULE context for
this code?」
- 「你對函式
FUNCTION_NAME 有何看法?」
|
偵錯 |
在 Gemini Code Assist 對話中試試下列提示:
- 「我在嘗試執行 X/新增 Y 時收到錯誤訊息。為什麼?」
- 「Can you spot an error in the function
FUNCTION_NAME ?」
- 「How would you fix the function
FUNCTION_NAME given this error
message?」
|
學習與新手上路 |
在 Gemini Code Assist 對話中試試下列提示:
- "Split this code in parts and explain each of them using our
codebase."
- 「Show how to call function
FUNCTION_NAME ?」
- 「Show how to run the main function in the
ENVIRONMENT_NAME environment?」
- 「我們可以在技術上進行哪些重大改良,讓這段程式碼的效能更高?」
- 「Show me the implementation of
FUNCTION_OR_CLASS_NAME to achieve better
results and add what that specific element is」(顯示 FUNCTION_OR_CLASS_NAME 的實作方式,以獲得更佳結果,並新增該特定元素) - 例如「Show me the implementation of function foo where foo is the name of
the function.」(顯示函式 foo 的實作方式,其中 foo 是函式的名稱)。
|
遷移 |
在 Gemini Code Assist 對話中試試下列提示:
- 「請提供策略,協助我將
FILE_NAME 從 LANGUAGE_1 遷移至 LANGUAGE_2 」- 例如從 Go 遷移至 Python。
- 「Given the function
FUNCTION_NAME in
repository REPOSITORY_NAME , find me an
equivalent function in language
LANGUAGE_NAME that I can use.」(在存放區 REPOSITORY_NAME 中,找到與函式 FUNCTION_NAME 等效的函式,並以語言 LANGUAGE_NAME 撰寫,供我使用。)
請嘗試使用提示,透過下列以對話或程式碼生成為基礎的轉換工作流程:
- 「將以
LANGUAGE_1 編寫的 FILENAME_COMPONENT 程式碼重構並遷移至 LANGUAGE_2 」—例如從 Go 遷移至 Python。
- 遷移部分程式碼後,請嘗試下列做法:
- 選取較小的區塊,然後使用
/fix 調整至所需狀態。
- 請嘗試使用下列提示:
- 「有什麼地方可以改進嗎?」
- 「Give me possible pain points.」(請列出可能的痛點)。
- 「如果遷移作業正確無誤,您會如何測試這段程式碼?」
|
正在生成說明文件 |
在 Gemini Code Assist 對話中試試下列提示:
- 「Summarize the code in package or folder
X and provide documentation for the top five
important methods.」
- 「Generate documentation for
FUNCTION_OR_CLASS_NAME .」(為「<程式碼>」產生文件。)
- 「縮短文件長度,同時保留重要資訊。」
|
生成單元測試 |
在 Gemini Code Assist 對話中試試下列提示:
- 「Generate unit tests for
FILENAME .」(為 FILENAME 生成單元測試)。
- 「為
FUNCTION_NAME 函式新增最相關的測試案例。」
- 「移除您認為價值不高的測試案例。」
|
最佳做法
- 使用相關的變數和函式名稱或程式碼片段。這項指引會根據最相關的程式碼範例,引導您自訂程式碼。
- 使用要擴充的索引存放區,並避免新增已淘汰的功能。程式碼自訂功能有助於在整個程式碼集,擴展程式碼樣式、模式、程式碼語意、知識和實作項目。不適合擴充的存放區範例包括已淘汰的功能、產生的程式碼和舊版實作項目。
- 如要擷取程式碼,請使用程式碼生成功能,而非程式碼完成功能。使用「根據
FUNCTION_NAME
的定義,產生完全相同的函式」或「產生 FUNCTION_NAME
的確切實作內容」等語言提示。
- 在要擷取的程式碼檔案中加入 include 或 import,提升 Gemini 的情境感知能力。
- 每個提示只能執行一個動作。舉例來說,如要擷取程式碼並在新函式中實作,請透過兩道提示執行下列步驟。
- 如要處理不只是程式碼的用途 (例如程式碼說明、遷移計畫或錯誤說明),請使用程式碼自訂功能進行對話,與 Gemini 討論程式碼集。
- 請注意,AI 模型生成內容時具有不確定性。如果對回覆不滿意,再次執行相同的提示可能會得到更好的結果。
- 請注意,生成單元測試時,如果在本機開啟檔案,然後在對話中要求為該檔案或特定函式生成單元測試,通常效果會更好。
根據遠端存放區內容取得更符合需求的建議
你可以引導 Gemini Code Assist 專注於特定遠端存放區,取得更符合情境的相關程式碼建議。在對話中使用 @ 符號,即可選取一或多個存放區,做為提示的主要情境來源。如果您要處理的作業大多與特定微服務、程式庫或模組相關,這項功能就非常實用。
如要將遠端存放區做為脈絡,請在 IDE 的即時通訊中按照下列步驟操作:
- 提示必須以 @ 符號開頭。系統會顯示已建立索引的可用遠端存放區清單。
- 從清單中選取要用於情境的存放區。你也可以輸入存放區名稱來篩選清單。
- 選取存放區後,請撰寫提示的其餘部分。
這樣 Gemini 在生成回覆時,就會優先使用所選存放區的內容。
提示範例
以下列舉幾種使用方式:
- 瞭解存放區:
- 「@
REPOSITORY_NAME
這個存放區的整體結構為何?」
- 「@
REPOSITORY_NAME
我是新加入團隊的成員,請簡要說明這個存放區的用途和主要模組。」
- 生成及修改程式碼:
- 「@
REPOSITORY_NAME
實作類似於這個存放區的驗證函式。」
- 「@
REPOSITORY_NAME
請按照所選存放區的慣例,重構下列程式碼。」
- 「@
REPOSITORY_A_NAME
如何使用這個存放區的最新函式,改善 REPOSITORY_B_NAME
中的程式碼?」
- 測試:
- 「@
UNIT_TEST_FILE_NAME
Generate unit tests for MODULE
based on the examples in the selected file.」
將遠端存放區做為情境的重點來源,Gemini Code Assist 就能提供更準確且相關的建議,協助您更快速有效率地編寫程式碼。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-08-31 (世界標準時間)。
[null,null,["上次更新時間:2025-08-31 (世界標準時間)。"],[],[],null,[]]