扩展与插件
wescode 基于 VS Code 开源版本(Code OSS)构建,完全兼容 VS Code 扩展生态系统。同时,wescode 的 AI 能力与扩展系统深度集成,提供更智能的开发体验。
VS Code 扩展兼容性
兼容范围
wescode 兼容绝大多数 VS Code 扩展,包括:
- 语言支持扩展:各编程语言的语法高亮、代码补全、Linter
- 调试器扩展:各语言的调试适配器
- 主题扩展:颜色主题、图标主题
- 工具扩展:Git 工具、Docker 工具、数据库工具
- 代码片段:各语言和框架的代码片段
- 格式化工具:Prettier、ESLint、gofmt 等
安装扩展
安装扩展的方式与 VS Code 相同:
- 扩展市场:在侧边栏扩展面板中搜索并安装
- 命令行安装:
wescode --install-extension <extension-id> - VSIX 文件:通过本地
.vsix文件安装
已安装扩展管理
在扩展面板中可以:
- 查看所有已安装的扩展
- 启用/禁用特定扩展
- 更新扩展到最新版本
- 卸载不需要的扩展
工作区扩展
wescode 支持工作区级别的扩展推荐:
// .vscode/extensions.json
{
"recommendations": [
"golang.go",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode"
]
}
打开项目时,wescode 会提示安装推荐的扩展。
推荐扩展
以下扩展与 wescode 的 AI 功能配合特别好:
语言支持
| 扩展 | 语言 | 说明 |
|---|---|---|
| Go (golang.go) | Go | 官方 Go 扩展,与 CKG 互补 |
| Pylance | Python | 类型分析,增强 AI 类型推断 |
| TypeScript Vue Plugin | Vue | Vue 单文件组件支持 |
| rust-analyzer | Rust | Rust 语言分析 |
| C/C++ | C/C++ | 微软官方 C/C++ 扩展 |
开发工具
| 扩展 | 用途 | 说明 |
|---|---|---|
| GitLens | Git | 深度 Git 集成,与 AI Git 功能互补 |
| Docker | Docker | 容器管理与远程开发 |
| REST Client | API 测试 | 在编辑器中直接测试 API |
| Thunder Client | API 测试 | 轻量级 API 测试工具 |
| Database Client | 数据库 | 数据库查询与管理 |
代码质量
| 扩展 | 用途 | 说明 |
|---|---|---|
| ESLint | JS/TS Lint | 代码规范检查 |
| Prettier | 格式化 | 代码自动格式化 |
| SonarLint | 安全 | 安全漏洞和代码质量检查 |
| Error Lens | 错误显示 | 行内显示错误信息 |
效率工具
| 扩展 | 用途 | 说明 |
|---|---|---|
| Todo Tree | TODO 管理 | 展示项目中的 TODO 标记 |
| Bookmarks | 代码标记 | 代码位置书签 |
| Path Intellisense | 路径补全 | 文件路径自动补全 |
| Auto Rename Tag | HTML | HTML 标签自动重命名 |
扩展配置
全局设置
通过 settings.json 配置扩展:
{
// Go 扩展配置
"go.useLanguageServer": true,
"go.lintTool": "golangci-lint",
// ESLint 配置
"eslint.enable": true,
"eslint.format.enable": true,
// Prettier 配置
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
}
工作区设置
每个工作区可以有独立的扩展配置:
// .vscode/settings.json
{
"go.testFlags": ["-v", "-count=1"],
"python.testing.pytestEnabled": true
}
扩展冲突处理
如果扩展与 wescode 的 AI 功能冲突:
- 代码补全冲突:wescode 的 AI 补全优先级可以在设置中调整
- 格式化冲突:可以指定默认格式化工具
- Lint 重复:wescode 的代码审查与 Lint 扩展互补,不会冲突
{
// 禁用其他补全工具以避免干扰
"editor.suggest.showWords": false,
// 使用 wescode AI 作为主要补全源
"editor.inlineSuggest.enabled": true
}
与 AI 功能的交互
扩展增强 AI 能力
某些扩展能够增强 wescode 的 AI 能力:
语言服务器扩展:
- 提供更准确的类型信息给 CKG
- 补充符号解析和跳转能力
- 增强代码补全的准确性
Linter 扩展:
- AI 审查时参考 Linter 的结果
- 将 Linter 发现的问题纳入重构建议
- 自动修复与 AI 修复配合
调试器扩展:
- AI 建议的断点可以直接在调试器中使用
- 调试过程中可以询问 AI 变量状态的含义
- AI 辅助分析调试器输出
AI 感知扩展状态
wescode 的 AI 能够感知已安装的扩展:
我安装了哪些扩展?有没有推荐的扩展?
ESLint 报了这些错误,帮我修复
AI 会利用扩展提供的诊断信息来:
- 更准确地定位问题
- 提供与扩展配置一致的修复建议
- 理解扩展的规则含义
扩展 + AI 工作流
代码编写:
- 编写代码 → wescode AI 实时补全
- 保存文件 → Prettier 自动格式化
- ESLint 检查 → wescode AI 辅助修复
代码审查:
- Git 提交前 → wescode AI 审查
- SonarLint 安全扫描
- AI 综合所有检查结果给出建议
调试:
- AI 建议断点位置
- 使用调试器扩展启动调试
- AI 辅助分析调试信息
开发自定义扩展
wescode 扩展 API
wescode 除了支持标准 VS Code 扩展 API 外,还提供额外的 AI 相关 API:
- 访问 CKG 数据(符号、调用关系等)
- 与 AI 对话功能集成
- 获取 AI 分析结果
扩展发布
自定义扩展可以通过以下方式分发:
- VS Code Marketplace:与标准 VS Code 扩展相同
- VSIX 文件:打包后直接安装
- 内部仓库:企业内部的扩展仓库
注意事项
- 兼容性:极少数依赖 VS Code 私有 API 的扩展可能不兼容
- 性能影响:安装过多扩展可能影响启动速度和内存使用
- 扩展更新:建议开启自动更新以获得最新功能和安全修复
- 工作区隔离:扩展配置可以按工作区独立设置
- 远程开发:在远程开发时,部分扩展需要在远程端安装
- AI 优先级:wescode 的 AI 功能在补全和诊断方面优先级可配置