使用 Gemini Code Assist 程式碼自訂功能

本文件說明如何使用 Gemini Code Assist 程式碼自訂功能,並提供一些最佳做法。這項功能可讓您收到程式碼建議,這些建議���參������機構的內部程式庫、私人 API 和程式設計樣式。

事前準備

  1. 使用Enterprise 訂閱設定 Gemini Code Assist
  2. 使用企業訂閱設定 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_CLASSEXPLAIN_STRUCTURE。」

產生部分程式碼後,請嘗試使用後續提示來改善程式碼:

  • 「請嘗試使用 /fix 指令調整產生的程式碼,例如語法錯誤。」
  • 「新增缺少的匯入項目。」
  • 「請在即時通訊產生的程式碼上試試 /fix。」
清理、簡化及重構程式碼

請在 Gemini Code Assist 對話中試試下列提示:

  • 「您可以合併這個檔案中的 IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS 嗎?」
  • 「如何簡化 FUNCTION_NAME 函式?」
  • 「您可以將 FUNCTION_NAME_1FUNCTION_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_NAMELANGUAGE_1 遷移至 LANGUAGE_2」,例如從 Go 遷移至 Python。
  • 「如果有存放區 REPOSITORY_NAME 中的函式 FUNCTION_NAME,請找出我可以使用的語言 LANGUAGE_NAME 中的等效函式。」

請嘗試使用提示,體驗下列以對話為基礎或程式碼產生的轉換工作流程:

  1. 「將已以 LANGUAGE_1 編寫的 FILENAME_COMPONENT 程式碼重構並遷移至 LANGUAGE_2」,例如從 Go 遷移至 Python。
  2. 遷移部分程式碼後,請試著執行以下操作:
    • 選取較小的區塊,並使用 /fix 將其轉換為所需狀態。
    • 請嘗試下列提示:
      • 「有哪些地方需要改進?」
      • 「請告訴我可能的痛點。」
      • 「如果遷移作業正確,您會如何測試這段程式碼?」
產生說明文件

請在 Gemini Code Assist 對話中試試下列提示:

  • 「摘要套件或資料夾 X 中的程式碼,並為前五個重要方法提供文件。」
  • 「產生 FUNCTION_OR_CLASS_NAME 的文件。」
  • 「縮短說明文件的長度,同時保留重要資訊。」
單元測試產生

請在 Gemini Code Assist 對話中試試下列提示:

  • 「為 FILENAME 產生單元測試。」
  • 「為 FUNCTION_NAME 函式新增最相關的測試案例。」
  • 「移除您認為沒有太大價值的測試案例。」

最佳做法

  • 使用相關的變數和函式名稱或程式碼片段。這可引導程式碼自訂作業,讓您找到最相關的程式碼範例。
  • 使用要調整的索引存放區,並避免新增已淘汰的功能。程式碼自訂功能可協助您擴展程式碼樣式、模式、程式碼語意、知識和整個程式碼集的實作方式。不宜擴充的存放區範例包括已淘汰的功能、產生的程式碼和舊版實作項目。
  • 針對程式碼擷取用途,請使用程式碼產生功能,而非程式碼補全功能。提示使用「使用 FUNCTION_NAME 的定義,產生完全相同的函式」或「產生 FUNCTION_NAME 的確切實作」等語言。
  • 在您要擷取程式碼的檔案中加入或匯入內容,以改善 Gemini 的情境感知。
  • 每個提示只能執行一個��作。舉例來說,如果您想擷取程式碼,並在新的函式中實作此程式碼,請在兩個提示中執行這些步驟。
  • 如果您需要的用途不只是程式碼 (例如程式碼說明、遷移計畫或錯誤說明),請使用聊天室的程式碼自訂功能,在與 Gemini 對話時提供相關的程式碼基底。
  • 請注意,AI 模型產生作業是非確定性的。如果您對回應不滿意,再次執行相同提示可能會獲得更好的結果。
  • 請注意,產生單元測試通常在本機開啟檔案後,再透過即時通訊要求產生此檔案或特定函式的單元測試,效果會比較好。