通义灵码——有了它让我的编程效率和质量直线上升!

简介: 作为一名大数据开发工程师,我每天与代码和数据打交道,享受解决复杂问题的乐趣。最近,我遇到了一位超级“码”力助手——通义灵码。它不仅是一个简单的代码补全工具,更像是一个拥有高度智慧的编程伙伴,能够理解我的编程意图,给出最合适的建议,大大提升了我的工作效率和编程体验。本文将分享如何在VsCode中安装和使用通义灵码,以及它在我的实际编程工作中发挥的重要作用。

前言

大家好,我是一名大数据开发工程师,在我实际工作当中每天与代码和数据为伍,享受着解决复杂问题的乐趣。今天,我想和大家聊聊我最近在编程之旅上遇到的一位超级“码”力助手——通义灵码。别小看这个名字,它可是我在VsCode里的新宠,帮我解决了不少头疼的问题,让我的工作效率和编程体验都上了一个新台阶。

之前也接触过一些编程辅助工具,但是感觉其实很多都挺鸡肋的,不过当我尝试了一段时间的通义灵码之后,给我的感觉完全不一样!它不仅仅是一个简单的代码补全工具,更像是一个拥有高度智慧的编程伙伴,能够理解我的编程意图,给出最合适的建议。

在编程的过程中,我们经常会遇到各种“卡壳”的情况,比如函数怎么用、API参数怎么配、代码性能怎么优化等等。这些问题如果靠自己解决,往往需要花费大量的时间和精力去查阅文档、搜索答案。但是,有了通义灵码之后,一切都变得简单多了。它就像是我的私人编程顾问,能够在我需要的时候,及时给出准确的答案和建议,让我的编程效率大大提升。

而且,通义灵码还有一个特别棒的优点,就是它能够根据我的编程习惯和项目需求,智能推荐代码片段和最佳实践。这对我来说,简直就是如虎添翼。有时候,我甚至在还没有完全明确自己的想法之前,通义灵码就已经给出了我需要的代码片段,让我可以迅速进入编程状态,不再为找不到合适的代码模板而烦恼。

所以今天也是想跟大家分享一下在VsCode中安装和使用通义灵码,以及它在我的实际编程工作中是如何发挥作用的。希望我的分享能够对你有所帮助,让我们一起在编程的道路上走得更远、更稳。

通义灵码介绍

兼容编程工具

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:下载安装包安装后使用

不同版本功能

版本 个人基础版 个人专业版 企业标准版 企业专属版
包含功能 代码生成: 行/函数级代码实时续写 注释生成代码离线型单行补全跨文件感知能力多结果推荐智能问答:研发智能问答生成代码注释生成代码解释异常报错排查提交信息生成代码问题修复建议 代码生成:行/函数级代码实时续写注释生成代码离线模型单行补全跨文件感知能力多结果推荐智能问答:研发智能问生成代码注释生成代码解释异常报错排查提交信息生成代码问题修复建议生成单元测试代码优化本地工程问答 代码生成:行/函数级代码实时续写注释生成代码离线模型单行补全跨文件感知能力多结果推荐企业代码生成增强(Beta)智能问答:研发智能问答生成代码注释生成代码解释异常报错排查提交信息生成代码问题修复建议生成单元测试代码优化本地工程问答企业知识库问答企业管理:授权管理统计报表审计日志知识管理企业版专用推理服务限制:知识管理容量:500MB 代码生成:行/函数级代码实时续写注释生成代码离线模型单行补全跨文件感知能力多结果推荐企业代码生成增强智能问答:研发智能问答生成代码注释生成代码解释异常报错排查提交信息生成代码问题修复建议生成单元测试代码优化本地工程问答企业知识库问答企业管理:授权管理统计报表审计日志知识管理多组织管理专属 VPC 部署IP 白名单管理专有网络访问企业版专用推理服务限制:知识管理容量:5GB

安装

通义灵码是能够兼容 Visual Studio CodeVisual StudioJetBrains 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生成一个图书管理系统

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

通义灵码给出的结果

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]

详细解释

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

image.png

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

生成注释

  • 采纳代码注释建议:支持一键插入、复制,可快速采纳生成的代码注释建议;
  • 查看 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

代码优化建议

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

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

智能问答

@workspace 本地工程问答

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

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

