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

news2024/10/7 8:28:40

参考链接:

  • 通义灵码产品介绍_智能编码助手_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.coloradmin.cn/o/1385350.html

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

相关文章

单细胞转录组学对代谢功能障碍相关脂肪变性肝病的类器官模型进行分析

前言 最近接触比较多肝纤维化项目,包括空转、单细胞和普通的BULK转录组,本文是肝脏疾病类器官构建,所以结果是比较确定的,只是对比不同处理和培养哪种效果更好,适合了解纤维化进展和哪些分子和细胞参与,以…

基于协方差矩阵自适应演化策略(CMA-ES)的高效特征选择

特征选择是指从原始特征集中选择一部分特征,以提高模型性能、减少计算开销或改善模型的解释性。特征选择的目标是找到对目标变量预测最具信息量的特征,同时减少不必要的特征。这有助于防止过拟合、提高模型的泛化能力,并且可以减少训练和推理…

CANFD数据记录仪在新能源汽车复杂路测下的应用

CANFD数据记录仪在新能源汽车复杂路测下的应用 汽车制造商在生产预批量阶段的耐久性测试中,为了检测潜在故障,必须让车辆在严酷的路况和环境下接受测试。为确保能回溯故障发生的现场情况,我们需要对测试数据精准记录与储存。这些数据是新车型优化迭代的关键,也是确保产品质量的…

【优选算法】滑动窗口 {何时使用滑动窗口?如何使用滑动窗口?如何确定更新结果的时机?滑动窗口是如何提高效率的?相关编程题解析}

一、经验总结 何时使用滑动窗口? 在使用暴力解法解题时,发现可以将其优化为同向双指针,既可以使用滑动窗口。 如何使用滑动窗口? 1. 定义窗口控制变量n,进窗口,判断,出窗口都需要操作窗口控制…

天软特色因子看板 (2024.01 第7期)

该因子看板跟踪天软特色因子A04001(当日趋势强度),该因子为反映股价走势趋势强弱,用以反映股价走势趋势强弱,abs(值)越接近1,趋势 性越强,符号代表涨跌方向。 今日为该因子跟踪第7期,跟踪其在SW801050 (申万…

Open CV 图像处理基础:(六)在Java中使用 Open CV进行图片翻转和图片旋转

在Java中使用 Open CV进行图片翻转和图片旋转 目录 在Java中使用 Open CV进行图片翻转和图片旋转前言图片翻转函数代码示例其它翻转方向垂直翻转两轴翻转 图片旋转函数代码示例 Open CV 专栏导航 前言 在Java中使用OpenCV进行图片翻转和旋转是一种基本的图像处理技术&#xff0…

机器学习根据金标准标记数据-九五小庞

根据金标准标记数据是一种在机器学习和数据科学中常见的操作,主要用于评估分类模型的性能。其基本步骤如下: 收集数据:首先需要收集相关领域的原始数据,这些数据通常来自不同的来源和渠道。数据清洗和预处理:在这一步…

常见的限流算法

本文已收录至我的个人网站:程序员波特,主要记录Java相关技术系列教程,共享电子书、Java学习路线、视频教程、简历模板和面试题等学习资源,让想要学习的你,不再迷茫。 天下武学出同源 正所谓天下武学殊途同归&#xff…

怎么批量重命名图片?分享3个高效方法!

怎么批量重命名图片?在日常生活中,将图片批量重命名是一项非常实用的操作。有时候我们拍摄或收集了很多图片,需要对其进行整理和归类。通过批量重命名,我们可以快速为图片添加序号、日期或其他标识,使其更有条理。此外…

new mars3d.layer.GeoJsonLayer({实现图标点billboard贴模型聚合效果

说明: 1.【mars3d】的依赖库cesium本身是不支持贴地/贴模型操作的 2.sdk内部异步计算了数据的贴地/高度值之后,更新到图层上实现贴地/贴模型效果的 3.相关的示例链接: 1.功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技 4.相关的计算…

Java基础 - 黑马

我是南城余!阿里云开发者平台专家博士证书获得者! 欢迎关注我的博客!一同成长! 一名从事运维开发的worker,记录分享学习。 专注于AI,运维开发,windows Linux 系统领域的分享! 知…

构建搜索引擎,而不是向量数据库

英文原文地址:Build a search engine, not a vector DB 构建搜索引擎,而不是矢量数据库 2023 年 12 月 19 日 在过去12个月里,向量数据库初创公司数量激增。我并不是来讨论其中任何一个的具体设计权衡。相反,我想回顾一下向量数…

斯坦福CS231n学习笔记:DL与CV教程 (1) | 引言与知识基础

前言 📚 笔记专栏:斯坦福CS231N:面向视觉识别的卷积神经网络(23)🔗 课程链接:https://www.bilibili.com/video/BV1xV411R7i5💻 CS231n: 深度学习计算机视觉(2017&#xf…

设计3题目:各种排序算法及性能分析

1、设计3目的 掌握各种内排序算法设计及其执行绝对时间,并对其时间性能进行比较。 2、设计3正文 2.1 实验内容 内容:编写一个程序,随机产生n个1-99的正整数序列,分别采用直接插入排序、折半插入排序、希尔排序、冒泡排序、快速…

什么是MongoDB

概念: MongoDB 是一个文档数据库(以 JSON 为数据模型),由 C 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中…

白光LED驱动芯片的典型应用电路

小型白光LED驱动器LM2751 LM2751是美国国家半导体(NS)公司推出的一款小型白光LED驱动器,采用10PINLLP无铅封装,内置固定频率的电荷泵,在输入电压为2.8V~5.5V的情况下,可稳压输出4.5V或5.0V电压…

【树莓派】网线远程连接电脑和树莓派,实现SSH连接

目录 1、硬件连接; 2、电脑端: 3、查找树莓派的IP地址 4、开启树莓派的SSH接口 5、putty 6、命令行 参考文章 通过网线连接笔记本与树莓派 开启SSH和VNC功能 无显示器安装树莓派 实现:打开putty输入树莓派地址使用ssh方式登陆&…

【XR806开发板试用】单总线协议驱动DHT11温湿度传感器

1.昨天刚收到极速社区寄来的全志XR806开发板,之前用过很多全志的SOC芯片,但是像这种无线芯片还是第一次用。这次打算使用XR806芯片驱动一下DHT11温湿度传感器。 2.代码如下: #include "common/framework/platform_init.h" #inclu…

【计算机网络】TCP原理 | 可靠性机制分析(四)

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】 本专栏旨在分享学习计算机网络的一点学习心得,欢迎大家在评论区交流讨论💌 这里写目录标题 &#x1…

软信天成:数据安全管理解决方案分享

近年来,随着数据环境日趋复杂多变和潜在的数据隐私泄露风险潜伏,如何确保企业数据安全已成为众多企业亟待面对与妥善处理的重要问题。 为了应对这一严峻的现实挑战,软信天成凭借专业的知识体系和丰富的实战经验积累,总结出了一套…