DeepV Code 现已支持 AI 驱动的行内代码补全功能,类似于 GitHub Copilot 和 Augment Code,能够在您编码时实时提供智能建议。
- 🎯 上下文感知补全:基于当前文件内容、光标位置和编程语言生成智能建议
- ⚡ 实时响应:在您输入时自动触发补全(可配置延迟)
- 🎨 原生集成:完美融入 VSCode 的行内补全界面
- 🔧 灵活配置:可通过设置启用/禁用,调整触发延迟
- 💾 智能缓存:避免重复请求,提升性能
- 🌐 多语言支持:支持所有编程语言
┌─────────────────────────────────────────────────────────┐
│ VSCode Extension Layer │
│ ┌──────────────────────────────────────────────────┐ │
│ │ DeepVInlineCompletionProvider │ │
│ │ - Implements InlineCompletionItemProvider │ │
│ │ - Handles VSCode completion events │ │
│ │ - Debounce & cancellation control │ │
│ └────────────────┬─────────────────────────────────┘ │
└────────────────────┼────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ Core Package Layer │
│ ┌──────────────────────────────────────────────────┐ │
│ │ InlineCompletionService │ │
│ │ - Generate AI-powered completions │ │
│ │ - Prompt engineering │ │
│ │ - Response parsing │ │
│ │ - Caching mechanism │ │
│ └────────────────┬─────────────────────────────────┘ │
└────────────────────┼────────────────────────────────────┘
│
▼
AI Model
(Claude / Gemini)
- 安装插件:确保已安装 DeepV Code VSCode 扩展
- 登录认证:完成 DeepV Code 登录流程
- 开始编码:在任何文件中输入代码,补全建议将自动出现
在 VSCode 状态栏右下角,您可以看到 DeepV 代码补全开关图标,方便快速启用/禁用补全功能:
- 图标:
D✓(DeepV + 对勾) - 颜色:默认前景色
- 提示:DeepV 代码补全:已启用(点击关闭)
- 图标:
D✗(DeepV + 叉号) - 颜色:警告前景色(橙黄色)
- 提示:DeepV 代码补全:已禁用(点击启用)
- 点击切换:点击状态栏图标即可切换代码补全的启用/禁用状态
- 配置同步:状态栏会自动同步配置项变化
- 轻量级提示:切换时在状态栏左下角显示简短消息(3秒后自动消失)
- Tab 键:接受整个补全建议
- Esc 键:拒绝建议
- 继续输入:建议会自动更新或消失
- 自动触发:在编辑代码时自动触发(默认延迟 300ms)
在 VSCode 设置中搜索 "DeepV Code" 以访问以下配置:
- 类型:
boolean - 默认值:
true - 描述:启用或禁用 AI 驱动的行内代码补全
{
"deepv.enableInlineCompletion": true
}控制方式(多种方式同步):
- 状态栏按钮(推荐):点击右下角的
D✓或D✗图标 - 命令面板:
DeepV Code: Toggle Inline Completion - 设置界面:搜索
deepv.enableInlineCompletion勾选/取消勾选 - settings.json:直接修改配置文件
- 类型:
number - 默认值:
300 - 描述:触发补全前的延迟(毫秒),推荐范围:100-1000ms
{
"deepv.inlineCompletionDelay": 300
}输入:
function calculateSum(a: number, b: number) {
return | // 光标位置
}补全建议:
a + b;输入:
import { | } from 'react'; // 光标位置补全建议:
useState, useEffect输入:
def is_valid_email(email: str) -> bool:
if | # 光标位置补全建议:
'@' in email and '.' in email.split('@')[1]:
return True
return False- 自动缓存最近 100 个补全结果
- 相同上下文直接返回缓存结果
- 避免重复 AI 请求
- 自动取消未完成的旧请求
- 避免资源浪费
- 确保最新请求优先
- 自动跳过空行和注释行
- 减少无意义的补全请求
- 提升整体性能
Provider 内部维护以下统计数据(开发者模式):
{
totalRequests: number; // 总请求数
successfulCompletions: number; // 成功补全数
canceledRequests: number; // 取消请求数
errors: number; // 错误数
}- 首次请求较慢:服务初始化需要时间,后续请求会更快
- 网络依赖:需要稳定的网络连接到 AI 服务
- 上下文窗口:当前使用光标前后有限字符(前 2000,后 1000)
| 功能 | DeepV Code | Augment Code |
|---|---|---|
| 行内补全 | ✅ | ✅ |
| 上下文感知 | ✅ | ✅ |
| 多语言支持 | ✅ | ✅ |
| 缓存优化 | ✅ | ✅ |
| 自定义延迟 | ✅ | ❌ |
| 性能统计 | ✅ (Dev) | ❌ |
| 离线模式 | ❌ | ❌ |
- 检查状态栏图标:确认状态栏右下角显示
D✓(启用状态) - 检查配置:
deepv.enableInlineCompletion = true - 确认已登录:DeepV Code 已完成认证
- 检查网络:确保网络连接正常
- 查看日志:输出面板(Output > DeepV Code AI Assistant)
- 减少延迟:降低
deepv.inlineCompletionDelay值(注意可能增加请求频率) - 切换模型:尝试使用
gemini-2.5-flash模型(更快) - 检查网络:确认网络延迟正常
- 清除缓存:重启 VSCode
- 选择模型:尝试切换到
gemini-2.5-pro模型(更高质量) - 检查语言模式:确保文件语言模式正确
- 提供上下文:在关键代码附近触发补全
- 手动触发:使用 Ctrl/Cmd + Space
- 检查扩展状态:确认 DeepV Code 扩展已激活
- 重启 VSCode:完全关闭并重新打开 VSCode
- 查看日志:检查是否有初始化错误
- 重新安装:卸载并重新安装扩展
- Core Service:
packages/core/src/code_assist/inlineCompletion.ts - VSCode Provider:
packages/vscode-ui-plugin/src/services/inlineCompletionProvider.ts - Extension Integration:
packages/vscode-ui-plugin/src/extension.ts
// Core Service
interface InlineCompletionRequest {
filePath: string;
position: { line: number; character: number };
prefix: string;
suffix: string;
language: string;
maxLength?: number;
}
interface InlineCompletionResponse {
text: string;
range?: {
start: { line: number; character: number };
end: { line: number; character: number };
};
}行内代码补全功能支持灵活的模型选择,您可以选择使用与聊天界面相同的模型,或为补全功能单独指定模型。
- ✅ 自动同步:当您在聊天界面切换模型时,行内补全会自动使用相同的模型
- ✅ 一致体验:确保代码补全风格与聊天建议保持一致
⚠️ 可能较慢:如果聊天使用 Pro 或 Claude 模型,补全响应可能较慢
您可以为行内补全单独选择优化的模型,独立于聊天会话,获得更快的响应速度。
Cmd+Shift+P → "DeepV Code: Select Inline Completion Model"
选择模型(仅提供 3 个最优选项):
- 🤖 自动 (Auto) - 默认 - 跟随聊天会话模型,未来兼容性最好
- ⚡ Gemini 2.5 Flash(推荐速度) - 快速 & 经济
- ⭐ Gemini 2.5 Pro - 高质量 & 较慢
- 打开 VSCode 设置:
Cmd+,(Mac)或Ctrl+,(Windows/Linux) - 搜索:
DeepV Code: Inline Completion Model - 从下拉菜单选择模型
{
"deepv.inlineCompletionModel": "gemini-2.5-flash"
}综合考虑性能、经济实惠、响应速度、未来兼容性,行内补全仅提供 3 个最优选择:
| 模型 | 速度 | 质量 | 成本 | 未来兼容性 | 推荐场景 | 说明 |
|---|---|---|---|---|---|---|
| auto ⭐ | 变化 | 变化 | 变化 | ✅✅✅ | 默认推荐 | 自动跟随聊天会话模型,未来模型升级无需手动调整 |
| gemini-2.5-flash | ⚡⚡⚡ | ⭐⭐ | 💰 | 追求速度 | 速度最快,成本最低,但模型名称可能变更 | |
| gemini-2.5-pro | ⚡⚡ | ⭐⭐⭐ | 💰💰💰 | 追求质量 | 质量更高,但速度较慢且成本较高 |
{
"deepv.inlineCompletionModel": "auto",
"deepv.inlineCompletionDelay": 300
}- ✅ 自动跟随聊天模型,无需手动调整
- ✅ 未来模型升级自动适配
- ✅ 与聊天界面保持一致的 AI 体验
⚠️ 速度和成本取决于聊天使用的模型
{
"deepv.inlineCompletionModel": "gemini-2.5-flash",
"deepv.inlineCompletionDelay": 200
}- ✅ 最快的响应速度
- ✅ 最低的使用成本
- ✅ 适合高频代码补全
⚠️ 模型名称未来可能变更
{
"deepv.inlineCompletionModel": "gemini-2.5-pro",
"deepv.inlineCompletionDelay": 500
}- ✅ 更高质量的代码建议
⚠️ 响应较慢,需要更多耐心⚠️ 使用成本较高⚠️ 模型名称未来可能变更
配置更改会立即生效,无需重启 VSCode:
- 修改设置或使用命令切换
- 缓存自动清除
- 下次补全请求使用新模型
- 多行补全优化
- 项目级上下文集成
- 补全历史记录
- 用户反馈机制(接受/拒绝率)
- 离线模式支持
- 自定义补全提示词模板
如遇到问题或有功能建议,请:
- 查看日志:
DeepV Code > Open Log File - 提交 Issue:GitHub Issues
- 社区讨论:GitHub Discussions
享受 AI 驱动的编码体验! 🚀