从 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 # 代码审查规则
团队迁移建议
- 渐进式迁移:团队成员可以逐步切换,不影响协作
- 保留 .vscode:继续使用
.vscode目录,确保 VSCode 用户不受影响 - 统一扩展:更新
extensions.json确保推荐的扩展在 Open VSX 可用 - 文档更新:更新团队的开发环境搭建文档
常见问题
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 功能在远程开发场景下同样可用。
迁移检查清单
完成以下步骤,确保迁移顺利:
- 安装 wescode
- 导入 VSCode 设置(设置、快捷键、代码片段)
- 迁移扩展(自动 + 手动补充)
- 验证工作区配置(
.vscode目录) - 配置 AI Provider(在设置中配置 API Key)
- 等待 CKG 索引完成(查看状态栏进度)
- 测试常用工作流(编辑、构建、测试、调试)
- 体验 AI 功能(Chat、行内编辑、代码审查)
- 检查终端配置(Shell、环境变量)
- 确认 Git 集成正常(提交、推送、分支操作)