我写了一个插件,让你在Visual Studio中使用本地大模型辅助编码
为什么要开发LLMCopilot插件?
GPT-4刚发布时,我就订阅了OpenAI的plus会员。经过一段时间的使用,确实GPT-4对于编码辅助能力非常强大,极大提升了解决开发过程中问题的效率。之后,各种辅助编码的大模型也如雨后春笋般出现,如vscode中的CodeGeeX
,FittenCode
等插件。这些插件的体验都很好,但是这些都是云端插件,无可避免会将你的数据发送到厂商的服务器上。
之前我在vscode中开发爬虫时,由于需要将账户密码配置在代码中,这时我就不想使用这些云端的大模型了。因此,我希望能有一个本地的插件,可以让我完全控制自己的数据和隐私。这就是为什么有了上一篇文章:
在VSCode中结合Ollama
和Continue
插件,让我写代码用的很爽。这就让我想到,日常工作中使用的Visual Studio
是不是也可以有类似的功能?
但是工作环境中使用,有几个限制:
- 因为我们在专用网络开发,是没有互联网的,因此必须支持本地大模型。
- 硬件要求不能太高,因为服务端开发,公司给配置的机器显卡都很一般,最好也只有RTX 3060,好在显存有12G。
可是在Visual Studio插件市场一通搜索后,我发现支持本地AI编程大模型的插件仅有聊聊数款,试用后发现体验都非常糟糕。因此我就萌生了自己开发一个插件的想法。
在上一篇文章中,我提到了Ollama,这是个开源的本地运行大模型的工具,最让我印象深刻的是,它提供了一键安装包,无需繁琐的环境依赖安装和配置。正好它也支持Restful Api,于是本地大模型的后端就决定是它了!
说来惭愧,虽然工作了十几年,但是对于C#
我实在还是个小白,而VS插件只能用C#
开发,所以这个过程还是非常痛苦的。在GPT-4v到GPT-4o的协助下,经过了数周时间的努力和挣扎,我终于完成了这个插件。目前已经在Visual Studio marketplace
上发布了,欢迎大家试用和反馈!
LLMCopilot 插件
主要功能
- 基于Ollama的本地大模型,所有数据都在本地,即使离线也可使用
- 基于大模型的能力辅助编程
- 解释代码
- 自动补全
- 代码查错
- 添加注释
- 和本地大模型聊天
说明
可以直接查看插件发布页说明,这里我就不再重复了。
安装
方法一:
你可以直接在Visual Studio的扩展中搜索并安装LLMCopilot
插件。
方法二:
下载并手动安装vsix包。
一些额外的说明
代码自动补全开关,默认关闭
按下Ctrl键接受所有预测
按下数字1-9,接受前N行预测
按下ESC键拒绝预测
为什么这么设计快捷键?
一个很自然的选择是Enter
或者Tab
键来接受预测。然而实际使用中,你就会发现,因为大模型预测的延迟,很多时候你只是正常的在编码,按下Enter
键换行或者Tab
键来插入缩进,但是莫名其妙的就接受了大模型的预测。插入了一大段你并不想要的代码。因此我选择了Ctrl
这个正常编码过程中不那么频繁输入的按键作为接受预测的按键。
至于1-9
接受前N行和Esc
拒绝预测,应该是比较直观的行为了。
关于问题和反馈
如果有碰到问题或者有什么建议,可以在Github或者Gitee上提交issue给我,我会根据实际情况考虑进行修复或者优化。当然由于这只是工作之余的一点小玩意,可能响应并不会非常及时,也无法满足所有人的需求,但是合理的需求我会考虑。
最后,如果这个插件对你有用的话,记得在VS Marketplace中给个好评呦!