本文說明如何在整合式開發環境 (IDE) 中,設定及使用 Gemini Code Assist 代理程式模式,做為程式設計夥伴。
使用代理程式模式,你可以執行下列操作:
- 詢問程式碼相關問題。
- 運用背景資訊和內建工具,改善生成的內容。
- 設定 MCP 伺服器,擴充代理程式的功能。
- 取得多步驟複雜工作的解決方案。
- 根據設計文件、問題和
TODO
註解生成程式碼。 - 在執行期間,您可以透過註解、編輯及核准計畫和工具使用情形,控制代理程式的行為。
限制
標準 Gemini Code Assist 對話的部分功能可能無法在代理程式模式中使用,或運作方式與標準對話不同。
朗讀功能不適用於代理模式。在代理程式模式下,Gemini 不會引用資料來源,且無法停用與引用來源相符的程式碼建議。
事前準備
VS Code
IntelliJ
使用代理模式
在代理程式模式下,你可以要求 Gemini 完成高階目標和複雜工作。
如要充分發揮代理人模式的效用,請遵循輸入提示的最佳做法,並盡可能提供詳細資訊。
如要切換至代理程式模式:
VS Code
- 如要開啟 Gemini Code Assist 對話,請在 IDE 的活動列中,點選「Gemini Code Assist」spark。
- 按一下「服務專員」切換按鈕,進入服務專員模式。切換至服務專員模式時,切換按鈕會醒目顯示;切換至一般對話時,切換按鈕則會顯示為灰色。
- 在 Gemini Code Assist 對話中輸入提示。
Gemini 會回覆提示,或要求使用工具的權限。
如要停止代理程式,請按一下「停止」
。如要使用標準的 Gemini Code Assist 對話,請按一下「New chat」
建立新的對話。Gemini Code Assist 代理模式採用 Gemini CLI。
IntelliJ
- 按一下工具視窗列中的「Gemini」sparkGemini。當畫面出現要求登入的訊息時,請依指示操作。
- 選取「代理人」分頁標籤。
- 說明您希望代理程式執行的工作。
當專員逐步完成工作時,您可以選擇查看並核准任何變更。
選用:如要自動核准變更,請選取「設定」「代理商選項」,然後點選「自動核准變更」旁的核取方塊。
設定代理程式模式的工具
工具是廣泛的服務類別,代理程式可用於回應提示時的背景資訊和動作。舉例來說,內建工具 (例如 grep 和檔案讀取/寫入)、本機或遠端 Model Context Protocol (MCP) 伺服器及其可執行函式,或是專屬服務實作項目,都屬於工具。
控管內建工具的使用權
代理程式模式可存取內建工具,例如檔案搜尋、檔案讀取、檔案寫入、終端機指令等。
VS Code
您可以使用 coreTools
和 excludeTools
設定,控管 Gemini 在代理程式模式下可存取的工具。
coreTools
- 可讓你指定要提供給模型的工具清單。您也可以為支援這項功能的工具指定指令專屬限制。舉例來說,在 Gemini 設定 JSON 中加入下列內容,只允許執行
ls -l
指令:"coreTools": ["ShellTool(ls -l)"]
。 excludeTools
- 可讓你指定不想提供給模型的工具清單。您也可以為支援這項功能的工具指定指令專屬限制。舉例來說,在 Gemini 設定 JSON 中加入下列內容,即可禁止使用
rm -rf
指令:"excludeTools": ["ShellTool(rm -rf)"]
。
如果工具同時列在 excludeTools
和 coreTools
中,則會遭到排除。
如要設定代理程式模式提供的內建工具,請按照下列步驟操作:
- 開啟位於
~/.gemini/settings.json
的 Gemini 設定 JSON,其中~
是您的主目錄。 如要將代理程式工具的使用限制在核准工具清單中,請在 Gemini 設定 JSON 中加入下列程式碼:
"coreTools": ["TOOL_NAME_1,TOOL_NAME_2"]
將
TOOL_NAME_1
和TOOL_NAME_2
替換為您要授予代理程式存取權的內建工具名稱。你可以列出任意數量的內建工具。 根據預設,代理程式可以使用所有內建工具。
如要限制代理程式工具只能使用特定工具指令,請在 Gemini 設定 JSON 中加入下列程式碼:
"coreTools": ["TOOL_NAME(COMMAND)"]
更改下列內容:
TOOL_NAME
:內建工具的名稱COMMAND
:您希望代理程式使用的內建工具指令名稱。
如要禁止代理程式使用某項工具,請在 Gemini 設定 JSON 中加入下列程式碼:
"excludeTools": ["TOOL_NAME_1,TOOL_NAME_2"]
將
TOOL_NAME_1
和TOOL_NAME_2
替換為要禁止代理程式使用的內建工具名稱。如要禁止代理程式使用工具指令,請在 Gemini 設定 JSON 中加入下列程式碼:
"excludeTools": ["TOOL_NAME(COMMAND)"]
更改下列內容:
TOOL_NAME
:內建工具的名稱COMMAND
:要從代理程式使用中排除的內建工具指令名稱。
如要進一步瞭解 coreTools
和 excludeTools
設定,請參閱 Gemini CLI 設定說明文件。
IntelliJ
IntelliJ 專用 Gemini Code Assist 或其他 JetBrains IDE 不支援這項功能。
設定 MCP 伺服器
以下說明如何在 IDE 中以代理程式模式使用 MCP 伺服器。提供 MCP 伺服器後,Gemini Code Assist 會自動決定何時及如何使用該 MCP 伺服器中的伺服器工具。
VS Code
如要在代理程式模式中使用 MCP 伺服器,請根據各伺服器的說明文件,在 Gemini 設定 JSON 檔案中新增每個伺服器的設定。
- 安裝您要新增的 MCP 伺服器所需的任何依附元件。
- 開啟 Gemini 設定 JSON 檔案,該檔案位於
~/.gemini/settings.json
,其中~
是您的主目錄。 請按照各伺服器的指示,在 Gemini 設定 JSON 檔案中設定每個本機或遠端 MCP 伺服器。
以下範例 Gemini 設定 JSON 檔案會設定兩個遠端 Cloudflare MCP 伺服器、一個遠端 GitLab MCP 伺服器,以及一個本機 GitHub MCP 伺服器,以便在 VS Code 中搭配 Gemini Code Assist 使用。
{ "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345" } }, "gitlab": { "command": "npx", "args": ["mcp-remote", "https://your-gitlab-instance.com/api/v4/mcp"] }, "cloudflare-observability": { "command": "npx", "args": ["mcp-remote", "https://observability.mcp.cloudflare.com/sse"] }, "cloudflare-bindings": { "command": "npx", "args": ["mcp-remote", "https://bindings.mcp.cloudflare.com/sse"] } } }
開啟指令區塊面板,然後選取「Developer: Reload Window」(開發人員:重新載入視窗)。
代理程式可以代理程式模式使用您設定的 MCP 伺服器。
IntelliJ
如要讓 MCP 伺服器在代理程式模式下可用,請在 mcp.json
檔案中為每個伺服器新增設定,然後將 mcp.json
檔案放在 IDE 的設定目錄中。
- 安裝您要新增的 MCP 伺服器所需的任何依附元件。
- 在 IDE 的設定目錄中建立名為
mcp.json
的檔案。 在
mcp.json
檔案中設定每個本機或遠端 MCP 伺服器,並按照各伺服器的指示操作。以下範例
mcp.json
檔案會設定兩個遠端 Cloudflare MCP 伺服器、一個遠端 GitLab MCP 伺服器,以及一個本機 GitHub MCP 伺服器,供 IntelliJ 中的 Gemini Code Assist 使用。{ "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345" } }, "gitlab": { "command": "npx", "args": ["mcp-remote", "https://your-gitlab-instance.com/api/v4/mcp"] }, "cloudflare-observability": { "command": "npx", "args": ["mcp-remote", "https://observability.mcp.cloudflare.com/sse"] }, "cloudflare-bindings": { "command": "npx", "args": ["mcp-remote", "https://bindings.mcp.cloudflare.com/sse"] } } }
代理程式可以代理程式模式使用您設定的 MCP 伺服器。
MCP 伺服器驗證
部分 MCP 伺服器需要驗證。請按照伺服器說明文件建立任何必要的使用者權杖,然後適當指定這些權杖。一般來說,您會使用適當的伺服器專屬環境變數,為本機伺服器指定驗證權杖,並使用 HTTP Authorization
標頭為遠端伺服器指定驗證權杖。
VS Code
如果 MCP 伺服器需要驗證,您可以將其新增至 Gemini 設定 JSON。
以下範例說明如何為 GitHub 本機和遠端 MCP 伺服器指定個人存取權杖:
{
"mcpServers": {
"github-remote": {
"httpUrl": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer ACCESS_TOKEN"
}
},
"github-local": {
"command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
}
}
}
}
其中 ACCESS_TOKEN
是使用者的存取權杖。
IntelliJ
如要新增需要驗證的 MCP 伺服器,請將其加入 mcp.json
檔案。
以下範例會為 GitHub 本機伺服器新增個人存取權杖:
{
"mcpServers": {
"github-local": {
"command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
}
}
}
}
其中 ACCESS_TOKEN
是使用者的存取權杖。
建立內容檔案
背景資訊可讓代理程式根據特定提示生成更優質的回覆。你可以從 IDE 中的檔案、本機系統資料夾中的檔案、工具回應和提示詳細資料取得情境資訊。詳情請參閱「代理程式模式情境」。
VS Code
在符合您要套用環境範圍的位置,建立名為
GEMINI.md
的檔案。下表詳細列出不同範圍的內容檔案位置:範圍 位置 所有專案 ~/.gemini/GEMINI.md
特定專案 工作目錄或任何上層目錄,直到專案根目錄 (以 .git
資料夾識別) 或主目錄為止。專案的特定元件、模組或子區段 工作目錄的子目錄。 代理程式的記憶體系統是從多個位置載入內容檔案而建立。來自更具體檔案 (例如特定元件或模組的檔案) 的內容,會覆寫或補充來自更一般內容檔案 (例如
~/.gemini/GEMINI.md
的全域內容檔案) 的內容。以 Markdown 格式撰寫任何規則、風格指南資訊或情境,供代理程式使用,然後儲存檔案。詳情請參閱 GitHub 上的範例內容檔案。
代理程式會將背景資訊檔案中的資訊,連同您傳送給代理程式的任何提示一併納入。
IntelliJ
在專案根目錄中建立名為
GEMINI.md
或AGENT.md
的檔案。以 Markdown 格式撰寫要讓代理程式使用的任何規則、風格指南資訊或情境,然後儲存檔案。
代理程式會將背景資訊檔案中的資訊,連同您傳送給代理程式的任何提示一併納入考量。您也可以使用 @
FILENAME
語法手動加入檔案,藉此新增背景資訊,其中 FILENAME
是要加入背景資訊的檔案名稱。
使用指令
斜線 /
指令可讓您快速執行指令,類似於終端機視窗中的指令。
VS Code
您可以在代理程式模式中使用下列內建 Gemini CLI 指令:
/tools
:顯示代理程式模式工作階段中可用的工具清單。/mcp
:列出已設定的 Model Context Protocol (MCP) 伺服器、連線狀態、伺服器詳細資料和可用工具。
/deploy
:將網頁應用程式部署至 Cloud Run。這個以 Gemini CLI 為基礎的自訂指令會使用 Cloud Run Model Context Protocol (MCP) 伺服器,建構、容器化、推送、設定應用程式,並傳回應用程式的公開網址。如要使用這項指令,您必須在專案中啟用 Cloud Run,並安裝 Cloud Run MCP 伺服器做為 Gemini 擴充功能。 Google Cloud
如要進一步瞭解 Gemini CLI 指令,請參閱「Gemini CLI 指令」和「Gemini 自訂指令」。請注意,並非所有 Gemini CLI 指令都可在代理程式模式中使用。
IntelliJ
IntelliJ 專用 Gemini Code Assist 或其他 JetBrains IDE 不支援這項功能。
一律允許代理程式執行動作
你可以自動允許所有代理程式動作。
如要自動允許所有代理程式動作,請按照下列步驟操作:
VS Code
使用 yolo 模式自動允許所有代理程式動作。Yolo 模式只能在受信任的工作區中使用。
如要設定 YOLO 模式,請按照下列步驟操作:
開啟 VS Code 使用者設定 JSON 檔案:
- 開啟指令區塊面板 (
ctrl
/command
+Shift
+P
)。 - 選取「Preferences: Open User Settings (JSON)」。
- 開啟指令區塊面板 (
在 VS Code 使用者設定 JSON 檔案中新增下列內容:
//other settings... "geminicodeassist.agentYoloMode": true, //other settings...
開啟指令區塊面板,然後選取「Developer: Reload Window」(開發人員:重新載入視窗)。
代理人模式會使用 yolo 模式,且不會在您傳送提示後要求授權,使用受限的工作區時,無論這項設定為何,代理程式都會先提示再採取行動。
IntelliJ
如要自動核准變更,請在 Gemini Chat 代理程式分頁中,選取「設定」代理程式選項,然後按一下「自動核准變更」旁的核取方塊。
代理人模式會自動核准所有要求,且在您傳送提示後,不會要求權限才採取行動。
其他提示
請嘗試使用自己的資訊,輸入下列提示:
- 「這個存放區有什麼作用?請幫我瞭解架構。」
- 「這個 [類別/函式] 的用途是什麼?」
- 「Add a feature to this codebase - "[link-or-path-to-codebase]".」
- 「Refactor function [A] and [B] to use the common method [C]」(重構函式 [A] 和 [B],使用通用方法 [C])。
- 「修正 GitHub 問題 [link-to-github-issue]。」
- 「Build an application to do [goal] with a UI that lets the user do [task] in the [environment]」(建構應用程式,在 [環境] 中透過 UI 讓使用者執行 [工作],以達成 [目標])。
- 「Migrate library versions in this repository from [X] to [Y]」(將這個存放區中的程式庫版本從 [X] 遷移至 [Y])。
- 「最佳化這段 Go 程式碼的效能,讓程式碼執行速度更快。」
- 「使用 [API 名稱] 建構這項功能。」
- 「Implement an algorithm to do [x], [Y], and [Z].」(實作演算法來執行 [x]、[Y] 和 [Z]。)
選用:使用 API 金鑰
Gemini Code Assist 的代理程式功能每日配額因層級而異。如果 Gemini Code Assist 代理程式模式的每日容量已用盡,您可以提供 API 金鑰,繼續使用這項服務。您可以使用 Gemini API 金鑰或 Vertex AI API 金鑰。
新增 API 金鑰的方法如下:
前往 IDE 的設定。
開啟
settings.json
檔案。新增下列指令列,並將
YOUR_KEY
換成您的 API 金鑰:"geminicodeassist.geminiApiKey": "YOUR_KEY"
後續步驟
- 閱讀 Gemini Code Assist 總覽。
- 探索一些範例 MCP 伺服器。
- 如要查看更多 MCP 伺服器,請前往 GitHub。
- 透過 IDE 提供意見。