通义灵码 - 免费的阿里云 VS code Jetbrains AI 编码辅助工具
系列文章目录
前言
通义灵码,是阿里云出品的一款基于通义大模型的智能编码辅助工具,提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等能力,并针对阿里云 SDK/OpenAPI 的使用场景调优,助力开发者高效、流畅的编码。
一、核心场景
1.1 代码智能生成
经过海量优秀开源代码数据训练,可根据当前代码文件及跨文件的上下文,为你生成行级/函数级代码、单元测试、代码注释等。沉浸式编码心流,秒级生成速度,让你更专注在技术设计,高质高效地完成编码工作。
1.2 研发智能问答
基于海量研发文档、产品文档、通用研发知识、阿里云的云服务文档和 SDK/OpenAPI 文档等进行问答训练,为你答疑解惑,助你轻松解决研发问题。
二、产品优势
-
跨文件感知让代码生成更贴合业务场景:客户端和模型层同步优化针对代码跨文件上下文感知能力,生成代码更加贴合当前代码库的业务场景。
-
阿里云服务使用场景友好:专门针对阿里云的云服务使用、SDK/OpenAPI 的使用等场景调优,编码时能够更加便捷地使用阿里云服务;在对阿里云使用有疑问时,智能编码助手的回答也将更加有效。
-
适配多 IDE 的原生设计,符合开发者使用习惯:适配 IDE 原生主题、交互模式,让开发者感受到 IDE 原生的视觉和交互体验,更符合开发者使用习惯。
-
研发问答、文档/代码搜索能力,打造沉浸式编码:无需切换工具,IDE 客户端内即可满足开发者编码场景中的技术资料检索、技术难题解答的诉求,打造开发者沉浸式编码体验。
-
双模引擎,自由切换:支持极速本地模型、云端大模型两种代码补全模型,支持一键切换,满足不同网络环境、不同补全强度的场景诉求。
三、功能介绍
3.1 行级/函数级实时续写
根据当前语法和跨文件的代码上下文,实时生成行、函数建议代码。
3.2 自然语言生成代码
通过自然语言描述你想要的功能,可直接在编辑器区生成代码,编码心流不间断。
3.3 单元测试生成
支持根据 JUnit、Mockito、Spring Test、unit test、pytest 等框架生成单元测试。
3.4 代码注释生成
一键生成方法注释及行间注释,节省你写代码注释的时间,并能够有效提升代码可读性。
3.5 代码解释
覆盖各种编程语言,选中代码后可自动识别编程语言并生成代码解释。跨越语言的边界,让你阅读代码更高效。
3.6 研发领域自由问答
遇到编码疑问、技术难题时,一键唤起通义灵码,无需离开 IDE 客户端,即可快速获得答案和解决思路。聚焦研发领域知识的问答,帮助开发者快速解决问题。
3.7 异常报错智能排查(Java)
当运行出现异常报错时,一键启动报错排查的智能答疑,可结合运行代码、异常堆栈等报错上下文,快速给出排查思路或修复建议代码。
3.8 双模引擎,一键切换
支持极速离线模型(Java/Python)、云端大模型两种代码补全方式,极速离线模型拥有单行补全的能力,云端大模型具备函数生成的能力。在你需要的时候,可一键切换,满足不同网络环境、不同补全强度的场景诉求。
3.9 支持编程语言
支持 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
-
五、安装
5.1 Visual Studio Code
本安装步骤适用于 macOS、Windows 或 Linux 的 Visual Studio Code 中安装和使用通义灵码。
步骤一:准备工作
-
通义灵码需要登录阿里云后方可使用,如果你尚未拥有一个阿里云账号,可前往注册阿里云账号;
-
操作系统:Windows 8.1 及以上、macOS、Linux;
-
下载并安装 Visual Studio Code 1.75.1 及以上版本。
步骤二:在 Visual Studio Code 安装通义灵码
方法 1:从插件市场安装
说明
单击立即安装,唤起 Visual Studio Code 插件市场直接安装,安装后请重启 IDE,即可开启智能编码之旅。
-
打开 Visual Studio Code 扩展窗口,搜索 TONGYI Lingma,找到通义灵码后单击安装。
-
安装完成后,请重启 Visual Studio Code。
方法 2:下载安装包安装
-
单击下方链接,下载 Visual Studio Code 的 VSIX 安装包;
⇩ TONGYI Lingma-VS Code
-
下载完安装包后,打开 Visual Studio Code 后,单击扩展,单击更多按钮,在下拉菜单中单击 从 VSIX 安装,选择下载的 VSIX 文件后安装;
-
安装完成后,请重启 Visual Studio Code。
步骤三:登录阿里云账号开启智能编码之旅
-
重启 Visual Studio Code 后,单击侧边导航的通义灵码,在通义灵码助手的窗口单击登录按钮。
Tips:如果安装后在侧边导航上找不到通义灵码入口,可鼠标聚焦在侧边导航后右键查看,勾选通义灵码后即可插件入口配置在侧边导航上。
-
单击登录后,将前往阿里云官网登录,完成阿里云登录后,即可前往 IDE 客户端开始使用。
5.2 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:从插件市场安装
-
打开 IntelliJ IDEA 设置窗口,在插件市场中搜索 TONGYI Lingma,找到通义灵码后单击安装。
-
安装完成后,请重启 IntelliJ IDEA。
方法 2:下载安装包安装
-
单击下方链接,下载 JetBrains IDEs 的 zip 安装包;
⇩ TONGYI Lingma - JetBrains
-
下载完安装包后,打开 IntelliJ IDEA 后,打开设置,在插件管理的设置下拉菜单中单击从本地安装插件,选择下载的 zip 文件后安装。
-
安装完成后,请重启 IntelliJ IDEA。
步骤三:登录阿里云账号开启智能编码之旅
-
重启 IntelliJ IDEA 后,单击侧边导航的通义灵码,在通义灵码助手的窗口单击登录按钮。
-
单击登录后,将前往阿里云官网登录,完成阿里云登录后,即可前往 IDE 客户端开始使用。
六、使用指南
通义灵码,作为智能编码助手,可以在你进行编码工作时,为你提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等辅助编码工作的功能。
说明
在 IDE 环境中使用通义灵码,必须完成通义灵码插件安装及阿里云账号登录。详细信息可查看快速开始。
代码智能生成
行级/函数级实时续写
当你在 IDE 编辑器区进行代码编写时,在开启自动云端生成的模式下,通义灵码会根据当前代码文件及相关代码文件的上下文,自动为你生成行级/函数级的代码建议,此时你可以使用快捷键采纳、废弃、查看不同的代码建议,同时,当你在编码的过程中,也可以通过快捷键 ⌥
P
手动触发生成代码建议,具体如下:
macOS | Windows | |
接受行间代码建议 |
|
|
废弃行间代码建议 |
|
|
查看上一个行间推荐结果 |
|
|
查看下一个行间推荐结果 |
|
|
手动触发行间代码建议 |
|
|
Tips:不同操作系统的快捷键配置可查看配置指南。
自然语言生成代码
通义灵码支持两种通过自然语言描述生成代码的方式:
-
在编辑器中,直接通过注释的方式描述你需要的功能,直接在编辑器中生成代码建议,单击
Tab
可直接采纳 ; -
在智能问答中,直接描述你需要的功能,智能问答助手将为你生成代码建议,并支持一键插入或复制代码。
生成单元测试、代码注释、代码解释
选中代码后,一键触发功能
当你选中的代码后,支持生成单元测试、代码注释或代码解释,有 3 种触发方式:
-
在编辑器中,单击右键找到通义灵码功能操作入口,单击对应功能操作;
-
在智能问答中,直接单击对用功能操作;
-
在智能问答中,使用 / 查看快捷指令,单击生成单元测试指令。
生成回答后,一键采纳和追问
单击对应功能操作后,在智能问答区中,通义灵码为你所选代码生成相关回答,此时你可以根据诉求进行操作,不同功能的对应操作如下:
-
生成单元测试:
-
采纳单元测试代码建议:支持一键插入、复制、或者新建代码文件,可快速采纳生成的单元测试代码建议;
-
更换单元测试框架:目前提供基于 JUnit、Mockito、Spring Test、unit test、pytest 等框架生成单元测试代码建议,在回答完成后,可以根据需要切换框架重新生成。
-
-
生成代码注释:
-
采纳代码注释建议:支持一键插入、复制,可快速采纳生成的代码注释建议;
-
查看 Diff:单击查看 Diff 按钮,将快速唤起 IDE Diff 查看窗口,快速了解建议和源代码的变更;
-
重试、使用英文等与代码注释相关的追问操作。
-
-
解释代码:
-
支持重试、更详细、更简单、中文/英文解释的追问。
-
函数的行间快捷入口
当需要针对一个方法或功能实现生成单元测试、代码注释、代码解释时,无需选中代码,可直接单击函数上方的快捷入口触发相关功能操作。
Tips:目前该功能 Visual Studio Code 上支持语言:Java、Python、Go、JS/TS、C/C++,JetBrains IDEs 支持语言:Java、Python。
研发智能问答
使用通义灵码的智能问答时,为了通义灵码与你的对话能够更友好、高效,希望你能够在输入问题时:
-
选中代码,开始输入你的问题,通义灵码将围绕着选中代码与你开展对话;
-
精准表达问题,以及给出相对详细的上下文输入, 比如选中的代码、日志、报错信息等;
-
多多互动,告诉通义灵码,所给出代码建议或回答是否满足你的预期,或生成内容存在的具体瑕疵,通义灵码也会不断改进。
开始自由问答
当你编码遇到问题,缺乏具体解决思路时,可单击 IDE 侧边工具导航或使用⌘
⇧
L
唤起通义灵码智能问答助手,无需离开 IDE 客户端,即可快速获得答案和解决思路。
多种快捷指令问答
在智能问答输入框中,预置了多个常用快捷指令,输入 /
即可看到相关快捷指令:
-
/help:学习如何使用通义灵码;
-
/explain code:解释选中的代码;
-
/generate unit test:为选中的代码生成单元测试;
-
/generate comment:为选中的代码生成方法注释或行间注释;
-
/clear context:当你在会话中时,单击后将清空上下文记忆;
新建会话
在智能问答窗口中,单击右上角的新建按钮即可新建会话窗口,单击后会话窗口将会到默认状态。
异常报错排查(IntelliJ IDEA)
当运行出现异常报错时,在运行标准输出窗口中,即可看到通义灵码的快捷操作按钮,单击后,通义灵码将结合运行代码、异常堆栈等报错上下文,快速给出排查思路或修复建议。
IntelliJ IDEA 中技术文档和代码片段搜索
在 IntelliJ IDEA 客户端内,如果你在编码过程中有需要进行技术资料检索、代码片段搜索的诉求,无须离开 IDE,单击侧边导航的通义灵码,单击搜索,即可开始搜索。
相关文章:

