9月7日-8日,相约 2023 腾讯全球数字生态大会!聚焦产业未来发展新趋势! 了解详情
写点什么

Eclipse Code Recommenders 2.0 发布,支持 Crowd

  • 2013-11-04
  • 本文字数:1464 字

    阅读完需:约 5 分钟

在 10 月 31 日的 EclipseCon 上,Codetrails发布了Code Recommenders 2.0 。Code Recommenders 项目源于这样一个想法——在开发人员使用不熟悉或者缺少详细文档的API 时,为他们提供帮助 Code Recommenders 1.0 作为 Eclipse Juno 发行序列的一部分推出,它通过分析代码频率模式并将分析结果展示给开发人员来实现代码推荐功能。

第一个版本有一个嵌入式语料库,其中包含了关于核心 Java 库和多种 Eclipse 开源库的知识。举例来说,该知识库允许智能代码补全,即把当前上下文中最相关的方法推荐给开发人员。

复制代码
<pre>
swtTextWidget = new Text(container, SWT.NONE);
swtTextWidget.</pre>
<div>
<ul><li>setLayoutData(Object layoutData) : void – Control – 80%</li>
<li>setText(String string) : void – Control – 53%</li>
<li>addModifyListener(ModifyListener listener) : void – Text – 38%</li>
</ul></div>

每当开发人员使用支持的 API(如上例中的 SWT)时,Code Recommenders 会自动从 Eclipse 服务器上逐个下载知识库。

Code Recommenders 1.0 的基本代码与 Eclipse UI 的代码紧紧地捆绑在一起,使它很难在 Eclipse IDE 之外使用。Code Recommenders 2.0 已经将推荐引擎从 Eclipse 特有的 UI 组件中重构出来,上述情况不复存在。该工具在 Eclipse UI 中的集成仍然以一种类似的方式出现,但现在可以在 Headless 模式下运行,比如,生成带注释的 JavaDoc 文档:

protected Control createDialogArea(Composite parent)

创建和返回对话框上部(按钮栏上方)的内容。

参见: 重载 createDialogArea 方法的子类通常也会重载下面两个方法:

  • configureShell(Shell): 63%
  • okPressed(): 51%

建立在 Code Recommenders 2.0 基础上的另一项创新是新的上下文相关推荐功能,它考虑了代码补全功能触发点所在的方法的名称。例如,在 setter 或 create 方法中,与 dispose()相比,更可能调用 SWT Text 类的 getText()。而在一个名为 dispose()的方法中,最可能调用的 Text 类的方法是 dispose()。通过选取封闭方法上下文中的第一个单词(使用 lowerCamelCase),推荐准确度可以得到提升。

Snipmatch 是一个正在孵化中的项目,提供一种在一个集中的位置与其他人共享代码片段的方法。它还不是 Code Recommenders 2.0 的一部分,但已经相对稳定,很可能被整合到未来的版本中。

Codetrails Connect 增加 Crowd 支持。该功能建立在 Code Recommenders 2.0 基础上,允许通过私有服务器在团队成员之间或者通过公共服务器在整个社区范围内共享库分析结果。在后一种情况下,开发人员要根据白名单包的列表准确指定需要发送的代码补全事件(在用户从下拉列表中选择一项代码补全时发送)。可以在社区范围内共享事件的默认包列表中包含了多种开源库:

  • android*
  • com.google.*
  • java.*
  • javafx.*
  • javax.*
  • org.apache.*
  • org.eclipse.*
  • org.jboss.*
  • org.w3c.*
  • org.xml.*

因此,使用 Codetrails Connect 插件时不应该对社区服务器暴露任何个人或内部的代码路径。作为选择,开发人员可以使用私有的 Codetrails 服务器,这样自然就可以在团队成员间共享任何内容。

ControlFlow Miner 是一个独立的库,可以分析现有的编译代码库,并提供建议供希望搭建自己服务器的组织使用;Code Trails 公司提供了使用私有服务器的数套方案。将来,Codetrails Connect 插件可能支持其它语言。

读者可以从 Eclipse 市场或者更新站点上安装Code Recommenders 2.0。关于Codetrails Connect 或ControlFlow 服务的更多信息,参见 Codetrails 的网站。

查看英文原文: Eclipse Code Recommenders goes Crowd with 2.0

活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2013-11-04 07:441572
用户头像

发布了 256 篇内容, 共 78.4 次阅读, 收获喜欢 11 次。

关注

评论

发布
暂无评论
发现更多内容

小程序容器技术,App热更新与敏捷开发新方案

Speedoooo

敏捷开发 APP开发 热更新 小程序容器 动态更新

多场景推进 服务网格在联通的落地实践(下)

百度大脑

春分耕种时,AI“现身”田间地头

百度大脑

从 SVN 迁移到极狐GitLab

极狐GitLab

svn 迁移 极狐GitLab

敏捷实践|好的用户故事怎么写?

LigaAI

用户故事 敏捷实践

“StarRocks 极客营” 重磅来袭,和技术大牛一起推开数据库梦想之门!

StarRocks

数据库 大数据 StarRocks

计算机编码规则之:Base64编码

程序那些事

Java base64 nio 程序那些事 3月月更

Redis:在windows环境安装Redis

喀拉峻

redis

Centos7安装Nginx

云原生

nginx centos 部署

网络安全:绕过MSF的一次渗透测试

网络安全学海

黑客 网络安全 信息安全 渗透测试 安全漏洞

科幻变现实:喷下即疗愈,生物3D打印绘就生命密码图

脑极体

743 网络延迟时间

好吃不贵

《软件开发的201个原则》思考:4. 高质量软件是可以实现的

非晓为骁

个人成长 软件工程 软件开发

RocketMQ的tag还有这个“坑”!

中间件兴趣圈

RocketMQ tag 消息过滤

母婴后浪品牌频出,各个细分市场有哪些发展潜力?

易观分析

母婴

使用 ABAP 开发的一个基于 Web Socket 的小工具,能提高程序员日常工作效率

Jerry Wang

自动化 前端开发 websocket 程序员进阶 3月月更

Kubernetes API规范:为optional的字段使用pointer

工程师薛昭君

API Kubernetes 集群

一文搞定 Flutter 底部弹窗实现

岛上码农

flutter 跨平台 ios开发 Android开发 3月月更

TDesign 更新周报(2022年3月第3周)

TDesign

电脑就是我的安全感|ONES 人物

万事ONES

招聘 软件工程师

Git 如何回退代码

秋天

如何在新公司快速落地

Hockor

centos7.6安装MySQL5.7采坑指南

云原生

MySQL 数据库 sql centos

深入浅出事务的本质,附 OceanBase 事务解析14问!

OceanBase 数据库

oceanbase OceanBase 社区版

Python迎来31岁生日,蝉联年度编程语言排行榜冠军

Python猫

Python

Redis集群架构剖析(3):集群处理redis-cli指令

非晓为骁

redis 架构 分布式 redis cluster

恒源云(GpuShare)_MaskFormer:语义分割可以不全是像素级分类

恒源云

语义分割 像素分割 MaskFormer

收藏很久的资源整合网站,一个网站一个世界

小炮

数字化原住民|ONES 人物

万事ONES

软件 招聘 软件工程师

一周热点回顾|虎符交易所上线多链合一;俄央行称加强监控加密资产等P2P交易

区块链前沿News

区块链 虎符交易所

小程序电商微服务设计

唐尤华

架构实战营

  • 扫码添加小助手
    领取最新资料包
Eclipse Code Recommenders 2.0发布,支持Crowd_语言 & 开发_Alex Blewitt_InfoQ精选文章