终端使用
wescode 的集成终端不仅是一个命令行工具,更是 AI 增强的智能终端。它能理解命令语义、诊断错误、管理后台任务,让终端操作更高效。
智能终端
终端概述
wescode 的终端基于 VSCode 集成终端,额外增加了 AI 增强能力:
- 命令理解:AI 理解你正在执行的命令及其意图
- 输出分析:自动分析命令输出,提取关键信息
- 错误识别:检测错误并提供修复建议
- 上下文感知:根据项目类型提供相关命令建议
打开终端
# 快捷键
Ctrl+` (反引号) — 切换终端面板
Ctrl+Shift+` — 新建终端实例
# 命令面板
Ctrl+Shift+P → "Terminal: Create New Terminal"
终端配置
// settings.json
{
"terminal.integrated.defaultProfile.osx": "zsh",
"terminal.integrated.defaultProfile.linux": "bash",
"terminal.integrated.fontSize": 13,
"terminal.integrated.fontFamily": "JetBrains Mono, Menlo, Monaco, monospace",
"terminal.integrated.scrollback": 10000,
"terminal.integrated.copyOnSelection": true
}
工作目录
终端默认在当前工作区根目录打开。可以配置不同的工作目录:
{
"terminal.integrated.cwd": "${workspaceFolder}/backend"
}
命令建议
AI 命令补全
在终端中输入命令时,AI 提供智能补全:
# 输入 "git" 后 AI 建议最可能的下一步操作
$ git ch<Tab>
git checkout # 切换分支
git cherry-pick # 挑选提交
# 根据上下文智能排序
# 如果你刚创建了文件,git add 会排在前面
$ git a<Tab>
git add . # 暂存所有变更
git add -p # 交互式暂存
自然语言转命令
在 Chat 面板中用自然语言描述需求,AI 生成对应命令:
用户:查找当前目录下所有超过 100MB 的文件
AI:find . -type f -size +100M -exec ls -lh {} \;
用户:杀掉占用 8080 端口的进程
AI:lsof -ti:8080 | xargs kill -9
用户:把所有 .txt 文件转换为 UTF-8 编码
AI:find . -name "*.txt" -exec iconv -f GBK -t UTF-8 {} -o {}.tmp \; -exec mv {}.tmp {} \;
命令历史
wescode 增强了命令历史功能:
↑/↓:浏览历史命令Ctrl+R:搜索历史命令- 命令历史跨会话持久化
- AI 根据当前上下文推荐最相关的历史命令
错误诊断
自动错误检测
当命令执行失败时,AI 自动分析错误:
$ go build ./...
# error: undefined: json.Marshall
# AI 自动诊断:
# ❌ 拼写错误:json.Marshall 应为 json.Marshal
# 📍 位置:internal/handler/user.go:45
# 🔧 修复:将 json.Marshall 替换为 json.Marshal
# [自动修复]
常见错误诊断
| 错误类型 | AI 诊断能力 |
|---|---|
| 编译错误 | 定位错误文件和行号,提供修复建议 |
| 运行时错误 | 分析 panic/crash 堆栈,定位根因 |
| 权限错误 | 建议正确的权限设置命令 |
| 依赖错误 | 建议安装缺失的依赖 |
| 配置错误 | 检查配置文件并提供修正 |
| 网络错误 | 诊断连接问题和代理设置 |
错误修复工作流
1. 命令执行失败
2. AI 自动分析错误原因
3. 在终端上方显示诊断信息和修复建议
4. 用户可选择:
- [自动修复] — AI 直接执行修复命令
- [在编辑器中打开] — 跳转到问题代码
- [复制修复命令] — 复制修复命令到剪贴板
- [忽略] — 不处理
日志分析
对于长日志输出,AI 可以帮助分析:
在 Chat 中:
"分析终端中最近的错误日志"
"帮我找出这段日志中的关键错误信息"
"总结这次构建失败的原因"
后台任务
后台运行命令
wescode 支持将命令在后台运行:
# 在终端中启动后台服务
$ go run ./cmd/server &
# wescode 会:
# 1. 在状态栏显示后台任务图标
# 2. 监控进程状态
# 3. 任务完成时通知用户
任务管理
通过 AI 管理后台任务:
在 Chat 中:
"显示所有后台任务"
"停止运行在 8080 端口的服务"
"重启后台的开发服务器"
Watch 模式
支持文件变更时自动重新执行命令:
# Go 项目热重载
$ air # 或其他热重载工具
# 前端开发服务器
$ npm run dev
# 测试 Watch 模式
$ go test -v -watch ./...
wescode 识别 Watch 模式的输出,在错误时自动高亮并提供修复建议。
任务配置
通过 tasks.json 定义常用任务:
{
"version": "2.0.0",
"tasks": [
{
"label": "Dev Server",
"type": "shell",
"command": "go run ./cmd/server",
"isBackground": true,
"problemMatcher": {
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+): (.*)quot;,
"file": 1,
"line": 2,
"column": 3,
"message": 4
},
"background": {
"activeOnStart": true,
"beginsPattern": "Starting server",
"endsPattern": "Server ready"
}
}
}
]
}
多终端管理
终端实例
wescode 支持同时运行多个终端实例:
# 新建终端
Ctrl+Shift+` — 创建新终端
# 切换终端
终端面板右上角的下拉菜单
或使用 Ctrl+PageUp / Ctrl+PageDown
# 分屏终端
点击终端面板中的 "Split Terminal" 按钮
或 Ctrl+Shift+5
终端命名
为终端实例命名以便识别:
# 右键终端 tab → "Rename"
# 建议命名规范:
# - "Server" — 后端服务
# - "Frontend" — 前端开发服务
# - "Test" — 运行测试
# - "DB" — 数据库操作
终端布局
┌─────────────────────────────────────┐
│ 编辑器区域 │
├──────────────────┬──────────────────┤
│ Server 终端 │ Frontend 终端 │
│ go run ./cmd/.. │ npm run dev │
└──────────────────┴──────────────────┘
终端组
将相关的终端组合在一起:
// .vscode/tasks.json — 启动所有开发服务
{
"label": "Full Dev Stack",
"dependsOn": ["Dev Server", "Frontend Dev", "DB Proxy"],
"dependsOrder": "parallel"
}
终端快捷键
| 快捷键 | 功能 |
|---|---|
Ctrl+` | 切换终端面板 |
| `Ctrl+Shift+`` | 新建终端 |
Ctrl+Shift+5 | 分屏终端 |
Ctrl+C | 中断当前命令 |
Ctrl+D | 关闭终端 |
Ctrl+L | 清屏 |
Ctrl+Shift+C | 复制选中文本 |
Ctrl+Shift+V | 粘贴 |
注意事项
- 终端中运行的命令具有与用户相同的系统权限,注意安全
- 后台任务在关闭 wescode 时会被终止,需要长期运行的服务建议使用 systemd 等系统工具
- AI 命令建议仅供参考,执行破坏性命令(如
rm -rf)前请仔细确认 - 终端输出过多时可能影响性能,建议定期清屏
- 在终端中处理敏感信息时注意不要泄露到 AI 上下文中