跳至主要內容
ESC
Study Jam:Gemini 專業應用 — 第 1/7 篇

Gemini Code Assist 上手:先把 AI 建議當成 Patch

Gemini Code Assist 上手:先把 AI 建議當成 Patch

課程概述

Gemini Code Assist 可以在 IDE 裡補程式、解釋既有邏輯、產生測試,也能用 Chat 討論一段修改。不過它最適合扮演的是「幫你準備候選 Patch 的協作者」,不是按一下就能替你負責的自動程式設計師。

這篇以 Gemini Code Assist Standard/Enterprise 為主。官方已在 2026 年 6 月 18 日停止讓 IDE 擴充套件和 Gemini CLI 服務個人版、Google AI Pro 與 Ultra tier,受影響的個人使用者要依最新文件評估遷移到 Antigravity;公司環境則要確認 Standard 或 Enterprise License、專案和 IAM 都已設定好。

Gemini Code Assist 開發工作流:IDE 取得經授權的目前檔案、鄰近專案、文件與可選私有 Repository 索引,提供生成補全、邏輯解釋、Diff 重構與測試建議;所有修改須經人工審查、靜態分析、單元測試、安全掃描與來源檢查才合併

Code Assist 產生的是候選變更。目標、相關 Context、限制和預期結果寫得愈清楚,建議通常愈有用;是否合併仍由 Diff、測試、安全掃描和人工審查決定。

你將學到

  • 在支援的 IDE 中使用行內補全、Chat 與 Smart Actions
  • 提供剛好夠用的專案脈絡,不把整包敏感資料一起送出
  • 將模糊需求改寫成可驗收的 Prompt
  • 逐行審查 AI 產生的 Patch、測試和設定檔
  • 依變更風險決定要跑哪些檢查,什麼情況直接捨棄建議

目前支援哪些開發環境?

Gemini Code Assist Standard/Enterprise 支援 VS Code、JetBrains IDE、Cloud Shell Editor、Cloud Workstations 與 Android Studio。VS Code 和 JetBrains 需要安裝 Gemini Code Assist 擴充套件或 Plugin,並登入已取得 License、能存取指定 Google Cloud Project 的帳號。

功能怎麼用最常忽略的風險
行內補全打字時顯示 Ghost text,Tab 接受、Esc 略過建議可能只符合局部語法,不符合整體狀態和權限
Chat帶著目前檔案或選取內容問問題對話 Context 可能已過期,要重新指出版本和錯誤
Smart Actions/Commands右鍵動作或 /generate 等 Quick Pick 指令產生完整檔案後更容易漏看大量 Diff
Agent mode執行多步驟工作,並可使用系統工具或 MCP工具權限、工作目錄和每一步外部動作都要確認
Code customizationEnterprise 參考經核准的私有程式碼索引索引範圍、Repository ACL 和秘密排除要另外治理

功能和快捷鍵會因 IDE、擴充版本與 Release channel 不同。Lab 畫面若和目前版本不一樣,先查 Extension 版本與官方文件,不要一直找一個已經改名的按鈕。

Prompt 不用長,但要能驗收

「幫我重構這段」的結果很難判斷好壞。可以改成:

把這個同步 TypeScript 函式改成 async,保留現有 public API;逾時 3 秒後要取消請求,不能重試 POST;請先列出修改計畫,再只回傳 Diff 和需要新增的測試案例。

一個好用的開發 Prompt 通常包含:

  • 任務:要修 Bug、加功能、解釋還是產生測試
  • 現況:相關檔案、介面、錯誤訊息和套件版本
  • 限制:不能改的 API、效能、安全、相容性和 Style
  • 驗收:輸入輸出、邊界案例與要通過的命令
  • 輸出格式:先提計畫、只給 Diff,或逐項說明假設
Gemini Code Assist 上下文安全邊界:只提供相關程式碼、介面、錯誤與期望行為,先經最小揭露、儲存庫政策和秘密掃描,再形成結構化請求並由開發者審查建議

好的 Context 不是把整個 Repository 全貼上去,而是提供解題必要的程式碼、介面、錯誤和版本。送出前移除金鑰、Token、個資、客戶資料與不相關內容。

先讀 Diff,再跑測試

AI 很會產生「看起來像真的」API、套件名稱和設定欄位。建議出現後,先逐行回答:我看得懂這段嗎?它有沒有偷偷改 public behavior?錯誤處理、併發、交易、權限和資源釋放是否合理?

接著再用工具檢查:

  1. Format、Lint、Type check 和 Build
  2. 既有測試、針對新行為的測試與回歸測試
  3. Secret、Dependency、SAST 與 IaC Policy 掃描
  4. API、套件版本和安全建議是否能在官方文件找到
  5. 高風險變更由另一位熟悉該領域的人 Review

「AI 幫我寫了測試,而且測試有過」仍不夠,因為程式和測試可能一起誤解需求。先自己寫出驗收案例或從 Bug 重現開始,才能避免自我證明。

Gemini Code Assist 建議驗證閉環:帶著需求與專案脈絡產生 Patch,開發者讀懂差異後依序執行自動檢查與人工審查,通過才合併,失敗則更新脈絡後重做

自動檢查先抓格式、型別、測試和已知弱點,人工審查再看需求、邊界條件、權限、相容性和維護成本。高風險檔案不應因為 Patch 小就跳過深度 Review。

AI 建議要通過和人工程式碼相同的門檻。它能加快草擬與搜尋方向,不能降低測試、審查、安全和責任歸屬。

實作重點

  • 使用專案的 Node、Python、Java 或 Provider 版本,不要接受 Code Assist 自己假設的最新版
  • 要求先列假設和修改計畫,能提早發現它理解錯檔案或選錯 API
  • 產生單元測試時加入錯誤、空值、重複請求、逾時與權限拒絕,不只測 Happy path
  • IDE Context 可能包含目前檔案、相鄰檔案與對話歷史;分享前先確認資料政策
  • 若建議和公開程式碼高度相似,查看產品提供的 Source citation,再依授權政策處理
  • Agent mode 能呼叫工具,不代表應該給它無限制 Shell、雲端管理員或整個工作區權限

Skill Badge 指引

Lab 連結Google Cloud Skills Boost — 依課程路徑搜尋 Gemini Code Assist 相關 Lab

做 Lab 時別只追求接受建議的速度。至少挑一段生成程式碼,手動加入一個邊界測試,再故意給 Code Assist 一個不完整需求,觀察它會澄清、假設還是直接產生結果。這能更快理解工具真正需要人補上的地方。

延伸學習

Study Jam:Gemini 專業應用 — 1/7 完成 查看系列全覽 →

留言討論

徽章解鎖!