通义灵码使用教程:探索AI编码的新维度

news2024/11/16 16:40:20

一、概述

介绍

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

核心场景

代码智能生成

经过海量优秀开源代码数据训练,可根据当前代码文件及跨文件的上下文,为你生成行级/函数级代码、单元测试、代码优化建议等。沉浸式编码心流,秒级生成速度,让你更专注在技术设计,高质高效地完成编码工作。

研发智能问答

基于海量研发文档、产品文档、通用研发知识、阿里云的云服务文档和 SDK/OpenAPI 文档等进行问答训练,为你答疑解惑,助你轻松解决研发问题。

产品优势

  • 跨文件感知让代码生成更贴合业务场景: 客户端和模型层同步优化针对代码跨文件上下文感知能力,生成代码更加贴合当前代码库的业务场景。
  • 阿里云服务使用场景友好: 专门针对阿里云的云服务使用、SDK/OpenAPI 的使用等场景调优,编码时能够更加便捷地使用阿里云服务;在对阿里云使用有疑问时,智能编码助手的回答也将更加有效。
  • 适配多 IDE 的原生设计,符合开发者使用习惯: 适配 IDE 原生主题、交互模式,让开发者感受到 IDE 原生的视觉和交互体验,更符合开发者使用习惯。
  • 研发问答、文档/代码搜索能力,打造沉浸式编码: 无需切换工具,IDE 客户端内即可满足开发者编码场景中的技术资料检索、技术难题解答的诉求,打造开发者沉浸式编码体验。
  • 双模引擎,自由切换: 支持极速本地模型、云端大模型两种代码补全模型,支持一键切换,满足不同网络环境、不同补全强度的场景诉求。

二、下载和安装指南

官网安装地址:
通义灵码安装教程-阿里云

通义灵码支持 Visual Studio Code、JetBrains IDEs,及远程开发场景(Remote SSH、Docker、WSL、Web IDE),安装后登录阿里云账号即可开始使用。

Visual Studio Code

本安装步骤适用于 macOS、Windows 或 Linux 的 Visual Studio Code 中安装和使用通义灵码。

步骤一:准备工作

  • 通义灵码需要登录阿里云后方可使用,如果你尚未拥有一个阿里云账号,可前往注册阿里云账号;
  • 操作系统:Windows 7 及以上、macOS、Linux;
  • 下载并安装** **Visual Studio Code 1.70.x 及以上版本

步骤二:在 Visual Studio Code 安装通义灵码

方法 1:从插件市场安装

说明
单击立即安装,唤起 Visual Studio Code 插件市场直接安装,安装后请重启 IDE,即可开启智能编码之旅。

  1. 打开 Visual Studio Code 扩展窗口,搜索 TONGYI Lingma,找到通义灵码后单击安装。
  2. 安装完成后,请重启 Visual Studio Code。

image.png

方法 2:下载安装包安装
  1. 单击下方链接,下载 Visual Studio Code 的 VSIX 安装包;⇩ TONGYI Lingma-VS Code
  2. 下载完安装包后,打开 Visual Studio Code 后,单击扩展,单击更多按钮,在下拉菜单中单击 从 VSIX 安装,选择下载的 VSIX 文件后安装;

image.png

  1. 安装完成后,请重启 Visual Studio Code。

步骤三:登录阿里云账号开启智能编码之旅

  1. 重启 Visual Studio Code 后,单击侧边导航的通义灵码,在通义灵码助手的窗口单击登录按钮。

image.png
Tips:如果安装后在侧边导航上找不到通义灵码入口,可鼠标聚焦在侧边导航后右键查看,勾选通义灵码后即可插件入口配置在侧边导航上。
image.png

  1. 单击登录后,将前往阿里云官网登录,完成阿里云登录后,即可前往 IDE 客户端开始使用。

Tips:WebIDE、Remote SSH、WSL等可以使用阿里云 AK/SK 登录通义灵码,可查看使用 AK/SK 登录通义灵码。
image.png

JetBrains IDEs

本安装步骤适用于 macOS、Windows 或 Linux 的 JetBrains IDEs 中安装和使用通义灵码。

