从 VSCode 迁移

wescode 基于 VSCode Open Source Fork 构建,迁移过程简单自然。本文档帮助你从 VSCode 平滑过渡到 wescode,保留你的配置、扩展和工作习惯。

设置迁移

自动迁移

首次启动 wescode 时,会自动检测已有的 VSCode 配置并提示导入:

检测到 VSCode 配置,是否导入?
├── 用户设置 (settings.json)
├── 键盘快捷键 (keybindings.json)
├── 代码片段 (snippets/)
├── 扩展列表 (extensions/)
└── 主题和图标

[导入全部] [选择性导入] [跳过]

手动迁移设置

如果需要手动迁移,复制以下文件:

# macOS
# VSCode 配置目录
~/.config/Code/User/settings.json
~/.config/Code/User/keybindings.json
~/.config/Code/User/snippets/

# wescode 配置目录
~/.config/wescode/User/settings.json
~/.config/wescode/User/keybindings.json
~/.config/wescode/User/snippets/

# 复制命令
cp ~/.config/Code/User/settings.json ~/.config/wescode/User/
cp ~/.config/Code/User/keybindings.json ~/.config/wescode/User/
cp -r ~/.config/Code/User/snippets/ ~/.config/wescode/User/snippets/
# Linux
cp ~/.config/Code/User/settings.json ~/.config/wescode/User/
cp ~/.config/Code/User/keybindings.json ~/.config/wescode/User/
cp -r ~/.config/Code/User/snippets/ ~/.config/wescode/User/snippets/

设置差异

wescode 在 VSCode 的基础上新增了以下设置:

{
  // wescode 特有设置
  "wescode.ckg.enabled": true,           // 启用代码知识图谱
  "wescode.qualityGate.autoRun": true,   // 自动运行质量门
  "wescode.ai.provider": "default",       // AI Provider 选择
  "wescode.ai.model": "",                 // AI 模型(空则使用默认)

  // 这些设置不影响 VSCode 原有功能
  // VSCode 的所有原有设置继续生效
}

设置兼容性

设置类别兼容性说明
编辑器设置✅ 完全兼容字体、主题、缩进等
终端设置✅ 完全兼容Shell、环境变量等
文件设置✅ 完全兼容排除、监视、编码等
语言设置✅ 完全兼容语言特定配置
调试设置✅ 完全兼容launch.json
任务设置✅ 完全兼容tasks.json
扩展设置⚠️ 大部分兼容少数微软私有扩展除外

扩展兼容

兼容性概览

wescode 兼容绝大多数 VSCode 扩展(约 95%+),不兼容的主要是依赖微软私有 API 的扩展。

自动迁移扩展

# wescode 会扫描已安装的 VSCode 扩展
# 对于兼容的扩展,自动从 Open VSX 安装

迁移扩展中...
✅ ESLint (dbaeumer.vscode-eslint)
✅ Prettier (esbenp.prettier-vscode)
✅ Go (golang.go)
✅ GitLens (eamodio.gitlens)
⚠️ GitHub Copilot — 不兼容,wescode 已内置 AI 功能
⚠️ Remote - SSH — 建议使用 Open Remote SSH
✅ Docker (ms-azuretools.vscode-docker)
✅ YAML (redhat.vscode-yaml)

完成:8/10 扩展已迁移

不兼容扩展替代方案

VSCode 扩展原因wescode 替代方案
GitHub Copilot微软私有wescode 内置 AI(更强大的 CKG + CSE)
Remote - SSH (ms)微软私有Open Remote SSH 或 SSH FS
Live Share微软私有CodeTogether 或其他协作工具
IntelliCode微软私有wescode 内置 AI 补全

手动安装扩展

# 从 Open VSX 安装
wescode --install-extension <extension-id>

# 从 VSIX 文件安装(适用于 Open VSX 没有的扩展)
wescode --install-extension /path/to/extension.vsix

# 批量安装
cat extensions.txt | xargs -I {} wescode --install-extension {}

导出当前 VSCode 扩展列表

# 在 VSCode 中导出扩展列表
code --list-extensions > extensions.txt

# 在 wescode 中批量安装
cat extensions.txt | while read ext; do
  wescode --install-extension "$ext" 2>/dev/null || echo "跳过: $ext"
done

快捷键映射

默认快捷键

wescode 的默认快捷键与 VSCode 完全一致。你的肌肉记忆不会受到任何影响。

核心快捷键(不变)

