---
title: "設定與自訂"
description: "自訂 Verdent 以符合你的工作流程"
---

Verdent for VS Code 提供豐富的設定選項，可配合你的開發工作流程、程式設計偏好及團隊標準進行調整。你可透過 VS Code 原生設定介面設定各項選項、自訂鍵盤快捷鍵，並建立規則與子代理以實現特定行為。

###  你將學到什麼

- 為 Verdent 設定 VS Code 擴充功能設定
- 自訂鍵盤快捷鍵以提升工作流程效率
- 建立並管理規則以個人化代理行為
- 為特定任務建立自訂子代理

### 先決條件

- 已安裝並完成驗證的 Verdent for VS Code
- VS Code 設定存取權限（`Cmd+,` 或 `Ctrl+,`）
- 對 JSON 規則檔案有基本理解（選用）

---

## VS Code 擴充功能設定

Verdent for VS Code 的設定可透過多個位置存取，視設定類型與範圍而定。

### 存取設定

**擴充功能設定（VS Code 原生）：**

1. 開啟 VS Code 設定：`Cmd+,`（macOS）或 `Ctrl+,`（Windows/Linux）
2. 在設定搜尋列中搜尋「Verdent」
3. 修改擴充功能設定（例如 `verdent.enableCheckpoints`）

**Verdent 專屬設定：**

點選 Verdent 頂部列中的 **Settings** 按鈕以存取：

- **Rules** - 使用者規則、專案規則、計畫規則
- **MCP Servers** - Model Context Protocol 設定
- **Subagents** - 自訂子代理管理

**對話內控制項：**

許多設定可直接從 Verdent 面板底部的輸入框切換：

- **Switch Permission** - 手動接受、自動執行、計畫、略過權限
- **Switch Mode** - Agent、Plan、Chat 模式
- **Switch/Customize AI Model** - 效能、平衡、效率預設組合
- **Think Hard Mode** - 為複雜推理啟用最大思考預算
- **Add Context** - 使用 @ 提及附加檔案
- **Add Images or Files** - 加入螢幕截圖或文件
- **Add Subagent** - 委派給特定子代理

設定變更會立即生效，無需重新啟動 VS Code。

---

## 可用的擴充功能設定

Verdent for VS Code 提供 **2 項核心擴充功能設定**，可透過 VS Code 的設定介面進行設定：

| 設定                     | 類型      | 預設值 | 說明                                                                                                                |
| --------------------------- | --------- | ------- | -------------------------------------------------------------------------------------------------------------------------- |
| `verdent.enableCheckpoints` | `boolean` | `true`  | 讓擴充功能在任務過程中使用 git 儲存工作區的檢查點。在大型工作區上可能影響效能。 |
| `verdent.enableProxy`       | `boolean` | `true`  | 為網路連線啟用代理支援。位於企業防火牆或代理伺服器之後的使用者需要此設定。             |

<Note>
  這些是 Verdent 完整的 VS Code 擴充功能設定。其他設定選項（規則、子代理、MCP Servers）則透過擴充功能頂部列的 Verdent 設定選單管理。
</Note>

---

## 輸入框控制項參考

Verdent 面板底部的輸入框提供快速存取各項設定控制項：

| 控制項                       | 用途                               | 選項                                                            |
| ----------------------------- | ------------------------------------- | ------------------------------------------------------------------ |
| **Add Context**               | 使用 @ 提及附加檔案         | @filename、@foldername                                             |
| **Add Images or Files**       | 加入螢幕截圖或文件      | 上傳影像、PDF、文字檔案                                    |
| **Add Subagent**              | 委派給特定代理        | @Verifier、@Explorer、@Code-reviewer、自訂子代理             |
| **Switch Mode**               | 切換執行模式                 | Agent Mode、Plan Mode、Chat Mode                                   |
| **Switch/Customize AI Model** | 選擇模型預設組合或特定模型 | Performance（1-2 倍成本）、Balance（1 倍成本）、Efficiency（0.3 倍成本） |
| **Think Hard Mode**           | 啟用延伸推理             | 針對複雜問題開啟/關閉                              |
| **Switch Permission**         | 變更權限層級           | 手動接受（預設）、自動執行、計畫、略過權限          |