步骤一:准备工作

  • 通义灵码需要登录阿里云后方可使用,如果你尚未拥有一个阿里云账号,可前往注册阿里云账号;
  • 操作系统:Windows 7 及以上、macOS、Linux;
  • 下载并安装兼容的 JetBrains IDEs 2020.3 及以上版本,通义灵码与以下 IDE 兼容:
    • IntelliJ IDEA(旗舰版、社区版、教育版)
    • Android Studio
    • CLion
    • GoLand
    • PhpStorm
    • PyCharm(专业版、社区版、教育版)
    • Rider
    • RubyMine
    • RustRover
    • WebStorm

更多详细信息,请参阅JetBrains IDE工具查找器。

步骤二:在 JetBrains IDEs 安装通义灵码

Tips:以在 IntelliJ IDEA 中安装通义灵码为例。
说明
鉴于很多开发者感兴趣我使用的 IDEA 的主题,我也分享一下信息:
我使用的 IDEA 的主题是 JetBrains IDEs 的 New UI,需要将 IDEA 升级到最新版哦,打开设置后,在 Appearance & Behavior 中即可看到 New UI 的配置入口。

方法 1:从插件市场安装
  1. 打开 IntelliJ IDEA 设置窗口,在插件市场中搜索 TONGYI Lingma,找到通义灵码后单击安装。
  2. 安装完成后,请重启 IntelliJ IDEA。

image.png

方法 2:下载安装包安装
  1. 单击下方链接,下载 JetBrains IDEs 的 zip 安装包;⇩ TONGYI Lingma - JetBrains
  2. 下载完安装包后,打开 IntelliJ IDEA 后,打开设置,在插件管理的设置下拉菜单中单击从本地安装插件,选择下载的 zip 文件后安装。

image.png

  1. 安装完成后,请重启 IntelliJ IDEA。

步骤三:登录阿里云账号开启智能编码之旅

  1. 重启 IntelliJ IDEA 后,单击侧边导航的通义灵码,在通义灵码助手的窗口单击登录按钮。

image.png

  1. 单击登录后,将前往阿里云官网登录,完成阿里云登录后,即可前往 IDE 客户端开始使用。

Tips:Remote SSH、WSL 等可以使用阿里云 AK/SK 登录通义灵码,可查看使用 AK/SK 登录通义灵码。
image.png


三、功能介绍

行级/函数级实时续写

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

自然语言生成代码

通过自然语言描述你想要的功能,可直接在编辑器区生成代码,编码心流不间断。
image.png

单元测试生成

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

代码优化

深度分析代码及其上下文,迅速识别潜在的编码问题,从简单的语法错误到复杂的性能瓶颈,均能够指出问题所在,并提供具体的优化建议代码。
image.png

代码注释生成

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

代码解释

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

研发领域自由问答

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

异常报错智能排查(Java)

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

双模引擎,一键切换

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

四、使用指南

概述

通义灵码,作为智能编码助手,可以在你进行编码工作时,为你提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码优化、注释生成、代码解释、研发智能问答、异常报错排查等辅助编码工作的功能。

代码智能生成

行级/函数级实时续写

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

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

Tips:不同操作系统的快捷键配置可查看配置指南。

自然语言生成代码

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

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

image.png

生成单元测试、代码优化建议**、代码注释、代码解释**

选中代码后,一键触发功能

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

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

image.png

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

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

  • 生成单元测试:
    • 采纳单元测试代码建议:支持一键插入、复制、或者新建代码文件,可快速采纳生成的单元测试代码建议;
    • 更换单元测试框架:目前提供基于 JUnit、Mockito、Spring Test、unit test、pytest 等框架生成单元测试代码建议,在回答完成后,可以根据需要切换框架重新生成;
    • 新建文件:支持一键保存单元测试代码为新文件,方便进行查看和修改。
  • 生成代码优化建议
    • 采纳代码优化建议:针对优化建议中的建议代码,支持一键插入、复制,快速采纳生成的建议代码;
    • 查看 Diff:单击查看 Diff 按钮,将快速唤起 IDE Diff 查看窗口,快速了解建议和源代码的变更;
  • 生成代码注释:
    • **采纳代码注释建议:支持一键插入、复制,**可快速采纳生成的代码注释建议;
    • **查看 Diff:**单击查看 Diff 按钮,将快速唤起 IDE Diff 查看窗口,快速了解建议和源代码的变更。
  • 解释代码:
    • 支持重试、更详细、更简单、中文/英文解释的追问。

