迁移指南

本文档帮助您从其他编辑器或 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

导入内容包括:

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 同时安装,互不影响:

差异说明

从 VSCode 迁移到 wescode,以下是主要差异:

功能VSCodewescode
AI 功能需要 Copilot 扩展内置 AI Agent
代码分析依赖 LSPCKG + 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 规则
ComposerPlan 系统多步骤任务编排
Agentwesgine Agent Loop自主工具调用
ContextCKG 上下文组装代码知识图谱驱动

迁移步骤

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 默认配置合并时,优先级如下:

  1. wescode 特有设置 > 导入的设置(AI 相关功能)
  2. 导入的设置 > wescode 默认值(编辑器行为)
  3. 项目级配置 > 全局配置

插件兼容

兼容的扩展类别

类别兼容性示例
语言支持✅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 Copilotwescode 内置 AI功能重叠
Tabninewescode 内置补全功能重叠
Code Reviewwescode 内置审查AI 审查更强大
Test Generatorwescode 内置测试生成CKG 驱动更准确

已知不兼容扩展

极少数扩展可能因使用 VSCode 私有 API 而不兼容:

遇到不兼容扩展时,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:

  1. 安装对应语言的 VSCode/wescode 扩展
  2. 手动迁移代码风格和格式化配置
  3. 使用 wescode 的 AI 功能替代 JetBrains 的智能感知
  4. 调试配置需要重写为 VSCode 格式的 launch.json