使用 Gemini Code Assist 程式碼自訂功能
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
本文件說明如何使用 Gemini Code Assist 程式碼自訂功能,並提供一些最佳做法。這項功能可讓您收到程式碼建議,這些建議會參考貴機構的內部程式庫、私人 API 和程式設計樣式。
事前準備
-
使用Enterprise 訂閱設定 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 對話中生成程式碼:
- 產生會使用程式碼集已提及的字詞的程式碼。
- 貼上程式碼 (例如函式簽名或含有
TODO 註解的程式碼),然後請 Gemini Code Assist 填入或用程式碼取代 TODO 註解。新增註解,並附上相關說明。
請嘗試在 Gemini Code Assist 即時通訊中,使用以下提示產生程式碼:
- 「編寫建立
DATABASE 連線的主要函式。納入健康狀態檢查。」
- 「請在下列結構中寫入
FUNCTION_OR_CLASS :EXPLAIN_STRUCTURE 。」
產生部分程式碼後,請嘗試使用後續提示來改善程式碼:
- 「請嘗試使用
/fix 指令調整產生的程式碼,例如語法錯誤。」
- 「新增缺少的匯入項目。」
- 「請在即時通訊產生的程式碼上試試
/fix 。」
|
清理、簡化及重構程式碼 |
在 Gemini Code Assist 對話中試試下列提示:
- 「您可以合併這個檔案中的
IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS 嗎?」
- 「如何簡化
FUNCTION_NAME 函式?」
- 「您可以將
FUNCTION_NAME_1 和 FUNCTION_NAME_2 合併為一個函式嗎?」
- 「您可以在
FUNCTION_NAME 中內嵌一些變數嗎?」
- 「您能否簡化
FUNCTION_NAME 函式中的變數命名方式?」
|
可讀性 |
在 Gemini Code Assist 對話中試試下列提示:
- 「盡可能以較少的程式碼行數編寫
FUNCTION_NAME 函式。」
- 「在
FUNCTION_NAME 函式中新增註解。」
- 「移除函式
FUNCTION_NAME 中不必要的空白。」
- 「以與其他程式碼類似的方式格式化函式
FUNCTION_NAME 。」
|
審查程式碼 |
在 Gemini Code Assist 對話中試試下列提示:
- 「將程式碼分成多個部分,並使用我們的程式碼集說明每個部分。」
- 「有沒有哪些變數或關鍵字可以縮短,讓讀者更容易理解?」
- 「您能否提供這段程式碼的
REPOSITORY_NAME_PACKAGE_MODULE 上下文中實用的程式碼?」
- 「你對
FUNCTION_NAME 函式有何想法?」
|
偵錯 |
在 Gemini Code Assist 對話中試試下列提示:
- 「我嘗試執行 X/新增 Y 時收到錯誤訊息。為什麼?
- 「您能指出
FUNCTION_NAME 函式中的錯誤嗎?」
- 「如果收到這個錯誤訊息,您會如何修正函式
FUNCTION_NAME ?」
|
學習與新手上路 |
在 Gemini Code Assist 對話中試試下列提示:
- 「將這段程式碼分割成多個部分,並使用我們的程式碼庫說明每個部分。」
- 「如何顯示呼叫
FUNCTION_NAME 函式的做法?」
- 「如何在
ENVIRONMENT_NAME 環境中執行主要函式?」
- 「我們可以採取哪些重要的技術改善措施,讓這段程式碼的效能更佳?」
- 「請提供
FUNCTION_OR_CLASS_NAME 的實作方式,以便取得更佳結果,並新增該特定元素」- 例如:「請提供函式 foo 的實作方式,其中 foo 是函式的名稱」。
|
遷移 |
在 Gemini Code Assist 對話中試試下列提示:
- 「請提供策略,說明如何將
FILE_NAME 從 LANGUAGE_1 遷移至 LANGUAGE_2 」,例如從 Go 遷移至 Python。
- 「如果有存放區
REPOSITORY_NAME 中的函式 FUNCTION_NAME ,請找出我可以使用的語言 LANGUAGE_NAME 中的等效函式。」
請嘗試使用提示,體驗下列以對話為基礎或程式碼產生的轉換工作流程:
- 「將已以
LANGUAGE_1 編寫的 FILENAME_COMPONENT 程式碼重構並遷移至 LANGUAGE_2 」(例如從 Go 遷移至 Python)。
- 遷移部分程式碼後,請嘗試以下操作:
- 選取較小的區塊,並使用
/fix 將其轉換為所需狀態。
- 請嘗試下列提示:
- 「有哪些地方需要改進?」
- 「請告訴我可能的痛點。」
- 「如果遷移作業正確,您會如何測試這段程式碼?」
|
產生說明文件 |
在 Gemini Code Assist 對話中試試下列提示:
- 「摘要套件或資料夾
X 中的程式碼,並為前五個重要方法提供文件。」
- 「產生
FUNCTION_OR_CLASS_NAME 的文件。」
- 「縮短說明文件的長度,同時保留重要資訊。」
|
單元測試產生 |
在 Gemini Code Assist 對話中試試下列提示:
- 「為
FILENAME 產生單元測試。」
- 「為
FUNCTION_NAME 函式新增最相關的測試案例。」
- 「移除您認為沒有太大價值的測試案例。」
|
最佳做法
- 使用相關的變數和函式名稱或程式碼片段。這可引導程式碼自訂作業,讓您找到最相關的程式碼範例。
- 使用要調整的索引存放區,並避免新增已淘汰的功能。程式碼自訂功能可協助您擴展程式碼樣式、模式、程式碼語意、知識和整個程式碼集的實作方式。不宜擴充的存放區範例包括已淘汰的功能、產生的程式碼和舊版實作項目。
- 針對程式碼擷取用途,請使用程式碼產生功能,而非程式碼補全功能。提示使用「使用
FUNCTION_NAME
的定義,產生完全相同的函式」或「產生 FUNCTION_NAME
的確切實作」等語言。
- 在您要擷取程式碼的檔案中加入或匯入內容,以改善 Gemini 的情境感知。
- 每個提示只能執行一個動作。舉例來說,如果您想擷取程式碼並在新的函式中實作此程式碼,請在兩個提示中執行這些步驟。
- 如果您需要的用途不只是程式碼 (例如程式碼說明、遷移計畫或錯誤說明),請使用聊天室的程式碼自訂功能,在與 Gemini 對話時提供相關的程式碼基底。
- 請注意,AI 模型產生作業是非確定性的。如果您對回應不滿意,再次執行相同提示可能會獲得更好的結果。
- 請注意,產生單元測試通常在本機開啟檔案後,再透過即時通訊要求產生此檔案或特定函式的單元測試時,效果會比較好。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-06-05 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-06-05 (世界標準時間)。"],[],[]]