迁移指南

本文档帮助你从其他 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 扩展。安装方式:

  1. Open VSX Registry:wescode 默认使用 Open VSX Registry
  2. 手动安装:下载 .vsix 文件后,通过命令面板 Extensions: Install from VSIX 安装
  3. 命令行安装: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 Tabwescode AI 补全
Composerwescode 侧边栏 Chat(Ctrl+L)
Cursor Chatwescode 侧边栏 Chat(Ctrl+L)
Inline Editwescode Inline Command(Ctrl+K)
@ 引用wescode @ 上下文引用

迁移步骤

  1. 导出 Cursor 的设置和快捷键
  2. 复制到 wescode 的用户目录
  3. 安装 wescode 后打开同一个项目
  4. wescode 会自动检测项目类型和配置

从 JetBrains IDE 迁移

快捷键映射

wescode 提供 JetBrains 快捷键映射:

JetBrains 快捷键wescode 等效
Ctrl+Shift+FCtrl+Shift+F(搜索)
Ctrl+NCtrl+P(快速打开文件)
Ctrl+Shift+NCtrl+Shift+P(命令面板)
Alt+EnterCtrl+.(快速修复)
Ctrl+BF12(跳转定义)
Ctrl+Alt+LShift+Alt+F(格式化)
Shift+ShiftCtrl+P(搜索一切)

安装 JetBrains 快捷键映射:

命令面板 → Preferences: Keymaps → IntelliJ IDEA

项目配置

JetBrains 的 .idea/ 配置不能直接迁移,但 wescode 的 WsIntel 会自动检测:


版本升级迁移

v0.2 → v1.0 迁移

wescode v1.0 对架构做了重大升级,从单实例模型迁移到 1 workspace = 1 Cell 模型。

架构变化

v0.2v1.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

迁移过程:

  1. 归档旧数据库:wescode.db → legacy-YYYYMMDD.db.bak
  2. 创建新的 Cell 目录结构
  3. 迁移 Skill 目录到第一个 workspace Cell
  4. 保留登录 session 到新的 wescode_auth.db

重要提示


数据目录说明

数据目录位置

平台数据目录环境变量覆盖
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 在执行。


迁移检查清单