通义灵码--我的编程好伙伴,让我晋升编程大神,从安装到使用

简介: 作为一名大数据开发工程师,我在编程过程中使用了通义灵码的@workspace与@terminal工具,这些工具极大地提高了我的工作效率,使我在处理新项目代码和实现新需求时更加得心应手。通过这些工具,我能够在不离开IDE的情况下快速解决问题,生成代码,优化现有代码,并通过智能问答功能获取即时帮助。通义灵码不仅支持多种主流编程语言,还提供了丰富的功能,如代码生成、单元测试生成、代码优化等,显著提升了我的编程体验。强烈推荐给所有希望提高编程效率的开发者。

我是一名大数据开发工程师,通义灵码@workspace与@terminal是我编程路上的得力助手。它们助力我快速熟悉新项目代码,高效实现新需求,相较于以往,工作效率提升了75%。这两款工具直观易用,性能稳定,让我在编程过程中始终保持流畅体验。我深感其带来的便利与高效,特此分享使用体验,也诚邀您一同体验,共同提升编程效率。

通义灵码简介

兼容编程工具

JetBrains IDEs

  1. IDE 版本:IntelliJ IDEA、PyCharm、GoLand、WebStorm、Android Studio 等 2020.3 及以上
  2. 操作系统:Windows 7 及以上、macOS、Linux
  3. 暂不支持的系统架构:aarch64 windows

Visual Studio Code

  1. IDE 版本:1.68.0 及以上
  2. 操作系统:Windows 7 及以上、macOS、Linux
  3. 暂不支持的系统架构:aarch64 windows

Visual Studio

  1. IDE 版本:Visual Studio 2022 17.3.0 及以上,或 Visual Studio 2019 16.3.0 及以上
  2. 操作系统:Windows 10 及以上

其他场景

  1. Remote SSH、Docker、WSL 等远程连接开发场景
  2. VS Code 的 WebIDE,并支持 Open VSX 插件市场中下载和使用
  3. HUAWEI DevEco Studio,参考 JetBrains IDEs 安装手册-方法 2:下载安装包安装后使用

功能介绍

行间代码生成

  1. 行级/函数级实时续写:根据当前语法和跨文件的代码上下文,实时生成行、函数建议代码;

  2. 注释生成代码:通过注释描述你想要的功能,可直接在编辑器区生成代码,编码心流不间断。

研发智能问答

  1. 研发问题自由问答:遇到编码疑问、技术难题时,一键唤起通义灵码,无需离开 IDE 客户端,即可快速获得答案和解决思路;

  2. 本地工程问答:通过问答即可快速结合当前仓库进行工程理解、代码查询等,同时可以通过自然语言描述需求,结合当前工程生成简单需求或缺陷的整体修复建议和建议代码;

  3. 企业知识库问答:借助企业知识和数据进行问答,快速构建企业研发知识问答助手,提升团队的工作效率和协作能力。

智能生成

  1. 单元测试生成:支持根据 JUnit、Mockito、Spring Test、unit test、pytest 等框架生成单元测试;

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

  3. 代码解释:覆盖各种编程语言,选中代码后可自动识别编程语言并生成代码解释;

  4. 提交信息生成:支持一键生成代码 Git 提交信息,并支持设置生成的语言。

编码问题解决

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

  2. 代码问题修复:针对编码过程中出现的代码问题(Problem),可以一键给出修复建议,助力开发者快速解决代码问题;

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

企业级管理

  1. 统一授权管理:支持统一为企业内开发者的添加使用权限,统一管理企业成员权限;

  2. 统计报表:提供开发者活跃、AI 代码生成占比、问答使用占比等统计数据,帮助企业快速了解使用效果;

  3. 知识管理:高效管理企业私域数据,结合企业数据提供企业知识库问答、企业代码生成增强功能,让编码助手更贴合企业业务场景;

  4. 专属 VPC 部署:企业专属版提供专属 VPC 部署,并支持企业内网连接,全链路保障企业数据安全,满足企业安全合规要求。

支持编程语言

支持 Java、Python、Go、C#、C/C++、JavaScript、TypeScript、PHP、Ruby、Rust、Scala、Kotlin 等主流编程语言。

为什么选择通义灵码

市面上也有很多AI编程工具,我也体验过一些,体验感真是一言难尽呀!但是通义灵码的横空出世给了我不一样的使用体验,不单单是我自己的体验,从通义灵码获取到的荣誉就能看出其有多么的优秀,让我们来简单看一下都有哪些荣誉

入选 2024 世界人工智能大会最高荣誉——镇馆之宝

