Skip to content

VS Code 扩展

MyDeskBot VS Code 扩展将强大的 AI 助手直接集成到您的 Visual Studio Code 编辑器中。

目录

功能特性

核心功能

  • 智能代码补全 - 行内智能补全建议
  • Chat 界面 - 对话式 AI 交互
  • 代码生成 - 自然语言生成代码
  • 代码审查 - 实时质量检查
  • 代码重构 - 智能重构建议
  • 文档生成 - 自动生成注释和文档

VS Code 特有功能

  • 🌟 Inline Chat - 快速行内对话
  • 🌟 多编辑器支持 - 支持多个编辑器窗口
  • 🌟 集成终端 - 终端命令辅助
  • 🌟 调试辅助 - 智能调试建议
  • 🌟 Git 集成 - 代码提交信息生成、PR 审查

安装

方式一:从 VS Code Marketplace 安装(推荐)

  1. 打开 VS Code
  2. Ctrl+Shift+X (Windows/Linux) / Cmd+Shift+X (macOS) 打开扩展面板
  3. 搜索 MyDeskBot
  4. 点击 安装
  5. 重新加载窗口

方式二:命令行安装

bash
code --install-extension mydeskbot.mydeskbot

方式三:手动安装

  1. GitHub Releases 下载 .vsix 文件
  2. 打开 VS Code 命令面板 (Ctrl+Shift+P / Cmd+Shift+P)
  3. 输入 "Extensions: Install from VSIX"
  4. 选择下载的 .vsix 文件

快速开始

1. 首次配置

  1. 安装扩展后重新加载 VS Code
  2. 在活动栏找到 MyDeskBot 图标
  3. 点击图标或使用命令 MyDeskBot: Open Chat
  4. 输入您的 API 密钥
  5. 选择您偏好的模型
  6. 开始使用!

2. 第一个补全

javascript
// 输入以下代码
function calculateTotal(items) {}

按下 Ctrl+Space 查看智能补全建议:

javascript
function calculateTotal(items) {
  if (!items || !Array.isArray(items)) {
    return 0;
  }

  return items.reduce((sum, item) => {
    const price = item.price || 0;
    const quantity = item.quantity || 1;
    return sum + price * quantity;
  }, 0);
}

3. 第一次对话

  1. Ctrl+Shift+M (Windows/Linux) / Cmd+Shift+M (macOS) 打开 Chat 面板
  2. 输入:"帮我创建一个 React 组件,展示用户列表"
  3. 查看生成的代码
  4. 点击 "Insert" 插入到编辑器

使用指南

Chat 对话

打开 Chat

  • 快捷键: Ctrl+Shift+M (Windows/Linux) / Cmd+Shift+M (macOS)
  • 命令: MyDeskBot: Open Chat
  • 图标: 点击活动栏的 MyDeskBot 图标

Chat 功能

  • 代码生成和修改
  • 问题解答
  • 技术学习
  • 调试帮助
  • 代码解释

示例对话

用户: 创建一个 TypeScript 接口,表示用户信息

AI: 当然!这是一个用户信息接口:

interface User {
  id: string;
  username: string;
  email: string;
  createdAt: Date;
  updatedAt: Date;
  profile?: UserProfile;
}

interface UserProfile {
  firstName: string;
  lastName: string;
  avatar?: string;
  bio?: string;
}

用户: 添加一个方法,验证邮箱格式是否正确

AI: 这是一个邮箱验证函数:

function isValidEmail(email: string): boolean {
  const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
  return emailRegex.test(email);
}

// 使用示例
const user = { email: "test@example.com" };
if (isValidEmail(user.email)) {
  console.log("邮箱格式正确");
}

Inline Chat(行内对话)

触发 Inline Chat

  • 快捷键: Ctrl+I (Windows/Linux) / Cmd+I (macOS)
  • 命令: MyDeskBot: Start Inline Chat

使用场景

  1. 选中代码
  2. Ctrl+I / Cmd+I
  3. 输入修改需求
  4. 接受或拒绝建议

示例

选中代码:

javascript
const data = await fetch(url).then((res) => res.json());

Ctrl+I / Cmd+I,输入:

添加错误处理

结果:

javascript
try {
  const response = await fetch(url);
  if (!response.ok) {
    throw new Error(`HTTP error! status: ${response.status}`);
  }
  const data = await response.json();
} catch (error) {
  console.error("Fetch error:", error);
  throw error;
}

代码补全

自动补全

MyDeskBot 会在您键入时自动提供补全建议:

python
def analyze_data(df):
    # MyDeskBot 会自动建议补全
    summary = df.describe()
    return summary

手动触发

  • 快捷键: Ctrl+SpaceAlt+ (Windows/Linux) / Cmd+SpaceOpt+ (macOS)

补全类型

  • 函数实现
  • 变量声明
  • 语句补全
  • 代码片段

代码审查

触发方式

  1. 选中代码
  2. Ctrl+Shift+R (Windows/Linux) / Cmd+Shift+R (macOS)
  3. 或右键 → "Review with MyDeskBot"

审查结果

代码审查会在右侧面板显示:

🔴 严重问题

1. 空指针风险 (line 15)
   问题: user.getName() 可能为 null
   建议: 添加空值检查

💡 改进建议

1. 性能优化 (line 23-28)
   建议: 使用 StringBuilder 替代字符串连接

✅ 良好实践

- 使用了 try-with-resources
- 添加了适当的日志

Git 集成

生成提交信息

  1. 在 Git 面板打开 "Source Control"
  2. 填写提交信息框,输入 /
  3. 选择 "Generate commit message"
  4. MyDeskBot 会根据您的更改生成提交信息