函数的行间快捷入口

当需要针对一个方法或功能实现生成单元测试、代码注释、代码解释时,无需选中代码,可直接单击函数上方的快捷入口触发相关功能操作。
Tips:目前该功能 Visual Studio Code 上支持语言:Java、Python、Go、JS/TS、C/C++,JetBrains IDEs 支持语言:Java、Python。
image.png

研发智能问答

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

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

开始自由问答

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

多种快捷指令问答

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

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

image.png

新建会话

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

查看会话历史

历史会话功能帮助你检索和回顾与通义灵码的交流记录,方便针对多次的建议进行对比和选择。不管你在哪个 IDE 客户端上、哪个工程中,均可以查看或搜索你和通义灵码的历史会话。
image.png

异常报错排查(IntelliJ IDEA

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

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

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

五、参数链接

  1. 通义灵码产品介绍_智能编码助手_AI编程_云效(Apsara Devops)-阿里云帮助中心
  2. 通义灵码下载和安装手册_智能编码助手_AI编程_云效(Apsara Devops)-阿里云帮助中心
  3. 通义灵码使用指南_智能编码助手_AI编程_云效(Apsara Devops)-阿里云帮助中心


六、往期推荐

1. Spring Boot 整合 Mockito:提升Java单元测试的高效实践
2. 深入解析与实践Mockito:Java单元测试的强大助手
3. 流程编排是如何实现解耦代码


欢迎大家一键三连,如果发现文章中有错误或遗漏的地方,欢迎大家指正!

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

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

相关文章

实战:源码编译安装mariadb(10.2.19)-2024.4.18(测试成功)

目录 文章目录 目录实验环境实验软件安装相关依赖包做准备用户和数据目录准备数据库目录源码编译安装下载并解压缩源码包源码编译安装mariadb 准备环境变量生成数据库文件准备配置文件准备启动脚本,并启动服务安全初始化测试关于我最后 实验环境 centos7.6 1810 mariadb(10.2.…

CTFshow-PWN-前置基础(pwn20)

提交ctfshow{【.got表与.got.plt是否可写(可写为1,不可写为0)】,【.got的地址】,【.got.plt的地址】 前置基础知识: .got 和 .got.plt 是 ELF(Executable and Linkable Format,可执行和可链接格式)二进制文件中的两个…

OpenHarmony UI动画-rebound

简介 rebound是一个模拟弹簧动力学,用于驱动物理动画的库。 下载安装 ohpm install ohos/reboundOpenHarmony ohpm环境配置等更多内容,请参考如何安装OpenHarmony ohpm 使用说明 import rebound from ohos/rebound;功能一:创建维护弹簧对…

IP归属地在电商行业中的重要性

IP归属地在电商行业中的应用十分广泛且深入,其重要性不容忽视。它不仅是用户身份验证和地理位置识别的重要手段,还在个性化推荐、库存管理、物流优化以及欺诈检测等多个方面发挥着关键作用。 首先,IP归属地用于身份验证和安全控制。在电商交易…

2024年免费云服务器推荐,小编亲测好用!

随着云计算技术的飞速发展,云服务器以其弹性、高效、安全的特性,成为众多企业和个人用户的首选。尽管市面上有众多收费的云服务器产品,但免费的云服务器仍然吸引着大量用户,尤其是初学者和预算有限的用户。下面,我们就…

以太网24位应变/桥式数据采集卡,替代NI 9237

1.特性简介 XM-BRG是一款以太网型高速应变片压力桥信号采集卡,具有8通道(-4型为4通道)真差分输入,24位分辨率,单通道最高采样率102.4ksps八通道同步共计819.2ksps(-4型为409.6ksps)、精密前置增益放大、集成桥式传感器所需的激励源硬件支持的…

DNS服务器配置与管理(2)——BIND部署DNS

在Linux上配置DNS的常用软件是BIND(Berkeley Internet Name Domain Service,BIND),它是一款实现DNS服务器的开放源码软件。本文详细介绍了在CentOS7上安装并配置Bind软件。 一、Bind软件介绍 BIND包最初是在 1980 年代初在加州大…

剑指Offer题目笔记33(并查集)

面试题116: 解决方案: ​ 一个班级可以包含一个或多个朋友圈,对应的图中可能包含一个或多个子图,每个朋友圈对应一个子图。因此,这个问题可以转化为如何求图中子图的数目。图的搜索算法可以用来计算图中子图的数目。扫…

3D模型处理的多进程并行【Python】

今天我们将讨论如何使用 Python 多进程来处理大量3D数据。 我将讲述一些可能在手册中找到的一般信息,并分享我发现的一些小技巧,例如将 tqdm 与多处理 imap 结合使用以及并行处理存档。 NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生…

PLC工业网关,实现PLC联网

在当今工业自动化领域,PLC(可编程逻辑控制器)作为控制系统的核心,其稳定性和可靠性至关重要。然而,随着工业互联网和智能制造的快速发展,如何实现PLC的联网通信,提高数据传输效率,成…

URL的绝对路径/相对路

一、URL 浏览器要想发起请求,必须是一个完整的url地址. URL是一个固定格式的字符串 它表达了: 从网络中 哪台计算机(domain) 中的 哪个程序(port) 寻找 哪个服务(path),并注明了…

数据治理中心DataArts Studio学习

一、什么是DataArts Studio? 数据治理中心DataArts Studio是为了应对上述挑战,针对企业数字化运营诉求提供的具有数据全生命周期管理和智能数据管理能力的一站式治理运营平台,包含数据集成、数据开发、数据架构、数据质量监控、数据资产管理…

使用vue2-ace-editor实现可选择的代码编辑器

最近在琢磨前端,因项目中需要在页面上编辑代码,所以需要写一个代码编辑器供用户使用。找了几个编辑器相关的组件,对比了下感觉还是vue2-ace-editor用着舒服,写了demo供大家参考。 由于我的项目使用的是vue2,二开鹅厂的…

MySQL高负载排查方法最佳实践(15/16)

高负载排查方法 CPU占用率过高问题排查 使用mpstat查看cpu使用情况。 # mpstat 是一款 CPU 性能指标实时展示工具 # 能展示每个 CPU 核的资源视情况,同时还能将资源使用情况进行汇总展示 # 如果CPU0 的 %idle 已经为 0 ,说明此核已经非常繁忙# 打印所…

算法训练营第25天回溯(分割)

回溯算法(分割) 131.分割回文串 力扣题目链接(opens new window) 题目 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回 s 所有可能的分割方案。 示例: 输入: “aab” 输出: [ [“aa”,“b”], [“a”,“…

Redis中的Lua脚本(二)

Lua脚本 创建排序辅助函数 为了防止带有副作用的函数令脚本产生不一致的数据,Redis对math库的math.random函数和math.randomseed函数进行了替换。对于Lua脚本来说,另一个可能产生不一致数据的地方是哪些带有不确定性质的命令,比如对于一个集…

Linux中如何安装ImageMagick及其常规使用命令

在Linux中安装ImageMagick可以通过包管理工具进行安装。具体步骤如下: 打开终端(Terminal)。 使用以下命令更新系统软件包列表: sudo apt update使用以下命令安装ImageMagick: sudo apt install imagemagick安装完…

大型网站系统架构演化实例_2.使用缓存改善网站性能

1.使用缓存改善网站性能 网站访问的特点和现实世界的财富分配一样遵循二八定律:80%的业务访问集中在20%的数据上。既然大部分业务访问集中在一小部分数据上,那么如果把这一小部分数据缓存在内存中,就可以减少数据库的访问压力&#xf…

在Linux系统中,禁止有线以太网使用NTP服务器进行时间校准的几种方法

目录标题 方法 1:修改NTP配置以禁止所有同步方法 2:通过网络配置禁用NTP同步方法 3:禁用NTP服务 在Linux系统中,如果想要禁止有线以太网使用NTP服务器进行时间校准,可以通过以下几种方法之一来实现: 方法 …

LDF、DBC、BIN、HEX、S19、BLF、asc、csv、ARXML、slx等(未完待续)

文章目录 如题如题 LDF是LIN报文格式文件,把这个直接拖到软件里面,可以发报文和接收报文 DBC是CAN报文格式文件,把这个直接拖到软件里面,可以发报文和接收报文 BIN文件烧录在BOOT里面(stm32),有人喜欢叫固件,这个固件就是bin文件,bin文件比hex文件体积小 其实BOOT也…