image.png
镇馆之宝是世界人工智能大会展览的最高荣誉,从科技含量、市场前景、创新性以及社会经济效益等维度综合考量评选,每年入选数量不超过 10 个,获奖产品不仅代表了当前人工智能领域的最新技术成果,还展示了未来的发展趋势和商业潜力。作为国内最受欢迎的辅助编程工具,通义灵码凭借在功能、性能、安全性以及应用落地等方面的优势成功入选。

国内唯一入选 Gartner AI 代码助手魔力象限挑战者象限

image.png
该报告从技术创新性、产品服务能力、商业模式等 15 个维度,全方位评估企业AI代码助手的能力,是迄今为止最权威的 AI 代码助手报告。在关键能力评分中,通义灵码在代码生成、代码解释、代码调试等多项能力领先,其中代码解释能力位列全球第二。

首批通过信通院 AI 代码大模型评估最高评级

image.png
阿里云通义灵码在本次评估中获得4+级评级,是评分最高的代码大模型之一。

信通院评测结果显示:

  • 在通用能力方面,通义灵码在代码转换、代码检查及修复、代码优化等方面表现突出;
  • 在专用场景方面,通义灵码提供网站开发、数据库开发、大数据开发、嵌入式开发等多个场景支持能力;
  • 在应用成熟度方面,通义灵码具备较完善的数据合规及数据分类分级机制,且模型稳定性及可维护性表现优异,在模型推理性能、模型服务风险可控性等方面均表现优秀。

通过可信 AI 智能编码工具评估,获当前最高等级

image.png
经评估,通义灵码智能编码助手的功能完善且具备较高准确性,可为用户提供较为优质流畅的使用体验,且在性能指标方面,其响应速度、并发处理能力、系统的稳定性,均具有优秀表现。同时在模型层和服务层,具备高效稳定的工程化能力,以及知识库检索增强能力,对当前代码工程(Workspace)的理解能力较好。

安装

关于介绍也介绍了很多了,不难看出通义灵码的优秀,那么下面我们来安装一下

通义灵码是能够兼容 Visual Studio Code、Visual Studio、JetBrains IDEs 等主流编程工具的,但是本次我的主要编程工具是Visual Studio Code,所以根据Visual Studio Code的方式跟大家分享。
在Visual Studio Code中安装通义灵码是非常简单的,官方也是有详细的教程,不过我也还是简单的分享一下我的安装过程
官方教程:通义灵码安装教程
帮助文档:通义灵码帮助文档
官网:通义灵码官网

image.png

准备工作

因为使用的是Visual Studio Code来安装,所以要准备好Visual Studio Code 1.68.0 及以上版本。

  • 操作系统:Windows 7 及以上、macOS、Linux;
  • 下载并安装 Visual Studio Code 1.68.0 及以上版本。

第一种方案:从插件商店安装

搜索扩展

打开Visual Studio Code的扩展搜索TONGYI Lingma

image.png

点击信任&安装

image.png

点击登录

安装完成之后,在活动栏中就可以看到通义灵码的图标,然后点击图标之后进行登录,使用阿里云账号登录就可以
image.png

第二种方案:安装包安装

Visual Studio Code 的 VSIX 安装包
下载安装包之后在插件商店中点击右上角的更多,然后点击从CSIX安装就可以了,安装之后正常使用阿里云账号登录就可以

image.png
到这里就已经安装好了,就可以开启我们的智能编码之旅了!

简单使用

接下来我们来简单实用一下通义灵码,看看都能在我们编程过程中起到什么作用。

智能生成代码

  • 采纳单元测试代码建议:支持一键插入、复制、或者新建代码文件,可快速采纳生成的单元测试代码建议;
  • 更换单元测试框架:提供基于 JUnit、Mockito、Spring Test、unit test、pytest 等框架生成单元测试代码建议,在回答完成后,可以根据需要切换框架重新生成;
  • 新建文件:支持一键保存单元测试代码为新文件,方便进行查看和修改。

给出我们的要求让通义灵码帮我们根据要求生成代码
要求如下:

使用Python生成一个图书管理系统

  1. 要求用户可以查看所有图书(包含图书的状态借出/空闲)
  2. 要求用户可以录入图书
  3. 要求用户可以借书

通义灵码给出的结果

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()

可以看到效果还是很不错的
image.png

代码解释

支持重试、更详细、更简单、中文/英文解释的追问。

有时候在编程过程中遇到一些不太理解的函数也可以直接询问通义灵码,让它帮我们做出解释,并解释这段代码的作用,可以对我们编程有很大的作用,节省了很多查资料的时间