快捷键功能
Ctrl+P快速打开文件
Ctrl+Shift+P命令面板
Ctrl+Shift+F全局搜索
Ctrl+`` 切换终端
Ctrl+B切换侧边栏
Ctrl+,打开设置
F12跳转到定义
Shift+F12查找所有引用
F2重命名符号
Ctrl+Shift+K删除当前行
Alt+↑/↓移动当前行
Ctrl+D选中下一个相同词

wescode 新增快捷键

wescode 增加了 AI 相关的快捷键,不与已有快捷键冲突:

快捷键功能说明
Ctrl+L打开 AI Chat打开侧边栏 Chat 面板
Ctrl+K行内 AI 编辑在光标处触发 AI 编辑
Ctrl+Shift+L将选中代码发送到 Chat选中代码后使用
Ctrl+Shift+M(Chat 内)AI 生成 Commit Message在 Git 面板中使用

自定义快捷键

如果新增快捷键与你的习惯冲突,可以自定义:

// keybindings.json
[
  {
    "key": "ctrl+l",
    "command": "wescode.chat.open"
  },
  {
    "key": "ctrl+k",
    "command": "wescode.inlineEdit",
    "when": "editorTextFocus"
  }
]

Vim/Emacs 键位

wescode 完全支持 Vim 和 Emacs 键位扩展:

# Vim
扩展:vscodevim.vim

# Emacs
扩展:tuttieee.emacs-mcx

工作区迁移

.vscode 目录

.vscode 目录中的所有配置文件在 wescode 中完全兼容:

.vscode/
├── settings.json       ✅ 完全兼容
├── launch.json         ✅ 完全兼容
├── tasks.json          ✅ 完全兼容
├── extensions.json     ✅ 完全兼容
└── *.code-snippets     ✅ 完全兼容

多根工作区

VSCode 的 .code-workspace 文件完全兼容:

// myproject.code-workspace
{
  "folders": [
    { "path": "frontend" },
    { "path": "backend" },
    { "path": "shared" }
  ],
  "settings": {
    // 工作区设置在 wescode 中完全生效
  }
}

wescode 专属配置

迁移后,你可以选择性地添加 wescode 特有配置:

项目根目录/
├── .vscode/              # VSCode 兼容配置(保留)
│   ├── settings.json
│   ├── launch.json
│   └── tasks.json
└── .wescode/             # wescode 专属配置(新增,可选)
    └── review-rules.yaml # 代码审查规则

团队迁移建议

  1. 渐进式迁移:团队成员可以逐步切换,不影响协作
  2. 保留 .vscode:继续使用 .vscode 目录,确保 VSCode 用户不受影响
  3. 统一扩展:更新 extensions.json 确保推荐的扩展在 Open VSX 可用
  4. 文档更新:更新团队的开发环境搭建文档

常见问题

Q: wescode 能和 VSCode 同时安装使用吗?

A: 可以。wescode 和 VSCode 是独立的应用,使用不同的配置目录,互不影响。你可以同时安装使用。

Q: 迁移后 VSCode 的配置还在吗?

A: 在。迁移是复制操作,不会删除 VSCode 的原始配置。你可以随时切回 VSCode。

Q: 工作区设置会影响团队其他使用 VSCode 的成员吗?

A: 不会。.vscode 目录的配置 wescode 和 VSCode 都能识别。wescode 专属的设置放在 .wescode 目录下,VSCode 会忽略它。

Q: 扩展需要重新付费吗?

A: wescode 使用 Open VSX 扩展市场,大多数扩展是免费的。如果你使用的付费扩展只在 VSCode Marketplace 发布,可以通过 VSIX 文件手动安装。

Q: Git 提交历史中的编辑器信息会变吗?

A: 不会。Git 提交不包含编辑器信息,只有你手动配置的 core.editor 设置会受影响。

Q: CKG 索引需要重建吗?

A: 是的。首次在 wescode 中打开项目时,CKG 会自动建立索引。对于大型项目,可能需要几分钟。索引完成后的体验会明显优于 VSCode。

Q: 能回退到 VSCode 吗?

A: 随时可以。你的项目文件和 .vscode 配置没有任何变化,打开 VSCode 即可继续工作。

Q: wescode 的更新频率如何?

A: wescode 定期合并 VSCode 上游的更新,确保核心编辑器能力与 VSCode 保持同步,同时持续迭代 AI 增强功能。

Q: wescode 支持远程开发吗?

A: 支持。通过 Open Remote SSH 扩展或 SSH FS 扩展,可以进行远程文件编辑。wescode 的 AI 功能在远程开发场景下同样可用。

迁移检查清单

完成以下步骤,确保迁移顺利:

相关文档