终端使用

wescode 的集成终端不仅是一个命令行工具,更是 AI 增强的智能终端。它能理解命令语义、诊断错误、管理后台任务,让终端操作更高效。

智能终端

终端概述

wescode 的终端基于 VSCode 集成终端,额外增加了 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 增强了命令历史功能:

错误诊断

自动错误检测

当命令执行失败时,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粘贴

注意事项

相关文档