迁移指南
本文档帮助你从其他 IDE 或旧版本迁移到 wescode,涵盖设置迁移、快捷键映射、扩展兼容性和数据迁移等方面。
从其他 IDE 迁移
从 VS Code 迁移
wescode 基于 VS Code 开源版本构建,因此从 VS Code 迁移最为顺畅。
设置迁移
wescode 兼容 VS Code 的 settings.json 格式。你可以直接复制 VS Code 的设置:
# macOS
cp ~/Library/Application\ Support/Code/User/settings.json \
~/Library/Application\ Support/wescode/User/settings.json
# Linux
cp ~/.config/Code/User/settings.json \
~/.local/share/wescode/User/settings.json
快捷键迁移
VS Code 的 keybindings.json 同样兼容:
# macOS
cp ~/Library/Application\ Support/Code/User/keybindings.json \
~/Library/Application\ Support/wescode/User/keybindings.json
扩展迁移
wescode 兼容大部分 VS Code 扩展。安装方式:
- Open VSX Registry:wescode 默认使用 Open VSX Registry
- 手动安装:下载
.vsix文件后,通过命令面板Extensions: Install from VSIX安装 - 命令行安装:
wescode --install-extension <extension-id>
注意:部分 VS Code Marketplace 专有扩展可能不在 Open VSX Registry 上。
已知兼容扩展
| 扩展 | 状态 |
|---|---|
| GitLens | ✅ 兼容 |
| Prettier | ✅ 兼容 |
| ESLint | ✅ 兼容 |
| Go (gopls) | ✅ 兼容 |
| Python (Pylance) | ⚠️ 需要手动安装 |
| Vim 模拟 | ✅ 兼容 |
| Material Icon Theme | ✅ 兼容 |
| Docker | ✅ 兼容 |
从 Cursor 迁移
设置差异
| Cursor 功能 | wescode 对应 |
|---|---|
.cursorrules | 不需要——wescode 通过 CKG + CSE + WsIntel 自动理解项目 |
| Cursor Tab | wescode AI 补全 |
| Composer | wescode 侧边栏 Chat(Ctrl+L) |
| Cursor Chat | wescode 侧边栏 Chat(Ctrl+L) |
| Inline Edit | wescode Inline Command(Ctrl+K) |
| @ 引用 | wescode @ 上下文引用 |
迁移步骤
- 导出 Cursor 的设置和快捷键
- 复制到 wescode 的用户目录
- 安装 wescode 后打开同一个项目
- wescode 会自动检测项目类型和配置
从 JetBrains IDE 迁移
快捷键映射
wescode 提供 JetBrains 快捷键映射:
| JetBrains 快捷键 | wescode 等效 |
|---|---|
Ctrl+Shift+F | Ctrl+Shift+F(搜索) |
Ctrl+N | Ctrl+P(快速打开文件) |
Ctrl+Shift+N | Ctrl+Shift+P(命令面板) |
Alt+Enter | Ctrl+.(快速修复) |
Ctrl+B | F12(跳转定义) |
Ctrl+Alt+L | Shift+Alt+F(格式化) |
Shift+Shift | Ctrl+P(搜索一切) |
安装 JetBrains 快捷键映射:
命令面板 → Preferences: Keymaps → IntelliJ IDEA
项目配置
JetBrains 的 .idea/ 配置不能直接迁移,但 wescode 的 WsIntel 会自动检测:
- 项目类型和语言
- 构建系统(Maven / Gradle)
- 运行配置(需要手动重建)
版本升级迁移
v0.2 → v1.0 迁移
wescode v1.0 对架构做了重大升级,从单实例模型迁移到 1 workspace = 1 Cell 模型。
架构变化
| v0.2 | v1.0 |
|---|---|
| 单个引擎实例 | Hypervisor + per-workspace Cell |
| WorkDir 参数传递 | workspace 路径确定性映射到 CellID |
| Memory 单实例共享 | Memory per-Cell 物理隔离 |
| Skill 引擎级全局 | Skill per-Cell(workspace 私有) |
数据目录变化
v0.2 数据目录:
~/.local/share/wescode/
├── db/wescode.db ← 全局数据库
├── index/code.db ← 全局 CKG 索引
└── skills/ ← 全局 Skill 目录
v1.0 数据目录:
~/.local/share/wescode/
├── hypervisor.db ← Cell 注册表
├── cells/ws-{hash}/ ← per-workspace Cell
│ ├── meta.db
│ ├── sessions.db
│ ├── state.db
│ ├── index/ ← per-workspace CKG 索引
│ ├── knowledge/ ← per-workspace 知识库
│ └── skills/ ← per-workspace Skill
├── db/wescode_auth.db ← 登录凭证(跨 workspace 共享)
└── logs/wescode.log
自动迁移
首次升级到 v1.0 时,wescode 会自动迁移数据:
# 手动迁移命令(通常不需要)
wescode migrate v0.2-to-v1.0
# 预览迁移计划(不执行)
wescode migrate v0.2-to-v1.0 --dry-run
# 保留登录信息迁移
wescode migrate v0.2-to-v1.0 --keep-auth
迁移过程:
- 归档旧数据库:
wescode.db→legacy-YYYYMMDD.db.bak - 创建新的 Cell 目录结构
- 迁移 Skill 目录到第一个 workspace Cell
- 保留登录 session 到新的
wescode_auth.db
重要提示
- CKG 索引需要重建:v1.0 的 CKG 索引格式变化,首次打开项目时会自动重新索引
- Skill 迁移:全局 Skill 迁移到第一个打开的 workspace Cell
- Memory 迁移:旧版 Memory 不自动迁移(因格式变化),建议手动导入重要记忆
- 登录状态保留:
--keep-auth默认开启,登录凭证自动迁移
数据目录说明
数据目录位置
| 平台 | 数据目录 | 环境变量覆盖 |
|---|---|---|
| macOS | ~/Library/Application Support/wescode/ | WESCODE_DATA_DIR |
| Linux | ~/.local/share/wescode/ | WESCODE_DATA_DIR |
| Windows | %APPDATA%\wescode\ | WESCODE_DATA_DIR |
配置目录位置
| 平台 | 配置目录 |
|---|---|
| macOS | ~/Library/Application Support/wescode/ (XDG) |
| Linux | ~/.config/wescode/ |
安全清理
如果需要完全重置 wescode:
# ⚠️ 这会删除所有数据,包括 CKG 索引、Memory、Skill
# macOS
rm -rf ~/Library/Application\ Support/wescode/
# Linux
rm -rf ~/.local/share/wescode/
rm -rf ~/.config/wescode/
注意:删除后首次启动会重建所有数据,CKG 索引需要重新构建。
配置文件迁移
config.yaml
wescode 的主要配置文件是 config.yaml:
# ~/.config/wescode/config.yaml
provider:
- name: openai
type: openai
base_url: https://api.openai.com/v1
api_key_ref:
source: inline
value: "sk-..."
models:
- name: gpt-4o
context_window: 128000
supports_vision: true
首次启动时如果没有 config.yaml,会使用默认配置。可以通过 wescode init 创建初始配置。
环境变量
wescode 也支持通过环境变量配置 API 密钥(适用于 CI/CD 场景):
export WESCODE_DATA_DIR=/custom/path
export WESCODE_CONFIG=/custom/config.yaml
常见迁移问题
Q:从 VS Code 迁移后扩展不工作
A:检查扩展是否在 Open VSX Registry 上可用。部分 Microsoft 专有扩展需要手动下载 .vsix 文件安装。
Q:快捷键冲突
A:wescode 的 AI 快捷键(Ctrl+L、Ctrl+K)可能与某些扩展冲突。可以在 keybindings.json 中自定义。
Q:CKG 索引很慢
A:首次索引大型项目可能需要几分钟。配置 .wescodeindex 排除不需要索引的目录(如 vendor/、node_modules/)可以显著加速。
Q:Memory 数据丢失
A:v0.2 到 v1.0 的迁移不自动迁移 Memory 数据。可以通过 Memory 导入功能手动导入重要记忆。
Q:多窗口打开同一项目
A:v1.0 支持多窗口共享同一个 Go 进程和 Cell。同一时刻只能有一个 Chat Run 在执行。
迁移检查清单
- 复制 VS Code 设置到 wescode
- 安装必要的扩展
- 配置 AI Provider(API Key)
- 打开项目,等待 CKG 索引完成
- 测试 AI 对话功能
- 测试常用快捷键
- 验证 Git 集成正常
- 验证 Language Server 正常启动