通义灵码 - 免费的阿里云 VS code Jetbrains AI 编码辅助工具
系列文章目录 前言 通义灵码,是阿里云出品的一款基于通义大模型的智能编码辅助工具,提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等能力,并针对阿里云 SDK/OpenAPI 的使用…...

山脉数组的峰顶索引
一、题目描述 852. 山脉数组的峰顶索引 符合下列属性的数组 arr 称为 山脉数组 : arr.length > 3存在 i(0 < i < arr.length - 1)使得: arr[0] < arr[1] < ... arr[i-1] < arr[i] arr[i] > arr[i1] > .…...

openssl3.2 - 官方demo学习 - cms - cms_ver.c
文章目录 openssl3.2 - 官方demo学习 - cms - cms_ver.c概述运行结果笔记END openssl3.2 - 官方demo学习 - cms - cms_ver.c 概述 CMS验签, 将单独签名和联合签名出来的签名文件都试试. 验签成功后, 将签名数据明文写入了文件供查看. 也就是说, 只有验签成功后, 才能看到签名…...

数据结构:堆和堆排序
数据结构:堆和堆排序 文章目录 数据结构:堆和堆排序1.二叉树的存储结构1.顺序结构2.链式结构 2.堆3.堆的实现4.堆排序(选择排序中的一类)1. 基本思想2.代码实现 1.二叉树的存储结构 1.顺序结构 顺序结构存储就是使用数组来表示一…...