image.png
进入刚才通义灵码写出来的代码,选中library = Library()这段话,点击右键使用通义灵码进行代码解释
以下是通义灵码给出的解释:

代码解释
这段代码的功能是创建一个 Library 类的实例,并将其赋值给变量 library。假设 Library 类已经定义好,这个实例可以用来调用 Library 类中的各种方法和属性。

控制流图
由于这段代码非常简单,没有复杂的逻辑,因此控制流图也非常简单:

flowchart TD
    A[创建 Library 实例] --> B[赋值给 library]

详细解释

  • 创建 Library 实例:调用 Library 类的构造函数,创建一个新的 Library 对象。
  • 赋值给 library:将新创建的 Library 对象赋值给变量 library,以便后续使用。

image.png
这里展示举了一个很简单的例子,通义灵码给出了很详细的解释,在实战中遇到比较陌生的函数或者对某一段代码不解的话都可以直接让通义灵码给出回答,非常高效!

生成注释

  1. 采纳代码注释建议:支持一键插入、复制,可快速采纳生成的代码注释建议;
  2. 查看 Diff:单击查看 Diff 按钮,将快速唤起 IDE Diff 查看窗口,快速了解建议和源代码的变更。

直接全部选中刚才的图书管理系统代码,让通义灵码帮我们对项目进行注释,这样可以易于阅读和理解。

image.png

通义灵码给出的结果

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()

image.png
可以看到,通义灵码直接把每行代码的详细含义都通过注释标注到代码上了,而且可以直接覆盖到原来的python文件上。
而且还可以通过diff按钮快速唤起 IDE Diff 查看窗口,快速了解建议和源代码的变更。
image.png

代码优化建议

  1. 采纳代码优化建议:针对优化建议中的建议代码,支持一键插入、复制,快速采纳生成的建议代码;
  2. 查看 Diff:单击查看 Diff 按钮,将快速唤起 IDE Diff 查看窗口,快速了解建议和源代码的变更;

选中代码,然后点击生成优化建议,哪怕你是小白,也可以写出非常优秀的代码

image.png

智能问答

@workspace 本地工程问答

当你需要快速了解一个工程、查找工程内的实现逻辑,或有新的诉求需要进行代码变更时,可以在智能问答窗口中通过 @ 可唤起 @workspace,选中后输入你的问题或诉求,通义灵码可快速结合当前仓库进行工程理解、代码查询、代码问答等,同时可以通过自然语言描述需求,结合当前工程生成简单需求或缺陷的整体修改建议和相关建议代码。

下面是我使用@workspace对自己本地的代码库进行的一个分析
image.png
可以让我们很快的就基本了解当前代码库的一个基本作用,在工作中具有重要意义

@terminal 问答

当你遇到执行指令不知道如何写,或者不清楚某个指令的意思时,可以在智能问答窗口中通过 @ 可唤起 @terminal,选择后使用自然语言描述你的需要指令诉求,通义灵码将可以生成你需要的命令。生成指令后,你可以一键插入到 terminal 中进行执行或让通义灵码继续解释。当然,你也可以在选择 @terminal 后,输入指令让通义灵码生成指令解释。

image.png

#teamDocs 知识库问答(企业版)

当你需要结合企业内私域知识信息让通义灵码进行回答时,可以在智能问答窗口中通过 # 唤起 #teamDocs,并输入问题,通义灵码将结合企业知识库(当前用户有权限的知识库)对问题进行回答,在回复中也可以单击查看引用的企业知识库内容。

image.png

总结

自己使用通义灵码也有一段时间了,对我自己而言感觉通义灵码已经是我编程过程中不可或缺的伙伴了,有了它自己的变成效率和质量大大提高,减少了很多去查资料的时间,而且还可以帮助自己去优化代码,所以非常推荐大家去使用一下,希望大家工作顺利!

