在IntelliJ IDEA上使用通义灵码(TONGYI Lingma)

参考链接:

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

  • 【IDEA如何使用通义灵码?】_idea 通义灵码-CSDN博客

1. 简介

1.1 定义

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

1.2 功能介绍

  • 行级/函数级实时续写;

  • 自然语言生成代码;

  • 单元测试生成;

  • 代码注释生成;

  • 代码解释;

  • 研发领域自由问答;

  • 异常报错智能排查(Java);

  • 双模引擎,一键切换

  • 支持 Java、Python、Go、C#、C/C++、JavaScript、TypeScript、PHP、Ruby、Rust、Scala、Kotlin 等主流编程语言。

  • 支持 IDE 及操作系统

    • JetBrains IDEs

      • IDE 版本:IntelliJ IDEA、PyCharm、GoLand、WebStorm 等 2020.3 及以上

      • 操作系统:Windows 7 及以上、macOS、Linux

    • Visual Studio Code

      • IDE 版本:1.75.1 及以上

      • 操作系统:Windows 8.1 及以上、macOS、Linux

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

2. 安装

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

2.1 在线版安装

(1)打开IDEA,File-->Settings...

(2)找到Plugins,切换到Marketplace选项卡下,输入“TONGYI ”或“TONGYI Lingma”进行搜索,找到TONGYI Lingma插件,Install安装即可

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

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

使用阿里云主账号或者RAM子账号登录均可:

登录成功页面如下:

再切换回IDEA,在右下角点击通义灵码图标,出现已登录,表示账号登录成功了,接下来就可以使用啦:

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

3.2 离线版安装

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

3. 使用

3.1 行级/函数级实时续写

       根据当前语法和跨文件的代码上下文,实时生成行、函数建议代码。

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

示例:

image.png

image.png

实操:

按下Tab键,即可将生成的代码应用到自己编写代码的位置。

其他调整代码语法如下:

macOSWindows
接受行间代码建议TabTab
废弃行间代码建议escesc
查看上一个行间推荐结果 [Alt [
查看下一个行间推荐结果 ]Alt ]
手动触发行间代码建议 PAlt P

3.2 自然语言生成代码

通过自然语言描述你想要的功能,可直接在编辑器区生成代码,编码心流不间断。即用自己的语言描述出要实现的功能,通义灵码会按照功能进行代码自动补全。

通义灵码支持两种通过自然语言描述生成代码的方式:

  1. 在编辑器中,直接通过注释的方式描述你需要的功能,直接在编辑器中生成代码建议,单击 Tab 可直接采纳 ;

  2. 在智能问答中,直接描述你需要的功能,智能问答助手将为你生成代码建议,并支持一键插入或复制代码

示例:

image.png

image.png

实操:

3.3 单元测试生成

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

示例:

image.png

实操:

3.4 代码注释生成

一键生成方法注释及行间注释,节省你写代码注释的时间,并能够有效提升代码可读性。

示例:

image.png

实操:

3.5 代码解释

覆盖各种编程语言,选中代码后可自动识别编程语言并生成代码解释。跨越语言的边界,让你阅读代码更高效。

示例:

image.png

实操:

总结:
A. 选中代码后,一键触发功能

当你选中的代码后,支持生成单元测试、代码注释或代码解释,有 3 种触发方式:

  1. 在编辑器中,单击右键找到通义灵码功能操作入口,单击对应功能操作;

  2. 在智能问答中,直接单击对用功能操作;

  3. 在智能问答中,使用 / 查看快捷指令,单击生成单元测试指令。

image.png

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

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

  • 生成单元测试:

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

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

image.png

  • 生成代码注释:

    • 采纳代码注释建议:支持一键插入、复制,可快速采纳生成的代码注释建议;

    • 查看 Diff:单击查看 Diff 按钮,将快速唤起 IDE Diff 查看窗口,快速了解建议和源代码的变更;

    • 重试、使用英文等与代码注释相关的追问操作。

image.png

  • 解释代码:

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

image.png

C. 函数的行间快捷入口

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

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

image.png

3.6 研发领域自由问答

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

使用通义灵码的智能问答时,为了通义灵码与你的对话能够更友好、高效,希望你能够在输入问题时:

  • 选中代码,开始输入你的问题,通义灵码将围绕着选中代码与你开展对话;

  • 精准表达问题,以及给出相对详细的上下文输入, 比如选中的代码、日志、报错信息等;

  • 多多互动,告诉通义灵码,所给出代码建议或回答是否满足你的预期,或生成内容存在的具体瑕疵,通义灵码也会不断改进。

开始自由问答

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

image.png

多种快捷指令问答

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

  • /help:学习如何使用通义灵码;

  • /explain code:解释选中的代码;

  • /generate unit test:为选中的代码生成单元测试;

  • /generate comment:为选中的代码生成方法注释或行间注释;

  • /clear context:当你在会话中时,单击后将清空上下文记忆

image.png