力扣精选算法100题——水果成篮(滑动窗口专题)
本题链接👉水果成篮 第一步:了解题意 我就按照实例1来进行对这题的理解。 1代表种类类型,这个数组里面有2个种类类型 ps:种类1和种类2 ,只不过种类1是有2个水果,种类2有一个水果,共计3个水果。 本题需要解…...

【提示学习论文六】MaPLe: Multi-modal Prompt Learning论文原理
文章目录 MaPLe: Multi-modal Prompt Learning 多模式提示学习文章介绍动机MaPLe:Multi-modal Prompt Learning 模型结构1、Deep Language Prompting 深度语言提示2、Deep Vision Prompting 深度视觉提示3、Vision Language Prompt Coupling 视觉语言提示耦合提示耦合过程 实验…...

wpf使用Popup封装数据筛选框
(关注博主后,在“粉丝专栏”,可免费阅读此文) 类似于DevExpress控件的功能 这是DevExpress的winform筛选样式,如下: 这是DevExpress的wpf筛选样式,如下: 这是Excel的筛选样式,如下: 先看效果 本案例使用wpf原生控件封装,功能基本上都满足,只是颜色样式没有写…...
微信小程序 - 视图与逻辑 介绍
文章目录 视图与逻辑一、页面导航1、页面导航 - 声明式导航1.1 导航到tabBar页面1.2 导航到非tabBar页面1.3 后退导航 2、页面导航 - 编程式导航2.1 导航到tabBar页面2.2 导航到非tabBar页面2.3 后退导航 3、页面导航 - 导航传参3.1 声明式导航传参3.2 编程式导航传参3.3 在 on…...

