我是一名大数据开发工程师,通义灵码@workspace与@terminal是我编程路上的得力助手。它们助力我快速熟悉新项目代码,高效实现新需求,相较于以往,工作效率提升了75%。这两款工具直观易用,性能稳定,让我在编程过程中始终保持流畅体验。我深感其带来的便利与高效,特此分享使用体验,也诚邀您一同体验,共同提升编程效率。
通义灵码简介
兼容编程工具
JetBrains IDEs
- IDE 版本:IntelliJ IDEA、PyCharm、GoLand、WebStorm、Android Studio 等 2020.3 及以上
- 操作系统:Windows 7 及以上、macOS、Linux
- 暂不支持的系统架构:aarch64 windows
Visual Studio Code
- IDE 版本:1.68.0 及以上
- 操作系统:Windows 7 及以上、macOS、Linux
- 暂不支持的系统架构:aarch64 windows
Visual Studio
- IDE 版本:Visual Studio 2022 17.3.0 及以上,或 Visual Studio 2019 16.3.0 及以上
- 操作系统:Windows 10 及以上
其他场景
- Remote SSH、Docker、WSL 等远程连接开发场景
- VS Code 的 WebIDE,并支持 Open VSX 插件市场中下载和使用
- HUAWEI DevEco Studio,参考 JetBrains IDEs 安装手册-方法 2:下载安装包安装后使用
功能介绍
行间代码生成
行级/函数级实时续写:根据当前语法和跨文件的代码上下文,实时生成行、函数建议代码;
注释生成代码:通过注释描述你想要的功能,可直接在编辑器区生成代码,编码心流不间断。
研发智能问答
研发问题自由问答:遇到编码疑问、技术难题时,一键唤起通义灵码,无需离开 IDE 客户端,即可快速获得答案和解决思路;
本地工程问答:通过问答即可快速结合当前仓库进行工程理解、代码查询等,同时可以通过自然语言描述需求,结合当前工程生成简单需求或缺陷的整体修复建议和建议代码;
企业知识库问答:借助企业知识和数据进行问答,快速构建企业研发知识问答助手,提升团队的工作效率和协作能力。
智能生成
单元测试生成:支持根据 JUnit、Mockito、Spring Test、unit test、pytest 等框架生成单元测试;
代码注释生成:一键生成方法注释及行内注释,节省你写代码注释的时间,并能够有效提升代码可读性;
代码解释:覆盖各种编程语言,选中代码后可自动识别编程语言并生成代码解释;
提交信息生成:支持一键生成代码 Git 提交信息,并支持设置生成的语言。
编码问题解决
代码优化:深度分析代码及其上下文,迅速识别潜在的编码问题,从简单的语法错误到复杂的性能瓶颈,均能够指出问题所在,并提供具体的优化建议代码;
代码问题修复:针对编码过程中出现的代码问题(Problem),可以一键给出修复建议,助力开发者快速解决代码问题;
异常报错智能排查(Java):当运行出现异常报错时,一键启动报错排查的智能答疑,可结合运行代码、异常堆栈等报错上下文,快速给出排查思路或修复建议代码。
企业级管理
统一授权管理:支持统一为企业内开发者的添加使用权限,统一管理企业成员权限;
统计报表:提供开发者活跃、AI 代码生成占比、问答使用占比等统计数据,帮助企业快速了解使用效果;
知识管理:高效管理企业私域数据,结合企业数据提供企业知识库问答、企业代码生成增强功能,让编码助手更贴合企业业务场景;
专属 VPC 部署:企业专属版提供专属 VPC 部署,并支持企业内网连接,全链路保障企业数据安全,满足企业安全合规要求。
支持编程语言
支持 Java、Python、Go、C#、C/C++、JavaScript、TypeScript、PHP、Ruby、Rust、Scala、Kotlin 等主流编程语言。
为什么选择通义灵码
市面上也有很多AI编程工具,我也体验过一些,体验感真是一言难尽呀!但是通义灵码的横空出世给了我不一样的使用体验,不单单是我自己的体验,从通义灵码获取到的荣誉就能看出其有多么的优秀,让我们来简单看一下都有哪些荣誉
入选 2024 世界人工智能大会最高荣誉——镇馆之宝
镇馆之宝是世界人工智能大会展览的最高荣誉,从科技含量、市场前景、创新性以及社会经济效益等维度综合考量评选,每年入选数量不超过 10 个,获奖产品不仅代表了当前人工智能领域的最新技术成果,还展示了未来的发展趋势和商业潜力。作为国内最受欢迎的辅助编程工具,通义灵码凭借在功能、性能、安全性以及应用落地等方面的优势成功入选。
国内唯一入选 Gartner AI 代码助手魔力象限挑战者象限
该报告从技术创新性、产品服务能力、商业模式等 15 个维度,全方位评估企业AI代码助手的能力,是迄今为止最权威的 AI 代码助手报告。在关键能力评分中,通义灵码在代码生成、代码解释、代码调试等多项能力领先,其中代码解释能力位列全球第二。
首批通过信通院 AI 代码大模型评估最高评级
阿里云通义灵码在本次评估中获得4+级评级,是评分最高的代码大模型之一。
信通院评测结果显示:
- 在通用能力方面,通义灵码在代码转换、代码检查及修复、代码优化等方面表现突出;
- 在专用场景方面,通义灵码提供网站开发、数据库开发、大数据开发、嵌入式开发等多个场景支持能力;
- 在应用成熟度方面,通义灵码具备较完善的数据合规及数据分类分级机制,且模型稳定性及可维护性表现优异,在模型推理性能、模型服务风险可控性等方面均表现优秀。
通过可信 AI 智能编码工具评估,获当前最高等级
经评估,通义灵码智能编码助手的功能完善且具备较高准确性,可为用户提供较为优质流畅的使用体验,且在性能指标方面,其响应速度、并发处理能力、系统的稳定性,均具有优秀表现。同时在模型层和服务层,具备高效稳定的工程化能力,以及知识库检索增强能力,对当前代码工程(Workspace)的理解能力较好。
安装
关于介绍也介绍了很多了,不难看出通义灵码的优秀,那么下面我们来安装一下
通义灵码是能够兼容 Visual Studio Code、Visual Studio、JetBrains IDEs 等主流编程工具的,但是本次我的主要编程工具是Visual Studio Code,所以根据Visual Studio Code的方式跟大家分享。
在Visual Studio Code中安装通义灵码是非常简单的,官方也是有详细的教程,不过我也还是简单的分享一下我的安装过程
官方教程:通义灵码安装教程
帮助文档:通义灵码帮助文档
官网:通义灵码官网
准备工作
因为使用的是Visual Studio Code来安装,所以要准备好Visual Studio Code 1.68.0 及以上版本。
- 操作系统:Windows 7 及以上、macOS、Linux;
- 下载并安装 Visual Studio Code 1.68.0 及以上版本。
第一种方案:从插件商店安装
搜索扩展
打开Visual Studio Code的扩展搜索TONGYI Lingma
点击信任&安装
点击登录
安装完成之后,在活动栏中就可以看到通义灵码的图标,然后点击图标之后进行登录,使用阿里云账号登录就可以
第二种方案:安装包安装
Visual Studio Code 的 VSIX 安装包
下载安装包之后在插件商店中点击右上角的更多,然后点击从CSIX安装就可以了,安装之后正常使用阿里云账号登录就可以
到这里就已经安装好了,就可以开启我们的智能编码之旅了!
简单使用
接下来我们来简单实用一下通义灵码,看看都能在我们编程过程中起到什么作用。
智能生成代码
- 采纳单元测试代码建议:支持一键插入、复制、或者新建代码文件,可快速采纳生成的单元测试代码建议;
- 更换单元测试框架:提供基于 JUnit、Mockito、Spring Test、unit test、pytest 等框架生成单元测试代码建议,在回答完成后,可以根据需要切换框架重新生成;
- 新建文件:支持一键保存单元测试代码为新文件,方便进行查看和修改。
给出我们的要求让通义灵码帮我们根据要求生成代码
要求如下:
使用Python生成一个图书管理系统
- 要求用户可以查看所有图书(包含图书的状态借出/空闲)
- 要求用户可以录入图书
- 要求用户可以借书
通义灵码给出的结果
class Book:
def __init__(self, title, author, status='空闲'):
self.title = title
self.author = author
self.status = status
def __str__(self):
return f"{self.title} by {self.author} - {self.status}"
class Library:
def __init__(self):
self.books = []
def add_book(self, title, author):
new_book = Book(title, author)
self.books.append(new_book)
print(f"图书 '{title}' 已添加到系统。")
def display_books(self):
if not self.books:
print("当前没有图书。")
return
for book in self.books:
print(book)
def borrow_book(self, title):
for book in self.books:
if book.title == title and book.status == '空闲':
book.status = '借出'
print(f"您已成功借阅 '{title}'。")
return
print(f"图书 '{title}' 不可借阅。")
def main():
library = Library()
while True:
print("\n欢迎来到图书管理系统")
print("1. 查看所有图书")
print("2. 录入图书")
print("3. 借书")
print("4. 退出")
choice = input("请选择操作: ")
if choice == '1':
library.display_books()
elif choice == '2':
title = input("请输入图书名称: ")
author = input("请输入作者名称: ")
library.add_book(title, author)
elif choice == '3':
title = input("请输入要借阅的图书名称: ")
library.borrow_book(title)
elif choice == '4':
print("感谢使用图书管理系统!再见!")
break
else:
print("无效的选择,请重新输入。")
if __name__ == "__main__":
main()
可以看到效果还是很不错的
代码解释
支持重试、更详细、更简单、中文/英文解释的追问。
有时候在编程过程中遇到一些不太理解的函数也可以直接询问通义灵码,让它帮我们做出解释,并解释这段代码的作用,可以对我们编程有很大的作用,节省了很多查资料的时间
进入刚才通义灵码写出来的代码,选中library = Library()这段话,点击右键使用通义灵码进行代码解释
以下是通义灵码给出的解释:
代码解释
这段代码的功能是创建一个 Library 类的实例,并将其赋值给变量 library。假设 Library 类已经定义好,这个实例可以用来调用 Library 类中的各种方法和属性。
控制流图
由于这段代码非常简单,没有复杂的逻辑,因此控制流图也非常简单:
flowchart TD
A[创建 Library 实例] --> B[赋值给 library]
详细解释
- 创建 Library 实例:调用 Library 类的构造函数,创建一个新的 Library 对象。
- 赋值给 library:将新创建的 Library 对象赋值给变量 library,以便后续使用。
这里展示举了一个很简单的例子,通义灵码给出了很详细的解释,在实战中遇到比较陌生的函数或者对某一段代码不解的话都可以直接让通义灵码给出回答,非常高效!
生成注释
- 采纳代码注释建议:支持一键插入、复制,可快速采纳生成的代码注释建议;
- 查看 Diff:单击查看 Diff 按钮,将快速唤起 IDE Diff 查看窗口,快速了解建议和源代码的变更。
直接全部选中刚才的图书管理系统代码,让通义灵码帮我们对项目进行注释,这样可以易于阅读和理解。
通义灵码给出的结果
class Book:
"""
图书类,用于表示一本书的信息。
属性:
- title (str): 图书的标题。
- author (str): 图书的作者。
- status (str): 图书的状态,默认为'空闲'。
"""
def __init__(self, title, author, status='空闲'):
self.title = title
self.author = author
self.status = status
def __str__(self):
"""
返回图书的字符串表示,包含标题、作者和状态。
返回:
str: 图书的信息字符串。
"""
return f"{self.title} by {self.author} - {self.status}"
class Library:
"""
图书馆类,用于管理多本图书。
属性:
- books (list): 包含所有图书的列表。
"""
def __init__(self):
self.books = []
def add_book(self, title, author):
"""
向图书馆添加一本新书。
参数:
- title (str): 图书的标题。
- author (str): 图书的作者。
"""
new_book = Book(title, author)
self.books.append(new_book)
print(f"图书 '{title}' 已添加到系统。")
def display_books(self):
"""
显示图书馆中所有图书的信息。
如果没有图书,则显示提示信息。
"""
if not self.books:
print("当前没有图书。")
return
for book in self.books:
print(book)
def borrow_book(self, title):
"""
借阅一本图书。
参数:
- title (str): 要借阅的图书标题。
遍历图书列表,如果找到状态为'空闲'的图书,则将其状态更新为'借出'。
如果没有找到可借阅的图书,则显示提示信息。
"""
for book in self.books:
if book.title == title and book.status == '空闲':
book.status = '借出'
print(f"您已成功借阅 '{title}'。")
return
print(f"图书 '{title}' 不可借阅。")
def main():
"""
主函数,用于运行图书管理系统的命令行界面。
提供添加图书、显示所有图书、借阅图书和退出系统等功能。
"""
library = Library()
while True:
print("\n欢迎来到图书管理系统")
print("1. 查看所有图书")
print("2. 录入图书")
print("3. 借书")
print("4. 退出")
choice = input("请选择操作: ")
if choice == '1':
library.display_books()
elif choice == '2':
title = input("请输入图书名称: ")
author = input("请输入作者名称: ")
library.add_book(title, author)
elif choice == '3':
title = input("请输入要借阅的图书名称: ")
library.borrow_book(title)
elif choice == '4':
print("感谢使用图书管理系统!再见!")
break
else:
print("无效的选择,请重新输入。")
if __name__ == "__main__":
main()
可以看到,通义灵码直接把每行代码的详细含义都通过注释标注到代码上了,而且可以直接覆盖到原来的python文件上。
而且还可以通过diff按钮快速唤起 IDE Diff 查看窗口,快速了解建议和源代码的变更。
代码优化建议
- 采纳代码优化建议:针对优化建议中的建议代码,支持一键插入、复制,快速采纳生成的建议代码;
- 查看 Diff:单击查看 Diff 按钮,将快速唤起 IDE Diff 查看窗口,快速了解建议和源代码的变更;
选中代码,然后点击生成优化建议,哪怕你是小白,也可以写出非常优秀的代码
智能问答
@workspace 本地工程问答
当你需要快速了解一个工程、查找工程内的实现逻辑,或有新的诉求需要进行代码变更时,可以在智能问答窗口中通过 @ 可唤起 @workspace,选中后输入你的问题或诉求,通义灵码可快速结合当前仓库进行工程理解、代码查询、代码问答等,同时可以通过自然语言描述需求,结合当前工程生成简单需求或缺陷的整体修改建议和相关建议代码。
下面是我使用@workspace对自己本地的代码库进行的一个分析
可以让我们很快的就基本了解当前代码库的一个基本作用,在工作中具有重要意义
@terminal 问答
当你遇到执行指令不知道如何写,或者不清楚某个指令的意思时,可以在智能问答窗口中通过 @ 可唤起 @terminal,选择后使用自然语言描述你的需要指令诉求,通义灵码将可以生成你需要的命令。生成指令后,你可以一键插入到 terminal 中进行执行或让通义灵码继续解释。当然,你也可以在选择 @terminal 后,输入指令让通义灵码生成指令解释。
#teamDocs 知识库问答(企业版)
当你需要结合企业内私域知识信息让通义灵码进行回答时,可以在智能问答窗口中通过 # 唤起 #teamDocs,并输入问题,通义灵码将结合企业知识库(当前用户有权限的知识库)对问题进行回答,在回复中也可以单击查看引用的企业知识库内容。
总结
自己使用通义灵码也有一段时间了,对我自己而言感觉通义灵码已经是我编程过程中不可或缺的伙伴了,有了它自己的变成效率和质量大大提高,减少了很多去查资料的时间,而且还可以帮助自己去优化代码,所以非常推荐大家去使用一下,希望大家工作顺利!