@terminal 问答

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

image.png

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

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

image.png

总结

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

相关文章
|
6月前
|
人工智能 运维 Cloud Native
解密通义灵码:软件研发工具的“大脑”
解密通义灵码:软件研发工具的“大脑”
Nyx
|
26天前
|
Java
通义灵码提升项目效率
本文介绍了作者作为Java后端开发工程师使用通义灵码进行项目开发的体验。通过安装插件、初步体验(了解项目结构、项目优化、异常排查、代码生成)和使用@terminal注解,作者感受到了显著的开发效率提升。文中还分享了作者的心得体会,强调了快速熟悉项目代码和整体架构的重要性。
Nyx
47 4
|
3月前
|
人工智能 IDE 测试技术
一文教会你如何用好通义灵码,让这款 AI 编码工具帮你做更多工作,更高效
如何用好通义灵码?欢迎收藏最佳使用指南。本文提供通义灵码使用指南,涵盖快捷键、配置调整、跨文件索引及上下文管理等内容,帮助用户更高效地使用通义灵码。
|
14天前
|
人工智能 自然语言处理 IDE
💡通义灵码:让每个人都能成为软件开发的「超级个体」
通义灵码是阿里巴巴达摩院推出的大模型技术,支持多种编程语言和框架,具备强大的自然语言理解和生成能力。它能够自动生成代码、自动化测试、文档编写等,显著提升开发效率,降低技术门槛,让每个人都能轻松参与软件开发。通义灵码不仅支持多语言、多编辑器,还具备智能问答、代码优化等功能,为企业和开发者提供全方位的支持。通过通义灵码,开发者可以从繁琐的任务中解放出来,专注于创新和创意,推动软件开发进入新时代。
38 4
💡通义灵码:让每个人都能成为软件开发的「超级个体」
|
14天前
|
人工智能 测试技术 API
探索通义灵码的无限可能:功能场景与应用实战分析
本文深入探讨了通义灵码在现代软件开发中的应用价值。通过代码补全、单元测试自动生成等功能,通义灵码显著提升了开发效率和代码质量。文章通过具体案例展示了其在团队协作、代码风格一致性和创新项目中的实用性,并展望了未来开发的新趋势。
51 5
探索通义灵码的无限可能:功能场景与应用实战分析
|
12天前
|
编解码 Java Android开发
通义灵码:在安卓开发中提升工作效率的真实应用案例
本文介绍了通义灵码在安卓开发中的应用。作为一名97年的聋人开发者,我在2024年Google Gemma竞赛中获得了冠军,拿下了很多项目竞赛奖励,通义灵码成为我的得力助手。文章详细展示了如何安装通义灵码插件,并通过多个实例说明其在适配国际语言、多种分辨率、业务逻辑开发和编程语言转换等方面的应用,显著提高了开发效率和准确性。
|
15天前
|
人工智能 自然语言处理 安全
创新不设限,灵码赋新能:通义灵码新功能深度评测
自从2023年通义灵码发布以来,这款基于阿里云通义大模型的AI编码助手迅速成为开发者心中的“明星产品”。它不仅为个人开发者提供强大支持,还帮助企业团队提升研发效率,推动软件开发行业的创新发展。本文将深入探讨通义灵码最新版本的三大新功能:@workspace、@terminal 和 #team docs,分享这些功能如何在实际工作中提高效率的具体案例。
|
12天前
|
人工智能 自然语言处理 数据可视化
比 Copilot 快两倍以上,在我的开源项目 AI Godot 桌宠中用通义灵码解决问题
在我的开源项目 AI Godot 桌宠中用通义灵码解决问题。
|
18天前
|
Java
一转眼通义灵码已经一周岁了~在开发过程中有通义灵码的加持,大大的减轻了工作负担,效率直线提升!~~大赞
我是一位JAVA开发工程师,用通义灵码个人版做代码生成/代码检测/代码优化等,对比之前没有灵码,现在提效了30%
|
19天前
|
安全 Java BI
通义灵码一周年:灵码编码搭子新功能测评
通义灵码个人版是专为Java开发工程师设计的高效工具,其@workspace和@terminal功能极大地简化了新项目架构的熟悉过程和新功能的开发,显著提升了开发效率和代码质量,成为现代开发者的得力助手。
44 4