大创项目推荐 深度学习疫情社交安全距离检测算法 - python opencv cnn
文章目录 0 前言1 课题背景2 实现效果3 相关技术3.1 YOLOV43.2 基于 DeepSort 算法的行人跟踪 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习疫情社交安全距离检测算法 ** 该项目较为新颖,适合作为竞赛…...

c语言-库函数strstr()、strtok()、strerror()介绍
文章目录 前言一、库函数strstr()1.1 strstr()介绍1.2 strstr()模拟实现 二、库函数strtok()2.1 strtok()介绍 三、库函数strerror()3.1 strerror()介绍 总结 前言 本篇文章介绍c语言库函数strstr()、strtok()、strerror()的使用。 一、库函数strstr() 1.1 strstr()介绍 str…...

RIP【新华三与华为区别】
【介绍】 rip分为rip 1 与 rip 2 ,rip 2 是对 rip 1 的一种升级,rip 2 可以进行认证等功能 【命令】 新华三: [HC3-R1] rip #启用rip [HC3-R1-rip] version 2 #告知rip 版本号 [HC3-R1-rip] network 192.168.1.0 #宣告其网段 [HC3-R1-rip] …...
Python从入门到精通秘籍四
Python速成,知识点超详细,跟着这个系列边输入边学习体会吧! 一、Python的判断语句的综合案例 下面是一个使用代码示例来详细说明Python判断语句的综合案例,通过用户输入来实现简单的登录验证: # 提示用户输入用户名和密码 username = input("请输入用户名:")…...
rk3568下SoftBusDumpDeviceInfo执行错误—鸿蒙开发已解决
文章目录 项目场景:问题描述原因分析:解决方案:此Bug解决方案总结寄语项目场景: 最近也是遇到了这个问题,看到网上也有人在询问这个问题,本文总结了自己和其他人的解决经验,解决了rk3568下SoftBusDumpDeviceInfo执行错误的问题。 命令行运行 SoftBusDumpDeviceInfo,测…...
Vue 3 Composition API 详解
一、引言 在Vue 3中,引入了一个新的Composition API,旨在提供一种更灵活和可重用的方式来组织组件代码。Composition API基于函数式编程思想,允许开发者将逻辑和状态管理逻辑分离,使代码更加清晰和可维护。 二、Composition API…...

API设计:从基础到最佳实践
1*vWvkkgG6uvgmJT8GkId98A.png 在这次深入探讨中,我们将深入了解API设计,从基础知识开始,逐步进阶到定义出色API的最佳实践。 作为开发者,你可能对许多这些概念很熟悉,但我将提供详细的解释,以加深你的理解…...

每日汇评:由于中东危机削弱了风险偏好,欧元将在1.0900附近波动
随着中东危机的加深,欧元兑美元面临大幅抛售; 由于高通胀,欧洲央行决策者推迟了市场对早期降息的预期; 市场将受到周三公布的美国零售销售数据的影响; 持续的中东紧张局势增强了对避险资产的吸引力,而风险感…...
算法每日一题:删除子串后的字符串最小长度 | 栈 | 字符串
大家好,我是星恒 今天给大家带来的是一道另类的栈的应用 话不多说,我们直接来体验 题目:leetcode 2696 给你一个仅由 大写 英文字符组成的字符串 s 。你可以对此字符串执行一些操作,在每一步操作中,你可以从 s 中删除 …...

SpringFramework实战指南(一)
SpringFramework实战指南(一) 一、技术体系结构1.1 总体技术体系1.2 框架概念和理解 一、技术体系结构 1.1 总体技术体系 单一架构 一个项目,一个工程,导出为一个war包,在一个Tomcat上运行。也叫all in one。 单一架…...
AtCoder ABC198
本期F为群论题,很有难度。 C - Compass Walking 为了避免精度问题,采用二分推算。但是要小心结果为1的地方。 R 2 ∗ k 2 ≥ x 2 y 2 R^2*k^2\geq x^2y^2 R2∗k2≥x2y2 # -*- coding: utf-8 -*- # time : 2023/6/2 13:30 # file : atcoder.…...

phpinfo和php -m 加载的php.ini不一致
目的: 将phpinfo在web中展示的php.ini和在命令行中展示的php.ini加载路径设置一致。 原本的php.ini加载路劲是: /usr/local/lib/php.ini 解决思路: (1)which php 查看服务器加载的php的位置,这里原来是&a…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...