### 權限模式

<Tabs>
  <Tab title="手動接受（預設）">
    - 每項操作都需要核准
    - 完整的可見性與控制
    - 最適合學習、不熟悉的程式碼庫、正式環境程式碼
  </Tab>
  <Tab title="自動執行">
    - 命令需要核准，檔案操作自動執行
    - 減少權限提示
    - 最適合信任的專案、快速原型製作
  </Tab>
  <Tab title="計畫">
    - 唯讀分析與規劃
    - 規劃期間不修改程式碼
    - 最適合複雜變更、架構決策
  </Tab>
  <Tab title="略過權限">
    - 完全自主，無核准提示
    - 執行最快但風險最高
    - 最適合自動化環境、CI/CD
  </Tab>
</Tabs>

### 模型預設組合

<Tabs>
  <Tab title="Balance（預設）">
    - **成本：** 1 倍基準
    - **模型：** Claude-4.5-sonnet
    - **最適合：** 一般開發、日常程式設計、功能實作
  </Tab>
  <Tab title="Performance">
    - **成本：** Balance 基準的 1-2 倍
    - **模型：** Claude-4.5-sonnet-1m（1M token 上下文）
    - **最適合：** 複雜架構、大型程式碼庫、超過 200k token 的任務
  </Tab>
  <Tab title="Efficiency">
    - **成本：** 比 Sonnet 高 3.2 倍效率（節省 70% 點數）
    - **模型：** Claude-4.5-haiku
    - **最適合：** 快速修正、簡單任務、例行操作
  </Tab>
</Tabs>

---

## 鍵盤快捷鍵自訂

### 預設快捷鍵

**主要快捷鍵：**

- **macOS：** `Cmd+L` - 開啟/聚焦 Verdent 面板
- **Windows/Linux：** `Ctrl+L` - 開啟/聚焦 Verdent 面板
  - 命令：`verdent.addToChat`
  - 可從命令選擇區與編輯器上下文使用

這是從 VS Code 任何位置快速存取 Verdent 而不中斷程式設計流程的必備快捷鍵。

**其他命令：**

可透過命令選擇區使用（預設快捷鍵可自訂）：

- `verdent.addFeedBack` - 提供回饋
- `verdent.addTerminalOutputToChat` - 將終端機輸出加入 Verdent
- `verdent.addToChatBySearch` - 透過搜尋加入 Verdent
- `verdent.centerButtonClicked` - 使用者中心
- `verdent.historyButtonClicked` - 專案歷史
- `verdent.mcpButtonClicked` - 新增 MCP Server
- `verdent.openInNewTabByParams` - 在新分頁中開啟
- `verdent.plusButtonClicked` - 新工作階段
- `verdent.rulesButtonClicked` - 規則設定
- `verdent.SettingClicked` - 設定選單
- `verdent.subagentButtonClicked` - 新增子代理

### 自訂快捷鍵

所有 Verdent 鍵盤快捷鍵都可使用 VS Code 標準的按鍵繫結系統進行自訂。

<Tabs>
  <Tab title="鍵盤快捷鍵編輯器（UI）">
    建議多數使用者採用 - 用於管理快捷鍵的視覺化介面。

    <Steps>
      <Step title="開啟鍵盤快捷鍵">
        按下 `Cmd+K Cmd+S`（macOS）或 `Ctrl+K Ctrl+S`（Windows/Linux）
      </Step>
      <Step title="搜尋 Verdent">
        在搜尋框中輸入「Verdent」以篩選 Verdent 命令
      </Step>
      <Step title="編輯快捷鍵">
        點選任一命令旁的鉛筆圖示，按下你想要的按鍵組合，再按 Enter 儲存
      </Step>
    </Steps>
  </Tab>
  <Tab title="keybindings.json（進階）">
    適合進階使用者 - 直接以 JSON 設定，便於版本控制。

    <Steps>
      <Step title="開啟命令選擇區">
        按下 `Cmd+Shift+P`（macOS）或 `Ctrl+Shift+P`（Windows/Linux）
      </Step>
      <Step title="開啟按鍵繫結 JSON">
        輸入「Preferences: Open Keyboard Shortcuts (JSON)」並選取
      </Step>
      <Step title="新增自訂按鍵繫結">
        <CodeGroup>

        ```json macOS
        {
          "key": "cmd+shift+v",
          "command": "verdent.addToChat"
        }
        ```


        ```json Windows/Linux
        {
          "key": "ctrl+shift+v",
          "command": "verdent.addToChat"
        }
        ```

        </CodeGroup>
      </Step>
    </Steps>
  </Tab>
