迁移指南
本文档帮助您从其他编辑器或 IDE 迁移到 wescode。wescode 基于 VSCode Open Source Fork 构建,兼容 VSCode 生态,同时提供 AI 增强的编程体验。
从 VSCode 迁移
兼容性
wescode 与 VSCode 高度兼容:
| 功能 | 兼容性 | 说明 |
|---|---|---|
| 扩展 | ✅ 完全兼容 | 绝大部分 Marketplace 扩展可直接使用 |
| 设置 | ✅ 完全兼容 | settings.json 格式相同 |
| 快捷键 | ✅ 完全兼容 | keybindings.json 格式相同 |
| 代码片段 | ✅ 完全兼容 | snippets 格式相同 |
| 主题 | ✅ 完全兼容 | 颜色主题和图标主题通用 |
| 调试配置 | ✅ 完全兼容 | launch.json 格式相同 |
| 任务配置 | ✅ 完全兼容 | tasks.json 格式相同 |
| Git 集成 | ✅ 完全兼容 | 内置 Git 功能相同 |
| 终端 | ✅ 完全兼容 | 集成终端行为一致 |
| Remote SSH | ✅ 完全兼容 | Remote 扩展可用 |
迁移步骤
1. 安装 wescode
# macOS
brew install wescode
# Linux
curl -sSL https://install.wescode.dev | bash
# 手动下载
# 访问 https://wescode.dev/download
2. 导入 VSCode 配置
wescode 提供一键导入工具:
# 自动检测并导入 VSCode 配置
wescode migrate from-vscode
# 指定 VSCode 配置目录
wescode migrate from-vscode --source ~/.config/Code/User
# 只导入特定内容
wescode migrate from-vscode --only settings,keybindings,extensions
导入内容包括:
- 用户设置 (
settings.json) - 快捷键绑定 (
keybindings.json) - 代码片段 (
snippets/) - 已安装扩展列表 (自动重新安装)
- 工作区配置 (
.vscode/)
3. 安装扩展
wescode 会自动列出 VSCode 中安装的扩展并提供批量安装:
检测到 VSCode 中的 25 个扩展:
已自动安装 (23):
✅ golang.go
✅ ms-python.python
✅ esbenp.prettier-vscode
✅ dbaeumer.vscode-eslint
... (更多)
需要手动处理 (2):
⚠️ ms-vscode.cpptools — 已有 wescode 内置替代
⚠️ github.copilot — wescode 已内置 AI 功能
4. 验证迁移
# 检查迁移状态
wescode migrate status
# 输出:
迁移状态检查:
设置文件: ✅ 已导入
快捷键: ✅ 已导入
代码片段: ✅ 已导入 (12 个)
扩展: ✅ 23/25 已安装
工作区: ✅ 可直接打开 VSCode 项目
VSCode 与 wescode 共存
wescode 可以与 VSCode 同时安装,互不影响:
- 数据目录独立:wescode 使用
~/.config/wescode/,VSCode 使用~/.config/Code/ - 扩展独立安装:各自维护扩展列表
- 设置独立:修改 wescode 设置不影响 VSCode
- 文件关联:可以选择默认打开方式
差异说明
从 VSCode 迁移到 wescode,以下是主要差异:
| 功能 | VSCode | wescode |
|---|---|---|
| AI 功能 | 需要 Copilot 扩展 | 内置 AI Agent |
| 代码分析 | 依赖 LSP | CKG + LSP + tree-sitter |
| 代码审查 | 无内置 | 内置 AI 审查 |
| 测试生成 | 无内置 | 内置 AI 测试生成 |
| 重构 | 基础重构 | AI 智能重构 + CSE 保护 |
| 记忆系统 | 无 | per-workspace 记忆 |
| 技能系统 | 无 | AI 技能包 |
从 Cursor 迁移
功能对照
| Cursor 功能 | wescode 对应 | 说明 |
|---|---|---|
| Cursor Tab (补全) | Ghost Text 补全 | FIM 端点驱动 |
| Cmd+K (编辑) | Ctrl+K Inline Command | 选中代码后 AI 编辑 |
| Ctrl+L (Chat) | Chat 面板 | 侧边栏 AI 对话 |
| @ 引用 | @ 上下文引用 | 文件、符号、终端引用 |
| .cursorrules | .wescode/ 项目配置 | 项目级 AI 规则 |
| Composer | Plan 系统 | 多步骤任务编排 |
| Agent | wesgine Agent Loop | 自主工具调用 |
| Context | CKG 上下文组装 | 代码知识图谱驱动 |
迁移步骤
1. 导出 Cursor 配置
# Cursor 设置通常在以下位置
# macOS: ~/Library/Application Support/Cursor/User/
# Linux: ~/.config/Cursor/User/
2. 导入到 wescode
# 自动检测并导入 Cursor 配置
wescode migrate from-cursor
# 指定 Cursor 配置目录
wescode migrate from-cursor --source ~/Library/Application\ Support/Cursor/User/
3. 迁移 .cursorrules
如果项目中有 .cursorrules 文件,wescode 会自动读取并转换:
# 自动转换 .cursorrules 到 .wescode/ 配置
wescode migrate convert-rules
# 手动指定
wescode migrate convert-rules --input .cursorrules --output .wescode/
转换后的结构:
.cursorrules → .wescode/
├── skills/project-rules/SKILL.md # 转为技能
├── review.yaml # 审查规则
└── config.yaml # 项目配置
4. Provider 配置迁移
# 如果在 Cursor 中使用自有 API Key
wescode config set provider.default anthropic
wescode config set provider.api-key YOUR_ANTHROPIC_KEY
# 如果使用多个 Provider
wescode config set providers.anthropic.api-key KEY1
wescode config set providers.openai.api-key KEY2
Cursor 特有功能适配
.cursorrules → wescode 技能
Cursor 的 .cursorrules 是纯文本的项目规则文件。wescode 使用更结构化的技能系统:
<!-- .cursorrules 原始内容 -->
你是一个 Go 专家。
- 所有错误必须处理
- 使用 testify 进行测试
- 遵循 Clean Architecture
转换为 wescode 技能:
<!-- .wescode/skills/project-rules/SKILL.md -->
---
name: project-rules
description: 项目编码规范。
version: 1.0.0
---
# 项目编码规范
## 何时使用
所有代码编写和审查任务。
## 规范
- 所有错误必须处理:使用 `if err != nil` 模式
- 测试框架:使用 testify (assert + require)
- 架构:遵循 Clean Architecture 分层
Composer → Plan 系统
Cursor 的 Composer(多文件编辑)在 wescode 中对应 Plan 系统:
# 在 Chat 中使用 Plan
/plan "重构认证模块,从 session 迁移到 JWT"
# Plan 系统会:
# 1. 创建分步计划
# 2. 逐步执行,每步可确认
# 3. 支持回滚和修改
配置导入
通用导入工具
# 交互式导入向导
wescode migrate
# 输出:
检测到以下编辑器配置:
1. VSCode (~/Library/Application Support/Code/)
2. Cursor (~/Library/Application Support/Cursor/)
选择导入源:[1/2/跳过]
选择导入内容:
[x] 用户设置
[x] 快捷键
[x] 代码片段
[x] 扩展列表
[ ] 工作区配置
开始导入...
手动配置迁移
如果自动工具不能满足需求,可以手动复制配置:
# 设置文件
cp ~/.config/Code/User/settings.json ~/.config/wescode/User/settings.json
# 快捷键
cp ~/.config/Code/User/keybindings.json ~/.config/wescode/User/keybindings.json
# 代码片段
cp -r ~/.config/Code/User/snippets/ ~/.config/wescode/User/snippets/
配置优先级
导入的配置与 wescode 默认配置合并时,优先级如下:
- wescode 特有设置 > 导入的设置(AI 相关功能)
- 导入的设置 > wescode 默认值(编辑器行为)
- 项目级配置 > 全局配置
插件兼容
兼容的扩展类别
| 类别 | 兼容性 | 示例 |
|---|---|---|
| 语言支持 | ✅ | Go, Python, Rust, Java 等 |
| Linter/Formatter | ✅ | ESLint, Prettier, golangci-lint |
| Git 增强 | ✅ | GitLens, Git Graph |
| 主题 | ✅ | One Dark Pro, Dracula 等 |
| 调试器 | ✅ | Go Debugger, Python Debugger |
| 远程开发 | ✅ | Remote-SSH, Dev Containers |
| Docker | ✅ | Docker 扩展 |
| 数据库 | ✅ | SQLTools, MongoDB 等 |
可能需要替换的扩展
| 原扩展 | wescode 替代 | 原因 |
|---|---|---|
| GitHub Copilot | wescode 内置 AI | 功能重叠 |
| Tabnine | wescode 内置补全 | 功能重叠 |
| Code Review | wescode 内置审查 | AI 审查更强大 |
| Test Generator | wescode 内置测试生成 | CKG 驱动更准确 |
已知不兼容扩展
极少数扩展可能因使用 VSCode 私有 API 而不兼容:
- 依赖 VSCode 内部 Electron API 的扩展
- 使用未公开的 VSCode 命令的扩展
- 与 wescode AI 功能冲突的扩展(如其他 AI 补全)
遇到不兼容扩展时,wescode 会显示提示并建议替代方案。
常见问题
Q: 迁移后扩展需要重新登录吗?
A: 是的。GitHub、GitLens 等需要认证的扩展在 wescode 中需要重新登录。凭证存储是独立的。
Q: 迁移后快捷键冲突怎么办?
A: wescode 新增的快捷键(如 Ctrl+K 用于 Inline Command)可能与已有配置冲突。使用 Ctrl+Shift+P → Preferences: Open Keyboard Shortcuts 查看和解决冲突。
Q: 能否同时使用 VSCode/Cursor 和 wescode?
A: 可以。三者的数据目录独立,互不影响。同一个项目可以用不同编辑器打开(但不建议同时打开同一个文件)。
Q: 迁移后 VSCode 的配置会受影响吗?
A: 不会。wescode 的迁移是复制配置,不是移动。原始的 VSCode/Cursor 配置保持不变。
Q: 如何回退到 VSCode?
A: 直接重新使用 VSCode 即可。由于迁移是复制操作,原始配置未被修改。wescode 中的新配置和数据不会影响 VSCode。
Q: 项目中的 .vscode 目录怎么办?
A: wescode 完全兼容 .vscode 目录。launch.json、tasks.json、settings.json 等文件无需修改。wescode 会同时读取 .vscode 和 .wescode 配置。
Q: 从 JetBrains IDE 迁移支持吗?
A: 目前不提供自动迁移工具。建议手动配置 wescode:
- 安装对应语言的 VSCode/wescode 扩展
- 手动迁移代码风格和格式化配置
- 使用 wescode 的 AI 功能替代 JetBrains 的智能感知
- 调试配置需要重写为 VSCode 格式的
launch.json