示例

feat: add user authentication with JWT tokens

- Implement login and register endpoints
- Add JWT token generation and validation
- Create middleware for protected routes
- Add user model with email and password fields

Related: #123

PR 审查

在 Pull Request 中:

bash
# 使用 GitHub CLI 集成
gh pr review 123 --body "$(mydeskbot pr-review)"

配置

打开设置

Ctrl+, (Windows/Linux) / Cmd+, (macOS),搜索 "MyDeskBot"

基础配置

json
{
  "mydeskbot.apiKey": "sk-your-api-key",
  "mydeskbot.model": "gpt-4",
  "mydeskbot.temperature": 0.7
}

高级配置

json
{
  // API 设置
  "mydeskbot.apiKey": "sk-...",
  "mydeskbot.apiBase": "https://api.openai.com/v1",
  "mydeskbot.model": "gpt-4",

  // 补全设置
  "mydeskbot.enableInlineCompletion": true,
  "mydeskbot.completionDelay": 200,
  "mydeskbot.maxContextFiles": 5,

  // Chat 设置
  "mydeskbot.chatModel": "gpt-4",
  "mydeskbot.chatTemperature": 0.7,
  "mydeskbot.maxTokens": 2000,

  // 界面设置
  "mydeskbot.theme": "dark",
  "mydeskbot.showInlineChatIcon": true,
  "mydeskbot.autoSuggest": true,

  // 代理设置
  "mydeskbot.proxy.enabled": false,
  "mydeskbot.proxy.host": "127.0.0.1",
  "mydeskbot.proxy.port": 7890,

  // 隐私设置
  "mydeskbot.anonymousUsage": true,
  "mydeskbot.telemetryEnabled": false
}

工作区配置

.vscode/settings.json 中配置:

json
{
  "mydeskbot.model": "gpt-3.5-turbo",
  "mydeskbot.enableInlineCompletion": true
}

快捷键

默认快捷键

功能Windows/LinuxmacOS
打开 ChatCtrl+Shift+MCmd+Shift+M
Inline ChatCtrl+ICmd+I
代码补全Ctrl+SpaceCmd+Space
代码审查Ctrl+Shift+RCmd+Shift+R
重新生成Ctrl+Shift+;Cmd+Shift+;
关闭面板EscapeEscape
发送消息EnterEnter
换行Shift+EnterShift+Enter

自定义快捷键

打开 keybindings.json (Ctrl+K Ctrl+S / Cmd+K Cmd+S):

json
[
  {
    "key": "ctrl+alt+m",
    "command": "mydeskbot.openChat"
  },
  {
    "key": "ctrl+alt+i",
    "command": "mydeskbot.inlineChat"
  }
]

命令面板

打开命令面板

Ctrl+Shift+P (Windows/Linux) / Cmd+Shift+P (macOS)

MyDeskBot 命令列表

命令描述
MyDeskBot: Open Chat打开 Chat 面板
MyDeskBot: Start Inline Chat开始行内对话
MyDeskBot: Review Code审查选中的代码
MyDeskBot: Generate Documentation生成文档
MyDeskBot: Refactor Code重构代码
MyDeskBot: Explain Code解释代码
MyDeskBot: Fix Code修复代码问题
MyDeskBot: Optimize Code优化代码
MyDeskBot: Generate Tests生成测试
MyDeskBot: Clear Chat清空对话历史
MyDeskBot: Settings打开设置
MyDeskBot: API Key设置 API 密钥

高级功能

多光标编辑

支持多光标同时编辑:

  1. 使用 Alt+Click (Windows/Linux) / Opt+Click (macOS) 创建多个光标
  2. 触发 Inline Chat
  3. 所有光标位置会同时获得建议

工作区上下文

MyDeskBot 会自动分析您的工作区:

  • 读取项目结构
  • 理解文件关系
  • 考虑依赖关系

配置上下文范围:

json
{
  "mydeskbot.context.excludePatterns": [
    "**/node_modules/**",
    "**/.git/**",
    "**/dist/**"
  ],
  "mydeskbot.context.includePatterns": ["**/*.ts", "**/*.tsx", "**/*.js"]
}

调试辅助

在调试时获得 AI 帮助:

  1. 在断点处暂停
  2. 打开 Debug Console
  3. 使用 MyDeskBot 命令获取帮助

集成开发工具

ESLint 集成

自动修复 ESLint 错误:

json
{
  "mydeskbot.autoFixESLint": true
}

Prettier 集成

生成符合 Prettier 的代码:

json
{
  "mydeskbot.prettierCompatible": true
}

Testing Library 集成

生成测试代码:

json
{
  "mydeskbot.testFramework": "jest",
  "mydeskbot.testLibrary": "testing-library"
}

故障排除

扩展无法激活

  1. 检查 VS Code 版本(需要 1.80+)
  2. 查看输出日志(View → Output → MyDeskBot)
  3. 尝试重新安装扩展
  4. 重启 VS Code

API 调用失败

  1. 验证 API 密钥是否正确
  2. 检查网络连接
  3. 查看代理设置
  4. 检查 API 余额

补全不显示

  1. 检查 enableInlineCompletion 设置
  2. 确认语言被支持
  3. 尝试手动触发 (Ctrl+Space)
  4. 查看错误日志

性能问题

如果响应缓慢:

  1. 减少上下文文件数量
  2. 使用更快的模型(如 gpt-3.5-turbo)
  3. 减少代码块大小
  4. 检查网络延迟

下一步

获取帮助