新建会话

在智能问答窗口中,单击右上角的新建按钮即可新建会话窗口,单击后会话窗口将会到默认状态。

image.png

异常报错排查(IntelliJ IDEA)

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

image.png

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

在 IntelliJ IDEA 客户端内,如果你在编码过程中有需要进行技术资料检索、代码片段搜索的诉求,无须离开 IDE,单击侧边导航的通义灵码,单击搜索,即可开始搜索。

image.png

示例:

image.png

实操:

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

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

示例:

image.png

实操:

3.8 双模引擎,一键切换

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

示例:

image.png

3.9 配置指南

查看快捷键
操作macOSWindows
打开/关闭智能问答窗口 LCtl Shift L
接受行间代码建议TabTab
废弃行间代码建议escesc
查看上一个行间推荐结果 [Alt [
查看下一个行间推荐结果 ]Alt ]
手动触发行间代码建议 PAlt P
重新绑定快捷键

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

image.png

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

image.png

启用或禁用行间生成

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

  • 可以配置本地离线模型、云端大模型是否启用;

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

image.png

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

image.png

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

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

3.10 查看帮助和分享反馈

查看使用帮助

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

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

image.png

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

image.png

反馈回答质量

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

image.png

使用问题反馈

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

image.png

参与体验调研

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

image.png

3.11 常见问题

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

4. 总结

4.1 打开工具

  • IDEA操作页面右下角

  • IDEA右侧插件栏

  • Ctrl+Shift+L:唤起只能问答

  • Ctrl+Shift+S:搜索代码/文档

4.2 快捷键

操作macOSWindows
打开/关闭智能问答窗口 LCtl Shift L
接受行间代码建议TabTab
废弃行间代码建议escesc
查看上一个行间推荐结果 [Alt [
查看下一个行间推荐结果 ]Alt ]
手动触发行间代码建议 PAlt P

4.3 快捷指令

  • /help:学习如何使用通义灵码;

  • /explain code:解释选中的代码;

  • /generate unit test:为选中的代码生成单元测试;

  • /generate comment:为选中的代码生成方法注释或行间注释;

  • /clear context:当你在会话中时,单击后将清空上下文记忆

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/611303.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实现多级缓存(Redis+Caffeine)

文章目录 多级缓存的概述多级缓存的优势 多级缓存的概述 在高性能的服务架构设计中,缓存是一个不可或缺的环节。在实际的项目中,我们通常会将一些热点数据存储到Redis或MemCache这类缓存中间件中,只有当缓存的访问没有命中时再查询数据库。在…

【UE Niagara学习笔记】06 - 制作火焰喷射过程中飞舞的火星

在上一篇博客(【UE Niagara学习笔记】05 - 喷射火焰顶部的蓝色火焰)的基础上继续实现喷射火焰的火星的效果。 目录 效果 步骤 一、创建材质实例 二、添加新的发射器 2.1 设置粒子材质 2.2 设置发射器持续生成粒子 2.3 设置粒子生成数量 2.4 设…

前端项目构建打包生成Git信息文件

系列文章目录 TypeScript 从入门到进阶专栏 文章目录 系列文章目录前言一、前端项目构建打包生成Git信息文件作用二、步骤1.引入相关的npm包1.1. **fs** 包1.2. **child_process** 包1.3. **os** 包 (非必须 如果你想生成的文件信息中包含当前电脑信息则可用)1.4. **path** 包…

MySql -数据库基本概念

一、数据库的基本概念 1.为什么要学数据库? 之前我们如果想将一些数据实现永久化存储,可以怎么做呢?没错。使用IO流的技术将数据保存到本地文件中但是接下来我有这样一个需求:将下面的user.txt文件中的王五年龄修改为35 张三 2…

视频智能剪辑方案,企业视频制作新时代

视频已经成为了人们获取信息、娱乐和学习的重要方式。然而,传统的视频制作过程繁琐且耗时,这对于许多企业来说无疑是一个巨大的挑战。为了解决这个问题,美摄科技凭借其在机器学习、深度学习等AI算法方面的深厚积累,自主研发了一套…

23111 IO进程线程 day8

使用信号灯集完成三个进程的同步&#xff0c;A进程输出字符A&#xff0c;B进程输出字符B&#xff0c;C进程输出字符C&#xff0c;要求输出结果为ABCABCABCABCABC... #include<myhead.h> #include "sem.h"int main(int argc, const char *argv[]) {pid_t pid…

Linux的网络服务DHCP

一.了解DHCP服务 1.1 DHCP定义 DHCP&#xff08;动态主机配置协议&#xff09;是一个局域网的网络协议。指的是由服务器控制一段IP地址范围&#xff0c;客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。默认情况下&#xff0c;DHCP作为Windows Server的一个服…

【开发小程序多少钱?智创开发】

