最新消息:关注人工智能 AI赋能新媒体运营

JetBrains IDE添加本地端整行程式码完成功能

科技智能 admin 浏览 评论

自JetBrains IDE v2024.1版本开始,开发者便可以在输入程式码的时候,获得来自整行程式码完成(Full Line Code Completion )建议,其仰赖本地端执行的人工智慧模型,官方表示,该功能不会透过网际网路发送用户的程式码。目前支援包括Java、Python与JavaScript等热门语言,之后还会加入C#、Rust和C++。

JetBrains IDE新加入的整行程式码完成功能,相较于既有的AI Assistant,虽然都是由人工智慧提供建议,但是仍有不少相异之处,以高层次来说,AI Assistant具备更全面的功能集,包括智慧聊天功能,而且具有生成测试和文件的能力。AI Assistant需要连线到云端,但是能够提供较高品质且多行的程式码建议,当开发者可以使用AI Assistant,其提供的程式码建议优先度高过整行程式码完成。

整行程式码完成会在开发者使用JetBrains IDE编辑器编写程式码时,根据当前档案上下文,以灰色字样提供单行程式码建议。JetBrains IDE会针对不同程式语言、框架应用不同的模型,这些模型会在本地端运作,其主要目标有两个,第一是提供程式码建议加快开发速度,第二则是相较于AI Assistant,即便是限制连接云端人工智慧解决方案的组织也可以使用。

由于整行程式码完成功能不会透过网路发送任何资料,而且因为在本地端运作,因此不像是AI Assistant还需要支付额外的云端费用。官方也提到,整行程式码完成功能深度整合到IDE中,所有建议都会自动应用适当的格式,例如括号平衡等。

同时,JetBrains还会利用静态分析和程式码理解功能,过滤不正确的建议,每种受支援的语言,都有一组基本的程式码正确性检查规则,例如未解析的参照检查等,确保IDE不会建议不存在的变数和方法,或是具有明显错误的程式码。

而之所以JetBrains在权衡之后仅提供单行建议,官方解释,虽然较长的建议可以减少用户键盘输入的次数,但同时也会增加用户审查的数量。因此经过评估之后,JetBrains决定完成一行程式码,是更为合适的妥协。

JetBrains尽可能缩小语言模型,但是又避免影响程式码建议品质,使用一亿参数的模型,最大上下文为1,536个Token,约为170行程式码。

整行程式码完成目前可应用于Java、Kotlin、Python、JavaScript、TypeScript、CSS、PHP、Go和Ruby,对应的IDE包括IntelliJ IDEA Ultimate、PyCharm Professional、WebStorm、PhpStorm、GoLand和RubyMine。接下来官方还计画扩展支援C#、Rust和C++,因此整行程式码完成也会登入Rider、RustRover和CLion。

发表我的评论
取消评论

表情

您的回复是我们的动力!

  • 昵称 (必填)
  • 验证码 点击我更换图片

网友最新评论