个性化定制
wescode 继承了 VSCode 丰富的可定制性,并在此基础上增加了 AI 相关的配置项。本指南帮助你按照个人习惯定制 wescode。
快捷键配置
AI 相关快捷键
wescode 预设了以下 AI 快捷键,你可以在「设置 → 键盘快捷方式」中修改:
| 快捷键 | 功能 | 命令 ID |
|---|---|---|
Ctrl+L / Cmd+L | 打开 Chat 面板 | wescode.openChat |
Ctrl+K / Cmd+K | Inline Command | wescode.inlineCommand |
Tab | 接受 AI 补全 | wescode.acceptCompletion |
Escape | 取消 AI 操作 | wescode.cancelOperation |
Ctrl+Enter | 接受 AI 编辑 | wescode.acceptEdit |
Ctrl+Shift+Enter | 接受所有编辑 | wescode.acceptAllEdits |
Ctrl+Shift+G | 打开项目概览 | wescode.projectOverview |
自定义快捷键
在 keybindings.json 中添加自定义绑定:
[
{
"key": "ctrl+shift+a",
"command": "wescode.openChat",
"when": "editorTextFocus"
},
{
"key": "ctrl+shift+i",
"command": "wescode.inlineCommand",
"when": "editorTextFocus && editorHasSelection"
}
]
快捷键冲突
如果 AI 快捷键与其他扩展冲突,可以在快捷键设置中搜索对应的命令 ID 并重新绑定。
主题与外观
内置主题
wescode 内置了多种主题,在「设置 → 颜色主题」中切换:
- Dark+(默认深色)
- Light+(默认浅色)
- Monokai
- Solarized Dark / Light
- 以及 VSCode 生态的所有兼容主题
AI 面板主题
Chat 面板和项目概览面板会自动跟随编辑器的主题。AI 消息中的代码块使用与编辑器一致的语法高亮配色。
字体配置
// settings.json
{
"editor.fontFamily": "'JetBrains Mono', 'Fira Code', monospace",
"editor.fontSize": 14,
"editor.lineHeight": 1.6,
"editor.fontLigatures": true,
// Chat 面板字体
"wescode.chat.fontSize": 14,
"wescode.chat.fontFamily": "inherit"
}
图标主题
推荐使用以下图标主题,它们与 wescode 的 AI 图标风格协调:
- Material Icon Theme
- VSCode Icons
- Catppuccin Icons
Agent 自定义
预装 Agent
wescode 预装了多种编程 Agent,每个 Agent 针对特定场景优化:
| Agent | 用途 | 特点 |
|---|---|---|
| 通用助手 | 日常编码 | 全功能,均衡配置 |
| 代码审查员 | 代码审查 | 注重安全和最佳实践 |
| 测试工程师 | 测试生成 | 专注测试覆盖和边界情况 |
| 架构师 | 设计决策 | 关注整体架构和可维护性 |
| 文档撰写者 | 文档生成 | 专注代码注释和技术文档 |
创建自定义 Agent
你可以创建自己的 Agent 配置:
- 打开设置 → 「Agent 配置」
- 点击「新建 Agent」
- 配置以下信息:
name: "my-code-reviewer"
display_name: "我的代码审查员"
description: "专注于 Go 后端代码的安全审查"
system_prompt: |
你是一个专业的 Go 代码审查员。
审查时请特别关注:
1. 并发安全(goroutine 泄漏、竞态条件)
2. 错误处理(是否遗漏 error return)
3. 资源泄漏(连接、文件句柄)
4. SQL 注入风险
skills:
- code-review
- security-audit
allowed_tools:
- read_file
- grep
- search_files
Agent 切换
在 Chat 面板顶部可以切换当前使用的 Agent。不同的 Agent 有不同的系统提示词和技能配置,但共享同一个模型。
工具启用 / 禁用
工具管理
wescode 的 AI 可以使用多种工具。你可以按需启用或禁用:
- 打开设置 → 「工具与配额」
- 查看可用工具列表
- 切换每个工具的启用状态
常用工具列表
| 工具 | 默认 | 说明 |
|---|---|---|
read_file | ✅ 启用 | 读取文件内容 |
write_file | ✅ 启用 | 写入新文件 |
edit | ✅ 启用 | 编辑已有文件 |
exec | ✅ 启用 | 执行终端命令 |
grep | ✅ 启用 | 搜索文件内容 |
search_files | ✅ 启用 | 按名搜索文件 |
delegate_task | ✅ 启用 | 委派子任务 |
memory | ✅ 启用 | 记忆读写 |
web_search | ❌ 禁用 | Web 搜索(需配置) |
browser_navigate | ❌ 禁用 | 浏览器自动化(需配置) |
安全考虑
禁用 exec 工具可以防止 AI 在终端中执行命令。这在某些安全敏感的环境中可能是必要的。
禁用 write_file 和 edit 工具可以将 AI 限制为只读模式,仅用于代码分析和问答。
工作区特定配置
工作区设置
每个工作区可以有自己的设置(.vscode/settings.json):
{
// 为这个项目指定默认模型
"wescode.defaultModel": "claude-sonnet",
// 项目特定的 AI 行为
"wescode.ai.maxIterations": 50,
"wescode.ai.thinkingLevel": "medium",
// 项目特定的工具配置
"wescode.tools.exec.enabled": true,
"wescode.tools.exec.timeout": 30,
// CKG 索引排除
"wescode.ckg.exclude": [
"vendor/**",
"node_modules/**",
"*.generated.go"
]
}
AGENTS.md 项目指令
在项目根目录创建 AGENTS.md(或 CLAUDE.md)文件,AI 会自动读取并遵循其中的指令:
# 项目 AI 指令
## 代码风格
- 使用 4 空格缩进
- 函数注释使用中文
- 错误处理使用 fmt.Errorf 而非 errors.New
## 测试规范
- 使用表驱动测试
- Mock 使用 gomock
- 测试文件与源文件同目录
## 禁止操作
- 不要修改 vendor/ 目录
- 不要使用 reflect 包
- 不要引入新的第三方依赖
这个文件会在每次打开工作区时被加载,AI 在生成代码时会遵守这些约定。
多工作区配置
如果你同时打开多个工作区(VS Code 的多根工作区),每个工作区对应一个独立的 Cell,配置完全隔离:
- 每个工作区有自己的 CKG 索引
- 每个工作区有自己的会话历史
- 每个工作区有自己的记忆数据
- 每个工作区可以使用不同的模型
治理策略配置
治理模式
wescode 支持配置工作区的治理策略:
| 模式 | 说明 | 适用场景 |
|---|---|---|
| 编程模式(open) | 默认,AI 可以自由操作 | 日常开发 |
| 锁定模式(locked) | 限制危险操作 | 生产环境调试 |
路径保护
你可以配置受保护的路径,AI 不能修改这些目录下的文件:
{
"wescode.governance.denyPaths": [
"/etc/",
"~/.ssh/",
".env"
]
}
配置文件位置
| 配置类型 | 位置 |
|---|---|
| 用户级设置 | ~/.config/wescode/config.yaml |
| 工作区设置 | .vscode/settings.json |
| 项目 AI 指令 | AGENTS.md 或 CLAUDE.md |
| 键盘快捷方式 | keybindings.json |
| 代码片段 | .vscode/*.code-snippets |
恢复默认设置
如果配置出现问题,你可以:
- 重置单项设置:在设置界面右键点击配置项 → 「重置设置」
- 重置所有设置:删除
settings.json文件 - 重置 AI 配置:在命令面板中执行
wescode: Reset AI Configuration - 清除工作区数据:删除
$WESCODE_DATA_DIR/cells/ws-{hash}/目录