开发一个小程序费用主要看做什么和怎么做&#xff1f; 第一部分&#xff1a;做什么&#xff1f; 做什么是指功能部分&#xff0c;开发的功能不一样&#xff0c;耗时也就不一样&#xff0c;价格自然也就不一样了。就好比买房&#xff0c;套二的公寓和别墅价格自然差距很大。所…

软光栅透视校正插值写好了

我这文章写的六,自己不写什么过程,直接发张图片.我发一下我看的引用. 透视矫正插值 Perspective-Correct Interpolation 计算机图形学六&#xff1a;正确使用重心坐标插值(透视矫正插值(Perspective-Correct Interpolation))和图形渲染管线总结 一开始写错了,改了大概两天改…

代理IP连接不上/网速过慢?如何应对?

当您使用代理时&#xff0c;您可能会遇到不同的代理错误代码显示代理IP连不通、访问失败、网速过慢等种种问题。 在本文中中&#xff0c;我们将讨论您在使用代理IP时可能遇到的常见错误、发生这些错误的原因以及解决方法。 一、常见代理服务器错误 当您尝试访问网站时&#…

Golang Web框架性能对比

Golang Web框架性能对比 github star排名依次: Gin Beego Iris Echo Revel Buffalo 性能上gin、iris、echo网上是给的数据都是五星&#xff0c;beego三星&#xff0c;revel两星 beego是国产&#xff0c;有中文文档,文档齐全 根据star数&#xff0c;性能&#xff0c;易用程度…

UGUI Image图像控件替换图片

代码为探索而来&#xff0c;不是最优代码&#xff0c;请按需使用。 Unity3d引擎版本&#xff1a;Uinty3d 20233.2.3f1 补充一下图片如何改成Texture2D&#xff1a; 1、将图片导入unity。 2、选择图片&#xff0c;按下图操作&#xff0c;点击应用即可。 脚本代码&#xff1a…

听劝,年度规划有它真的很必要!

2024年的时间进度条已走过一周&#xff0c;完成全年的1/52。 新年的flag悄然立下&#xff1a;愿逆风如解意&#xff0c;税后八个亿。 在不确定的世界中&#xff0c;发财暴富终归是确定的目标。 相比2023年的卷&#xff0c;年底的即兴生活正在悄悄上演&#xff0c;上一秒还在…

Unity中URP下实现能量罩(交接处高亮)

文章目录 前言一、交接处高亮 原理1、 我们先用一个球作为能量罩、一个Cube 和 一个 椭球 作为与能量罩交接的物体2、 这是我们目前场景的深度图3、使能量罩为 半透明渲染队列 且 关闭深度写入 不渲染深度图 二、交接处高亮 实现1、得到深度图2、在片元着色器中&#xff0c;对深…

Python冒号的解释

1. “没什么首次没有为第二个&#xff0c;跳了三个”。它得到的切片序列的每一个第三个项目。 扩展片是你想要的。新在Python 2.3 2. Python的序列切片地址可以写成[开始&#xff1a;结束&#xff1a;一步]和任何启动&#xff0c;停止或结束可以被丢弃。a[::3]是每第三个序列。…

element-plus里el-date-picker日期选择器,默认值不显示的问题

官网文档给出的示例默认值也是没有没显示的。 找了很多方法&#xff0c;最终是给v-model"defaultTime"绑定初始值&#xff0c;如下代码&#xff0c;需要的可以改一下 <el-date-picker class"top_select" v-model"defaultTime" type"da…

解决:接口中返回的文本不能保持原本格式也无法换行

一、问题&#xff1a; 原本传入的文本是有换行的&#xff0c;但是用div展示接口返回的文本&#xff0c;所示内容没有保持原有格式没达到换行效果 以下是传入到接口的文本格式 使用div标签展示接口返回的文本&#xff0c;但并没有保持原有格式&#xff0c;文本也没换行 <di…

做科技类的展台3d模型用什么材质比较好---模大狮模型网

对于科技类展台3D模型&#xff0c;以下是几种常用的材质选择&#xff1a; 金属材质&#xff1a;金属材质常用于科技展台的现代感设计&#xff0c;如不锈钢、铝合金或镀铬材质。金属材质可以赋予展台一个科技感和高档感&#xff0c;同时还可以反射光线&#xff0c;增加模型的真实…

批量多目录将任意文件转为base64的效率工具

本篇文章主要介绍一款编程工作中日常会使用到的批量多目录将任意文件转为base64的效率工具&#xff0c;他能够帮助你快速将任何格式的文件base64化&#xff0c;并转为json、xml、yaml等数据格式使用。 日期&#xff1a;2024年1月10日 获取地址&#xff1a;https://download.csd…

训练自己的GPT2

训练自己的GPT2 1.预训练与微调2.准备工作2.在自己的数据上进行微调 1.预训练与微调 所谓的预训练&#xff0c;就是在海量的通用数据上训练大模型。比如&#xff0c;我把全世界所有的网页上的文本内容都整理出来&#xff0c;把全人类所有的书籍、论文都整理出来&#xff0c;然…