</Tabs>

**自訂範圍：**

- 所有 Verdent 命令都可重新對應
- 同一命令可指派多個快捷鍵
- 預設快捷鍵可移除
- 變更會透過 VS Code Settings Sync 在各裝置間同步

### 平台專屬快捷鍵

Verdent 遵循 VS Code 的平台專屬鍵盤慣例：

| 平台          | 修飾鍵模式                                |
| ----------------- | --------------------------------------------------- |
| **macOS**         | `Cmd` 用於主要快捷鍵，`Option` 用於替代快捷鍵 |
| **Windows/Linux** | `Ctrl` 用於主要快捷鍵，`Alt` 用於替代快捷鍵   |

**常見模式：**

- 設定：`Cmd+,`（macOS）對 `Ctrl+,`（Windows/Linux）
- 命令選擇區：`Cmd+Shift+P`（macOS）對 `Ctrl+Shift+P`（Windows/Linux）
- 鍵盤快捷鍵：`Cmd+K Cmd+S`（macOS）對 `Ctrl+K Ctrl+S`（Windows/Linux）

---

## 自訂指令與角色設定

Verdent for VS Code 支援兩套自訂 AI 行為的系統：用於偏好與準則的 **Rules**，以及用於特定任務角色的 **Subagents**。

### 規則系統

規則定義 Verdent 在程式設計工作階段中的行為與回應方式。規則儲存於 Markdown 檔案中，並在整個對話中持續套用。

#### 三種規則類型

**1. 使用者規則（VERDENT.md）：**

- **位置：** `~/.verdent/`（全域設定目錄）
- **範圍：** 套用至所有專案的所有對話
- **用途：** 個人程式設計偏好、溝通風格、文件標準

**2. 專案規則（AGENTS.md）：**

- **位置：** 專案根目錄或工作區
- **範圍：** 僅套用至目前專案
- **版本控制：** 可提交至 git 以建立團隊統一標準
- **用途：** 專案專屬的程式設計標準、架構模式、測試需求

**3. 計畫規則（plan_rules.md）：**

- **位置：** `~/.verdent/`（全域設定目錄）
- **範圍：** 在所有專案使用 Plan Mode 時套用
- **用途：** 自訂計畫內容、格式與詳細程度

#### 建立與編輯規則

<Steps>
  <Step title="存取規則設定">
    點選 Verdent 頂部列中的 **Settings** 按鈕，並從下拉選單選擇 **Rules**
  </Step>
  <Step title="選擇規則類型">
    依需求選擇 **User Rules**、**Project Rules** 或 **Plan Rules**
  </Step>
  <Step title="以 Markdown 編輯">
    規則檔案會在 VS Code 編輯器中開啟。使用 Markdown 格式撰寫清楚、具指示性的內容
  </Step>
  <Step title="儲存並套用">
    儲存檔案。規則會立即套用於目前及後續工作階段 - 無需重新啟動
  </Step>
</Steps>

**使用者規則範例：**

```markdown
# Code Style Preferences
- Always use functional React components with hooks
- Prefer TypeScript over JavaScript
- Add JSDoc comments for all exported functions
- Provide explanations before showing code
```

**專案規則範例：**

```markdown
## Testing instructions
- Run `pnpm turbo run test --filter <project_name>` to run all checks
- Fix test and type errors until suite is green
- Add or update tests for code changes

## PR instructions
- Title format: [<project_name>] <Title>
- Always run `pnpm lint` and `pnpm test` before committing
```

#### 規則的儲存與套用

