智能编码助手TONGYI Lingma

今年百度、华为、阿里云都分别发布了对标Github Copilot的智能编码插件,谁能成为平替Github Copilot的国产工具呢?有句话说的好,“始于颜值,陷于才华”,所以今天主要为大家介绍一下各自插件的主要功能以及在IntelliJ IDEA上的UI颜值,至于每个插件的“才华”,将在后续的文章中为大家介绍。

Copilot:GitHub Copilot是由GitHub与OpenA合作开发的一款革命性的智能代码补全和生成工具,旨在帮助开发人员更高效、更准确、更快地编写代码,这款由人工智能驱动的A|编程助手与程序员常用的代码编辑器无缝集成,超过数百万人在使用,对全球各地的开发者来说都是代码神器和得力助手。

1. 简介
       通义灵码,阿里推出免费AI编程工具,基于通义大模型,国内Copilot平替产品,提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等能力,并针对阿里云 SDK/OpenAPI 的使用场景调优,助力开发者高效、流畅的编码。

2.功能介绍

  • 行级/函数级实时续写
  • 自然语言生成代码;
  • 单元测试生成;
  • 代码注释生成;
  • 代码解释;
  • 研发领域自由问答;
  • 异常报错智能排查(Java);
  • 双模引擎,一键切换
  • 支持 Java、Python、Go、C#、C/C++、JavaScript、TypeScript、PHP、Ruby、Rust、Scala、Kotlin 等主流编程语言。
  • 支持 IDE 及操作系统
  •  JetBrains IDEs:版本IntelliJ IDEA、PyCharm、GoLand、WebStorm 等 2020.3 及以上,操作系统:Windows 7 及以上、macOS、Linux
  •   Visual Studio Code:版本1.75.1 及以上,操作系统:Windows 8.1 及以上、macOS、Linux

详见:通义灵码产品介绍_智能编码助手_AI编程_云效(Apsara Devops)-阿里云帮助中心

3. 安装(注意:通义灵码需要登录阿里云后方可使用,如果你尚未拥有一个阿里云账号,可前往注册阿里云账号)

3.1 在线版安装

(1)打开IDEA,File-->Settings-->Plugins,切换到Marketplace选项卡下,输入“TONGYI ”进行搜索,找到TONGYI Lingma插件,Install安装即可

(2)Install完成后会变成Installed,此时只需要点击OK,等待插件安装完成即可

(3)点击“登录”,出现“通义灵码协议”对话框,选择“同意并登录”,它会默认打开登录地址:

退出通义灵码登录说明_智能编码助手_AI编程_云效(Apsara Devops)-阿里云帮助中心

3.2 离线版安装

参考:通义灵码下载和安装手册_智能编码助手_AI编程_云效(Apsara Devops)-阿里云帮助中心

4. 使用

4.1 行级/函数级实时续写

根据当前语法和跨文件的代码上下文,实时生成行、函数建议代码:在 IDE 编辑器区进行代码编写时,在开启自动云端生成的模式下,通义灵码会根据当前代码文件及相关代码文件的上下文,自动为你生成行级/函数级的代码建议,此时你可以使用快捷键采纳、废弃、查看不同的代码建议,同时,当你在编码的过程中,也可以通过快捷键 ⌥ P 手动触发生成代码建议,具体如下:

实操:

按下Tab键,即可将生成的代码应用到自己编写代码的位置,其他调整代码语法如下:

接受行间代码建议Tab(macOSTab(Windows
废弃行间代码建议escesc
查看上一个行间推荐结果 [Alt [
查看下一个行间推荐结果 ]Alt ]
手动触发行间代码建议 PAlt P
4.2 自然语言生成代码

通过自然语言描述你想要的功能,可直接在编辑器区生成代码。即用自己的语言描述出要实现的功能,通义灵码会按照功能进行代码自动补全,通义灵码支持两种方式:

  • 在编辑器中,直接通过注释的方式描述你需要的功能,直接在编辑器中生成代码建议,单击 Tab 可直接采纳 ;
  • 在智能问答中,直接描述你需要的功能,智能问答助手将为你生成代码建议,并支持一键插入或复制代码。

示例:

实操:

4.3 单元测试生成

支持根据 JUnit、Mockito、Spring Test、unit test、pytest 等框架生成单元测试。

示例:

实操:

4.4 代码注释生成

示例:

实操:

4.5 代码解释

 

总结:
A. 选中代码后,支持生成单元测试、代码注释或代码解释,有 3 种触发方式:

  • 在编辑器中,单击右键找到通义灵码功能操作入口,单击对应功能操作;
  • 在智能问答中,直接单击对用功能操作;
  • 在智能问答中,使用 / 查看快捷指令,单击生成单元测试指令。

B.生成回答后,一键采纳和追问

单击对应功能操作后,在智能问答区中,通义灵码为你所选代码生成相关回答,此时你可以根据需求进行操作,相应功能的对应操作如下:

生成单元测试:

采纳单元测试代码建议:支持一键插入、复制、或者新建代码文件,可快速采纳生成的单元测试代码建议;

更换单元测试框架:目前提供基于 JUnit、Mockito、Spring Test、unit test、pytest 等框架生成单元测试代码建议,在回答完成后,可以根据需要切换框架重新生成。

生成代码注释:

采纳代码注释建议:支持一键插入、复制,可快速采纳生成的代码注释建议;
查看 Diff:单击查看 Diff 按钮,将快速唤起 IDE Diff 查看窗口,快速了解建议和源代码的变更;
重试、使用英文等与代码注释相关的追问操作。

解释代码:支持重试、更详细、更简单、中文/英文解释的追问。

C. 函数的行间快捷入口
当需要针对一个方法或功能实现生成单元测试、代码注释、代码解释时,无需选中代码,可直接单击函数上方的快捷入口触发相关功能操作。

Tips:目前该功能 Visual Studio Code 上支持语言:Java、Python、Go、JS/TS、C/C++,JetBrains IDEs 支持语言:Java、Python。

4.6 研发领域自由问答

遇到疑问、技术难题时,一键唤起通义灵码,无需离开 IDE 客户端,即可快速获得答案和解决思路。聚焦研发领域知识的问答,帮助开发者快速解决问题。

  • 选中代码,开始输入你的问题,通义灵码将围绕着选中代码与你开展对话;
  • 精准表达问题,以及给出相对详细的上下文输入, 比如选中的代码、日志、报错信息等;
  • 多次互动,告诉通义灵码,所给出代码建议或回答是否满足你的预期,或生成内容存在的具体瑕疵,通义灵码也会不断改进。
开始自由问答

编码遇到问题,缺乏具体解决思路时,单击 IDE 侧边工具导航或使用  L唤起通义灵码智能问答助手,无需离开 IDE 客户端,即可快速获得答案和解决思路。

多种快捷指令问答

在智能问答输入框中,预置了多个常用快捷指令,输入 / 即可看到相关快捷指令:

  • /help:学习如何使用通义灵码;
  • /explain code:解释选中的代码;
  • /generate unit test:为选中的代码生成单元测试;
  • /generate comment:为选中的代码生成方法注释或行间注释;
  • /clear context:当你在会话中时,单击后将清空上下文记忆

异常报错排查(IntelliJ IDEA)

当运行出现异常报错时,在异常输出窗口中,可通过通义灵码的快捷操作按钮,单击后,通义灵码将结合运行代码、异常堆栈等报错上下文,快速给出排查思路或修复建议。

IntelliJ IDEA 中技术文档和代码片段搜索

示例:

实操:

4.7 异常报错智能排查(Java)

当运行出现异常报错时,一键启动报错排查的智能答疑,可结合运行代码、异常堆栈等报错上下文,快速给出排查思路或修复建议代码。

示例:

实操:

4.8 双模引擎,一键切换

支持极速离线模型(Java/Python)、云端大模型两种代码补全方式,极速离线模型拥有单行补全的能力,云端大模型具备函数生成的能力。在你需要的时候,可一键切换,满足不同网络环境、不同补全强度的场景诉求。

示例:

4.9 配置指南
重新绑定快捷键

步骤 1:打开 JetBrains IDE 偏好设置(实际IDEA:File->Settings...), IntelliJ IDEA 为例:

步骤 2:在设置窗口中单击快捷键,输入(英文:Panel)后搜索,找到TONGYI Lingma ,右键后单击修改键盘快捷键。在弹出的窗口中输入用于命令的按键后,单击确定即可。

启用或禁用行间生成

方法 1:单击状态栏的通义灵码图标,在弹出的窗口中可快速启用或禁用行间生成功能:

  • 可以配置本地离线模型、云端大模型是否启用;
  • 开启本地离线模型、云端大模型同时开启的情况下,行间生成时优先推荐云端大模型的代码建议;

方法 2:打开插件设置页面,支持启用或禁用行间生成,以及设置生成的长度。

启用或禁用函数的行间快捷入口

打开插件设置页面,支持启用或禁用函数的行间快捷入口。

4.10 查看帮助和分享反馈
查看使用帮助

通义灵码的智能问答窗口中,可以通过 2 种方式查看使用帮助:

  1. 通过智能问答的 /help 指令快捷查看使用帮助;

  1. 单击智能问答窗口的帮助文档入口,可以快速来到当前帮助文档知识库。

反馈回答质量

在智能问答中,你可以对通义灵码所生成的回答内容进行评价,支持点赞和点踩,以不断优化回答效果。

使用问题反馈

当你在使用的过程有任何疑问、优化建议、功能诉求等,均可在通义灵码的智能问答窗口单击提交反馈,即可前往阿里云开发者社区-通义灵码问答专区向我们提出问题。

参与体验调研

为了给你提供更好的智能编码体验,我们也期待收到你的使用体验反馈、优化建议以及你的期待,我们会不断努力和优化产品体验。

4.11 常见问题

详见:通义灵码常见问题_智能编码助手_AI编程_云效(Apsara Devops)-阿里云帮助中心

  • 11
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值