在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.rhkb.cn/news/235426.html

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

相关文章

【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax类图

【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax概述 【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax快速入门 【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax类图 【大数据进阶第三阶段之Datax学习笔记】使用…

密码学(一)

文章目录 前言一、Cryptographic Primitives二、Cryptographic Keys2.1 Symmetric key cryptography2.2 asymmetric key cryptography 三、Confidentiality3.1 Symmetric key encryption algorithms3.2 asymmetric key block ciphers3.3 其他 四、Integrity4.1 secure hashing …

【安卓模拟器】雷电模拟器9 v9.0.64 绿色版(免安装版,一键绿化)

下载地址 极核GetShell 简介 雷电模拟器9是一款安卓模拟器,支持安卓9版本。安卓模拟器除了能够运行游戏娱乐,对于渗透测试&移动安全测试也有举足轻重的作用。 软件截图 绿化教程 视频教程 下载地址提供了视频绿化教程,有需要的可以…

微信小程序Burp抓包

方法有很多,工具也各有差异,主要是学代理流量的思路 Burp流量代理工具小程序 一、Burp证书导入 1、开启代理 开启浏览器的代理,火狐推荐FoxyProxy,Google推荐SwitchyOmega,设置代理为127.0.0.1:8080。 2、下载证书…

GSEQ行为序列分析软件学习汇总

0、问题描述: 1、GSEQ软件是做什么的?2、GSEQ软件如何使用?2、GSEQ软件前期需要在“记事本”中编写“程式码”需要将所有行为数据编码之后,将编码行为序列粘贴到GSEQ软件中去,如果数据量很大,这个过程就非…

构建中国人自己的私人GPT

创作不易,请大家多鼓励支持。 在现实生活中,很多人的资料是不愿意公布在互联网上的,但是我们又要使用人工智能的能力帮我们处理文件、做决策、执行命令那怎么办呢?于是我们构建自己或公司的私人GPT变得非常重要。 先看效果 一、…

C语言之扫雷小游戏的实现【含递归展开】

文章目录 前言一、扫雷游戏代码设计思路二、设计扫雷代码1.创建菜单函数2.实现9x9扫雷3.初始化棋盘4.打印棋盘5.随机布置雷的位置6.排查雷的信息7.递归展开 三、源码1.新建一个test.c源文件2.新建一个game.c源文件3.创建一个game.h头文件 前言 扫雷游戏是1992年发行的一款大众类…

Salesforce生态系统2024年就业趋势

对于Salesforce专业人士来说,新一年的开始都是激动人心的。但2023年仍存在显著挑战,经济技术低迷导致裁员,以及Salesforce生态系统增长放缓等等,这些挑战将延续到2024年。 回顾2023年 2023年,Salesforce生态系统以及…

ant design vue Tree组件叶子节点横向排列

antdesignvue的树形组件要实现组件叶子节点横向排列有点坑,没有 配置属性,需要自己想办法。 要实现的效果 看tree组件的dom结构,父元素flex竖向布局,子项不论节点层级都在同一层!!! 难点在于想…

windows下使用PowerShell切割大数据文件

测试文件为24.4G文件 打开PowerShell窗口,使用以下命令 $filePath 为指向文件路径 $outputPath 输出到指定文件夹 $chunkSize 单个文件控制切割大小 将命令修改完后,直接粘贴到powershell窗口,点击回车即可进行切割 $filePath "D:\…

使用metricbeat 监控多ES集群

背景 ES 本身自带 监控,属于xpack 中的内容,为商业版,需要收费; 并且 monitor 功能必须要在security开启后才能使用,还有就是集群监控自己,将采集到的性能数据保存到本集群,这是一个比较差的设…

二游玩家“清算”厂商

​很少有哪款游戏,能像《少女前线2:追放》一样,在还没上线时就持续不断地遭遇这么长的节奏。 从四测开始,游戏就被爆出“删除硬盘”事件以及剧情上的巨大负面争议。 然后,在官方连续三次公开致歉后,于游戏…

一个Java程序员解决一个BUG的艰难历程

问题背景 昨天,项目经理半夜给我发了一个BUG,说是在集成平台上面,我们的应用无法跳转,让我今天早上看看。应用是做了单点登录,登录用户从第三平台通过接口获取信息的,我猜测大概率是用户获取不到&#xff…

目标检测-One Stage-EfficientDet

文章目录 前言一、EfficientNetEfficientNet-B0 baselineMBConv 参数优化EfficientNet B0-B7 参数 二、EfficientDetBiFPN复合缩放方法 总结 前言 EfficientDet是google在2019年11月发表的一个目标检测算法系列,其提出的背景是:之前很多研究致力于开发更…

k8s的存储卷

存储卷------数据卷 把容器内的目录,和宿主机的目录进行挂载。 容器在系统上的生命周期是短暂的,delete,k8s用控制(deployment)创建的pod,delete相当于重启,容器的状态也会回复到初始状态。 …

C# .Net学习笔记—— 异步和多线程(await/async)

一、介绍 1、控制台测试await/async 2、C# 5.0 .Net framework4.5 CLR4.0 以后才有,本身是一种语法糖 二、基本测试 1、不加await测试。 private async static Task TestAsync() {Log.Info($"当前主线程id{Thread.CurrentThread.ManagedThreadId}"…

STM32深入系列02——BootLoader分析与实现

文章目录 1. STM32程序升级方法1.1 ST-Link / J-link下载1.2 ISP(In System Programing)1.3 IAP(In Applicating Programing)1.3.1 正常程序运行流程1.3.2 有IAP时程序运行流程 2. STM32 Bootloader实现2.1 方式一:Boo…

掌握视频节奏,玩转剪辑艺术!,轻松调整视频播放速度与秒数的技巧大揭秘

你是否经常觉得视频播放得太快或太慢,无法满足你的观看需求?或者想要控制视频的长度,却不知道该如何下手?今天,我们将为你揭秘几种简单又实用的方法,让你轻松调整视频的播放速度和秒数! 首先&a…

ROS2学习笔记一:安装及测试

目录 前言 1 ROS2安装与卸载 1.1 安装虚拟机 1.2 ROS2 humble安装 2 ROS2测试 2.1 topic测试 2.2 小海龟测试 2.3 RQT可视化 2.4 占用空间 前言 ROS2的前身是ROS,ROS即机器人操作系统(Robot Operating System),ROS为了“提高机器人…

JS 函数

函数就是封装了一段可以被重复执行调用的代码块。目的:让大量代码重复利用 1、声明函数 方式一:利用函数关键字自定义函数(命名函数) function 函数名(){//函数体代码} function是声明函数的关键字&#…