| 規則類型     | 位置                   | 範圍                    | 版本控制                       |
| ------------- | -------------------------- | ------------------------ | ------------------------------------- |
| 使用者規則    | `~/.verdent/VERDENT.md` | 所有專案             | 個人使用，不共享                  |
| 專案規則 | `<project>/AGENTS.md`      | 目前專案          | 可提交以維持團隊一致性 |
| 計畫規則    | `~/.verdent/plan_rules.md` | 所有專案（Plan Mode） | 個人使用，不共享                  |

**設定優先順序：**

當規則衝突時，Verdent 會套用以下優先順序：

1. **專案規則（AGENTS.md）** - 最高優先（專案專屬）
2. **使用者規則（VERDENT.md）** - 全域使用者偏好
3. **預設行為** - Verdent 內建的預設值

<Tip>
  將 AGENTS.md 提交至版本控制，即可與整個團隊共享專案專屬的程式設計標準。每位團隊成員的工作區會自動遵循專案規則，同時透過 VERDENT.md 維持個人偏好。
</Tip>

---

## 子代理

子代理是具有自訂系統提示詞及獨立上下文視窗的特定 AI 代理，用於處理特定任務。

### 內建子代理

Verdent 內含三個預設子代理，無需設定即可立即使用：

<Tabs>
  <Tab title="@Verifier">
    - 快速程式碼檢查與驗證
    - 不需完整審查的快速驗證
    - 適用於：快速合理性檢查、語法驗證、提交前檢查
  </Tab>
  <Tab title="@Explorer">
    - 快速探索並瀏覽程式碼庫
    - 迅速尋找檔案並回答程式碼庫相關問題
    - 適用於：探索不熟悉的程式碼庫、尋找元件、理解結構
  </Tab>
  <Tab title="@Code-reviewer">
    - 即時程式碼品質評估
    - 找出安全性、可維護性與效能方面的問題
    - 適用於：提交前審查、安全性稽核、效能最佳化
  </Tab>
</Tabs>

### 建立自訂子代理

<Steps>
  <Step title="存取子代理設定">
    點選 Verdent 頂部列中的 **Settings** → **Subagents**
  </Step>
  <Step title="建立新子代理">
    建立新子代理，或前往 `~/.verdent/subagents/` 並建立帶有 YAML frontmatter 的 markdown 檔案
  </Step>
  <Step title="定義子代理行為">
    撰寫系統提示詞，建立子代理的個性、解讀風格與處理任務的方式
  </Step>
  <Step title="指定呼叫政策">
    定義何時應使用該子代理（嚴格或彈性呼叫）
  </Step>
</Steps>

**子代理檔案格式：**

```markdown
---
name: security-reviewer
description: Security-focused code review specialist
---
# System Prompt

You are a security-focused code reviewer. When analyzing code:
- Prioritize security vulnerabilities (SQL injection, XSS, auth flaws)
- Use skeptical, critical tone - assume code is vulnerable until proven otherwise
- Provide specific remediation steps with code examples
- Reference OWASP Top 10 and security best practices
- Never approve code with unresolved security issues

Invocation policy (strict): Only run security-reviewer if user explicitly requests it.

When to use the security-reviewer agent:
- User requests security review of authentication/authorization logic
- User asks to audit code for vulnerabilities
- User needs security assessment before deployment

When NOT to use:
- General code review without security focus
- Opening or reading files without analysis
```

### 管理子代理

透過 **Settings → Subagents** 存取以進行：

- **編輯：** 修改系統提示詞、工具權限、設定
- **複製：** 複製子代理以建立變體或範本
- **刪除：** 移除未使用的子代理
- **啟用/停用：** 切換可用性而不刪除

### 使用子代理

**內建子代理：**

- 以 @ 提及參照：`@Verifier`、`@Explorer`、`@Code-reviewer`
- 偵測到適合的任務類型時自動呼叫

**自訂子代理：**

- 點選輸入框中的 **Add Subagent** 按鈕
- 從下拉選單選擇
- 主代理會自動委派適合的任務

### 子代理與規則的比較

