没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:胡欣星|2025-01-20 16:26:31.060|阅读 12 次
概述:JetBrains团队通过改进本地和云端AI代码补全功能,提高了补全的准确性和速度。新增的高亮显示、多行补全和项目上下文感知等功能优化了开发者体验,未来将支持更多语言并进一步提升质量。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
代码补全一直是JetBrains IDE的一个亮点功能,帮助开发者更快速、智能地编写代码,并减少错误。但是,如果它能够做得更多呢?如果它不仅能预测下一个元素,还能预测整行代码,甚至是完整的代码块呢?这正是我们一直在努力实现的目标。随着我们在AI领域的投入,代码补全功能已经变得比以往更加强大——更精确、更快速、也更智能。 小编将分享JetBrains IDE中AI代码补全背后的技术,它如何随着时间的推移不断演化,以及未来的一些令人激动的发展。
JetBrains提供了两种AI代码补全的实现方式:
这两种方法共同确保开发者可以在需要时获得快速的、具备上下文感知的本地建议,以及在更复杂情境下所需的强大云端支持。
JetBrains团队在设计时特别关注建议的质量与速度。团队知道,开发者需要快速而准确的补全来保持编码流程的畅通。因此,系统经过精心设计,避免了过于嘈杂和干扰的补全,提供简洁、相关的建议,让开发者在需要时立刻得到帮助。
自从2023.3版本和2024.1版本发布以来,JetBrains团队的代码补全产品性能保持稳定,甚至有所提升。每一天都有数百万次补全请求,接受率达到35%以上,且显式取消率仅为5%。这些数据使得这款产品成为基于IntelliJ平台的IDE中表现最好的代码补全工具之一。
2024.2版本主要聚焦于用户体验(UX)改进,进一步扩展了整个流程。此外,JetBrains团队还优化了补全质量和错误代码过滤功能,并为Rider、CLion、RustRover和Terraform等工具提供了支持。
关于这一话题可以说的内容太多了,所以JetBrains团队只总结一下用户反馈中的关键问题,然后讨论如何解决这些问题。
1. 补全触发频率有限
在之前的版本中,JetBrains团队采取了保守的方式,只有用户按下Enter键时才触发补全。这种设计是由于大型语言模型(LLM)处理时需要较长的计算时间。然而,团队意识到这种方式并不理想,因为开发者在编码时并不总是按Enter键——实际上,一位开发者每天平均按Enter键的次数约为70次。
2. 难以阅读灰色的大段多行建议
想象一下,开发者正在编写一个简单的小函数,而补全却给出了非常庞大的代码块,这使得开发者难以看到光标后的下一行。长时间的补全需要花费更多时间来审阅和整合,容易打断工作流。
3. 补全建议不可预测
除了上述问题,模型有时会给出不符合开发者期望的建议。虽然大多数建议是准确的,但有时会出现意外的枚举变量创建、错误的中间部分或更加“对话式”的回答。大型LLM需要几秒钟来生成建议,这会导致明显的延迟,而代码补全必须是快速响应的。
JetBrains团队选择了“从头开始重写”这种传统的方式,毕竟团队成员都是开发者!
实际上,JetBrains团队决定从头开始重写基于云的代码补全,使用与本地完整行代码补全相同的IDE管道,并采用了JetBrains内部开发的专门为代码补全训练的LLM。这一过程充满挑战,但最终团队成功解决了上述所有问题!
自2024.2版本起,JetBrains团队在AI助手中引入了全新管道和内部开发的LLM,具体如下:
1. 高亮显示而非灰色文本
为了简化阅读由模型生成的大段代码,JetBrains团队现在将建议的代码进行高亮显示。这一改动旨在减少开发者的认知负担。通过语法感知高亮显示,建议的代码现在与手写代码的样式一致,更容易快速浏览和评估。
2. 更智能、更快速的JetBrains内部LLM
虽然大型模型在处理多种任务时表现更好,但针对特定任务训练的定制化模型通常能提供更好的性能。这些定制模型具有更多的控制能力,无需提示工程,并且延迟更低。JetBrains团队通过训练一个相对较小、专门化的模型,并增强推理机制,显著提升了代码补全的准确性和速度。
3. 更多位置和更谨慎的单行/多行选择
为了增加补全建议的显示数量,现在补全可以在输入时触发,而不仅仅是按Enter键时。此外,JetBrains团队限制了多行补全的显示位置。通过采用更为保守的、基于语言的策略,团队确保了基于云的代码补全仍然直观易用,同时保持了生成代码的总量。
4. 完全重做的多行补全UX
JetBrains团队完全重新设计了多行补全的显示方式,特别是在与IDE内弹出补全结合时(这是以前无法实现的)。
5. 部分接受
这是许多用户一直在呼吁的功能!现在,开发者可以按单个令牌或单行逐步接受补全建议。
6. 改进的项目感知和上下文收集
通过离线和在线评估不同的检索增强生成(RAG)策略,JetBrains团队选择了稳定且可预测的方案。补全建议现在充分利用整个项目的上下文,提供相关且高质量的代码块。
总的来说,效果相当不错!基于2024年8月收集的用户反馈和使用数据,JetBrains团队看到了一些积极的结果。以下是Java、Python和Kotlin的三个不同版本的比较:
改进表现:
- 新版云补全的接受率通常高于本地完整行补全,并且始终优于旧版云补全。
- 用户明确取消新版云补全的频率比之前低很多
- 与旧系统相比,从开始输入到显示建议的整体补全延迟也大大缩短。
- 2024.2 中显示的每日补全次数已远远超过 2024.1 版本中的次数。 通过生成更加相关的建议,它的表现始终优于速度更快的本地模型。
- etBrains团队看有意缩短了新版云补全的平均补全长度。 他们会更加慎重地提供多行补全,确保不会干扰您阅读代码或思考解决方案。 也计划在测试过程中完全确认多行建议会得到正面评价后逐步在更多位置显示多行建议。
尽管如此,新版云补全的平均建议长度有所缩短。JetBrains团队谨慎地显示多行补全,以确保在开发者查看代码或思考解决方案时不会打扰到他们。团队计划在未来的更新中逐步增加多行建议的显示位置,并确保它们能得到用户的积极反馈。
JetBrains团队将继续改进本地和云补全,增加云端的多行建议功能,将多行补全引入本地补全,支持更多语言,提升模型质量,优化用户体验等等。想要获取完整版试用,请联系在线客服~
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn
本文将手把手教你如何用VMProtect对这一关键函数进行虚拟化保护,大幅提升代码安全性,让逆向工程攻击者无从下手!
在 PDF 文档中添加页眉和页脚有助于保持一致的版式和专业的外观。本文将介绍如何使用 Spire.PDF for Java,通过 Java 在现有的 PDF 文档中添加页眉和页脚,并提供详细的步骤和代码示例。
对于开发人员来说,由于自动化和定制化,通常首选使用编程方法来去除 PDF 中的水印。Aspose.PDF 提供可靠且可定制的解决方案,可无缝集成到各种应用程序中,确保准确性并保持文档完整性。
在 Web 环境中,将 PDF 转换为 HTML 有助于提升内容的可访问性和交互性。本文将介绍如何在 React 中使用 JavaScript 和 Spire.PDF for JavaScript 库将 PDF 转换为 HTML。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@wqylolg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