相关文章
|
9天前
|
存储 人工智能 弹性计算
阿里云弹性计算_加速计算专场精华概览 | 2024云栖大会回顾
2024年9月19-21日,2024云栖大会在杭州云栖小镇举行,阿里云智能集团资深技术专家、异构计算产品技术负责人王超等多位产品、技术专家,共同带来了题为《AI Infra的前沿技术与应用实践》的专场session。本次专场重点介绍了阿里云AI Infra 产品架构与技术能力,及用户如何使用阿里云灵骏产品进行AI大模型开发、训练和应用。围绕当下大模型训练和推理的技术难点,专家们分享了如何在阿里云上实现稳定、高效、经济的大模型训练,并通过多个客户案例展示了云上大模型训练的显著优势。
|
13天前
|
存储 人工智能 调度
阿里云吴结生:高性能计算持续创新,响应数据+AI时代的多元化负载需求
在数字化转型的大潮中,每家公司都在积极探索如何利用数据驱动业务增长,而AI技术的快速发展更是加速了这一进程。
|
4天前
|
并行计算 前端开发 物联网
全网首发!真·从0到1!万字长文带你入门Qwen2.5-Coder——介绍、体验、本地部署及简单微调
2024年11月12日,阿里云通义大模型团队正式开源通义千问代码模型全系列,包括6款Qwen2.5-Coder模型,每个规模包含Base和Instruct两个版本。其中32B尺寸的旗舰代码模型在多项基准评测中取得开源最佳成绩,成为全球最强开源代码模型,多项关键能力超越GPT-4o。Qwen2.5-Coder具备强大、多样和实用等优点,通过持续训练,结合源代码、文本代码混合数据及合成数据,显著提升了代码生成、推理和修复等核心任务的性能。此外,该模型还支持多种编程语言,并在人类偏好对齐方面表现出色。本文为周周的奇妙编程原创,阿里云社区首发,未经同意不得转载。
|
9天前
|
人工智能 运维 双11
2024阿里云双十一云资源购买指南(纯客观,无广)
2024年双十一,阿里云推出多项重磅优惠,特别针对新迁入云的企业和初创公司提供丰厚补贴。其中,36元一年的轻量应用服务器、1.95元/小时的16核60GB A10卡以及1元购域名等产品尤为值得关注。这些产品不仅价格亲民,还提供了丰富的功能和服务,非常适合个人开发者、学生及中小企业快速上手和部署应用。
|
20天前
|
自然语言处理 数据可视化 前端开发
从数据提取到管理:合合信息的智能文档处理全方位解析【合合信息智能文档处理百宝箱】
合合信息的智能文档处理“百宝箱”涵盖文档解析、向量化模型、测评工具等,解决了复杂文档解析、大模型问答幻觉、文档解析效果评估、知识库搭建、多语言文档翻译等问题。通过可视化解析工具 TextIn ParseX、向量化模型 acge-embedding 和文档解析测评工具 markdown_tester,百宝箱提升了文档处理的效率和精确度,适用于多种文档格式和语言环境,助力企业实现高效的信息管理和业务支持。
3942 3
从数据提取到管理:合合信息的智能文档处理全方位解析【合合信息智能文档处理百宝箱】
|
9天前
|
算法 安全 网络安全
阿里云SSL证书双11精选,WoSign SSL国产证书优惠
2024阿里云11.11金秋云创季活动火热进行中,活动月期间(2024年11月01日至11月30日)通过折扣、叠加优惠券等多种方式,阿里云WoSign SSL证书实现优惠价格新低,DV SSL证书220元/年起,助力中小企业轻松实现HTTPS加密,保障数据传输安全。
525 3
阿里云SSL证书双11精选,WoSign SSL国产证书优惠
|
5天前
|
人工智能 自然语言处理 前端开发
用通义灵码,从 0 开始打造一个完整APP,无需编程经验就可以完成
通义灵码携手科技博主@玺哥超carry 打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用 AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。本教程完全免费,而且为大家准备了 100 个降噪蓝牙耳机,送给前 100 个完成的粉丝。获奖的方式非常简单,只要你跟着教程完成第一课的内容就能获得。
|
16天前
|
安全 数据建模 网络安全
2024阿里云双11,WoSign SSL证书优惠券使用攻略
2024阿里云“11.11金秋云创季”活动主会场,阿里云用户通过完成个人或企业实名认证,可以领取不同额度的满减优惠券,叠加折扣优惠。用户购买WoSign SSL证书,如何叠加才能更加优惠呢?
995 3
|
8天前
|
数据采集 人工智能 API
Qwen2.5-Coder深夜开源炸场,Prompt编程的时代来了!
通义千问团队开源「强大」、「多样」、「实用」的 Qwen2.5-Coder 全系列,致力于持续推动 Open Code LLMs 的发展。
|
13天前
|
机器学习/深度学习 存储 人工智能
白话文讲解大模型| Attention is all you need
本文档旨在详细阐述当前主流的大模型技术架构如Transformer架构。我们将从技术概述、架构介绍到具体模型实现等多个角度进行讲解。通过本文档,我们期望为读者提供一个全面的理解,帮助大家掌握大模型的工作原理,增强与客户沟通的技术基础。本文档适合对大模型感兴趣的人员阅读。
446 18
白话文讲解大模型| Attention is all you need