| 面向           | 規則                        | 子代理                         |
| ---------------- | ---------------------------- | --------------------------------- |
| **套用時機** | 持續，每次回應 | 針對特定任務按需使用      |
| **上下文**      | 共享主上下文視窗   | 獨立分離的上下文         |
| **行為**     | 偏好與準則   | 任務專屬的行為角色 |
| **呼叫**   | 永遠啟用            | 自動或手動委派    |
| **用途**      | 定義你「偏好什麼」     | 定義「由誰」及「如何」處理任務  |

**工作流程範例：**

1. **使用者規則：** 「為所有新函式產生單元測試」
2. **主代理：** 偵測到需要產生測試
3. **委派給測試產生子代理：** 採用專業的全面測試方法
4. **子代理：** 以獨立上下文產生完整測試套件
5. **主代理：** 接收結果並繼續，不會污染上下文

<Tip>
  透過 Settings → Subagents 中的 **Copy** 按鈕，或直接從 `~/.verdent/subagents/` 共享子代理 markdown 檔案，即可與團隊成員分享子代理。
</Tip>

---

## 常見問題（FAQ）

<Accordion title="設定變更何時生效？">
  多數 Verdent 設定會立即套用，無需重新啟動：

  - **權限模式：** 透過輸入框立即切換
  - **模型預設組合：** 套用於下一個請求
  - **規則檔案：** 套用於新對話（儲存會觸發重新載入）
  - **子代理：** 建立後立即可用
  - **鍵盤快捷鍵：** 在 VS Code 中儲存後套用

  **例外：** VS Code 擴充功能設定（如 `verdent.enableCheckpoints`）會立即生效，但可能需要重新開啟檔案或工作階段才能完整套用。
</Accordion>

<Accordion title="規則與子代理有何不同？">
  **規則** 定義你全域「偏好什麼」：

  - 持續套用於所有對話
  - 程式設計標準、溝通風格、偏好
  - 儲存於 markdown 檔案中（VERDENT.md、AGENTS.md、plan_rules.md）
  - 永遠在背景啟用

  **子代理** 定義「由誰」處理特定任務及「如何」處理：

  - 針對特定任務類型按需呼叫
  - 具有自訂系統提示詞的專業行為角色
  - 獨立的上下文視窗（不污染主上下文）
  - 透過 @ 提及自動或手動委派

  **範例：** 規則寫著「為新函式產生單元測試」。測試產生子代理則以全面的測試方法處理實際的測試建立。
</Accordion>

<Accordion title="我可以同時使用多種權限模式嗎？">
  不行，權限模式互斥 - 一次只能使用一種：

  - **手動接受** - 預設，最大控制
  - **自動執行** - 為信任的專案精簡流程
  - **計畫** - 唯讀規劃模式
  - **略過權限** - 完全自主

  你可透過輸入框中的 **Switch Permission** 按鈕立即切換模式。多數使用者會依任務情境切換模式（例如複雜功能用 Plan Mode，快速修正用 Auto-Run）。
</Accordion>

<Accordion title="如何為我的任務選擇正確的模型預設組合？">
  依任務複雜度與預算搭配模型預設組合：

  **使用 Efficiency（比 Sonnet 高 3.2 倍效率）：**

  - 快速錯誤修正與簡單程式碼產生
  - 例行操作與高頻任務
  - 速度比深度更重要時

  **使用 Balance（1 倍基準）- 預設：**

  - 一般開發與日常程式設計
  - 功能實作與程式碼審查
  - 適合多數情境的平衡效能

  **使用 Performance（0.5 倍效率，2 倍成本）：**

  - 複雜的架構決策
  - 需要大量上下文的大型程式碼庫（200k+ token）
  - 高難度的除錯與重構

  **專業提示：** 多數使用者保持 Balance 為預設，僅在達到上下文上限或需要深度推理時切換至 Performance。
</Accordion>

---

## 另請參閱

<CardGroup cols={2}>
  <Card title="計畫優先工作流程" icon="sitemap" href="/docs/verdent-for-vscode/configuration/plan-workflows">
    設定 AI 輔助的任務規劃與核准工作流程
  </Card>
  <Card title="設定最佳化" icon="sliders" href="/docs/verdent-for-vscode/configuration/tuning">
    調整設定以最佳化速度、成本與效能
  </Card>
</CardGroup>
