chatgpt持续火爆,随着使用的人越来越多,其被挖掘的使用场景也越来越多,现在已经有许多开发者尝试使用chatgpt用于编程协助。而VS Code上,也出现多款chatgpt插件。
在今天的文章中,我们就来看看有这些插件的表现,是否值得我们安装。
插件基本分析
国外插件:
这些插件中,最早被发布的是下面两个:
其基本操作都包含:
-
chatgpt: Query
(will provide a prompt for you to ask a question) -
chatgpt: Add tests
(generates tests based on file/text selection) -
chatgpt: Why is my code broken?
(analyses your code to highlight any logic/Syntax errors) chatgpt: Explain code
chatgpt: Refactor
-
chatgpt: Reset token
(clears access token if expired or having issues)
也就是,我们可以对chatgpt 进行都提问,(query),也可以使用chatgpt来分析代码。 包括代码的问题在哪,解析代码以及重构代码。
关于代码的部分都是我们只需要通过鼠标划选对应的代码,然后选择对应的功能即可:
这两个早期插件,需要自己提供session-token
, 也就是说如果你自己没有Open AI的帐号不能够使用chatgpt的话,是无法使用这两个插件。
token可以从浏览器中获取:
使用前通过chatgpt: Login
命令输入即可。
国内插件:
但之所以在VS code上这么受欢迎的原因,是因为它无需Open AI的帐号即可进行体验。其背后的实现逻辑应该是类似于:
https://gpt.chatapi.art/上做的,通过反向代理,为受限于 OpenAI 限制访问区域的人提供服务。
这样在带来便利的同时,却也带来比较差的用户体验,主要就是过于缓慢的访问速度(多重网络跳转,并受限于私人代理的带宽与排队人数)
插件普遍存在的问题
这些插件应该是能够帮助我们在开发时,更好的借助chatgpt的能力的。但最遗憾的是,他们都没有办法做到交互模式,在自由询问时,无法上下文衔接:
比如,我提了个问题:帮我写一个ansible的程序,可以远程执行脚本
,给出的程序中有all,我想知道这个all是设么意思。但明显,插件里答非所问。
而网页版则不会:
总结
插件的作用差强人意,但相信随着使用的人数的增加,会持续改进其用户体验。而没有办法注册chatgpt的同学,可以参考我的教程:《被玩坏的chatGPT之初体验》。而如果大家对其提供的功能有更多的想法,其实可以自己修改插件代码,封装适合自己的功能:https://github.com/barnesoir/chatgpt-vscode-plugin。比如,对于选定的代码,可以自由提问,而不是限定固定的问题