Spring项目开发的智能助手:通义灵码使用指南

简介

通义灵码是由阿里云技术团队打造的智能编码助手。它基于通义大模型,能够提供以下功能:

  • 代码续写和优化

  • 自然语言描述生成代码

  • 注释生成和代码解释

  • 单元测试生成

  • 研发智能问答

  • 代码问题修复等

通义灵码官网: tongyi.aliyun.com/lingma/

通义灵码支持多种开发环境,包括 JetBrains IDEs、++Visual Studio Code++、Visual Studio,以及远程开发场景(Remote SSH、++Docker++、WSL、Web IDE)。安装后登录账号即可开始使用。

对于 Java 开发者而言,IntelliJ IDEA 是非常合适的开发工具,虽然 VSCode 也可以使用通义灵码插件,但本文将重点介绍如何在 IntelliJ IDEA 中使用通义灵码进行 Spring 项目的开发。

安装

安装过程可以参考 IntelliJ IDEA 中安装和使用通义灵码 AI 编程助手教程

功能演示

代码续写

通义灵码提供了行级和函数级的代码补全功能。当你在 IDE 编辑器区进行代码编写时,在开启自动云端生成的模式下,通义灵码会根据当前代码文件及相关代码文件的上下文,自动为你生成行级 / 函数级的代码建议。此时你可以使用快捷键来采纳、废弃或查看不同的代码建议。

同时,在编码过程中也可以通过快捷键 ​+​P​ 手动触发生成代码建议。

以下是相关快捷键供参考:

操作 macOS Windows
接受行间代码建议 Tab Tab
废弃行间代码建议 esc esc
查看上一个行间推荐结果 ⌥(option) + [ Alt+[
查看下一个行间推荐结果 ⌥(option)+] Alt+]
手动触发行间代码建议 ⌥(option)+P Alt+P

部分文件可能不需要使用代码续写功能,可以参考禁用行间生成进行配置。

代码注释

通义灵码提供了代码注释功能,能够根据你的代码生成对应的注释,方便代码阅读和维护。

使用代码注释时,先选中需要注释的代码,代码左上角会出现一个按钮,点击即可选择代码注释功能。

也可以使用快捷键 Shift+Alt+V,或者在右键菜单中选择代码注释功能。

注释结果会在右侧显示

你可以通过通义灵码返回的代码块右上角的按钮进行操作,包括插入、复制、新建和合并(diff)操作。

通常,注释是使用插入来把原代码替换成有注释的代码。

代码解释

代码解释与代码注释不同,注释是为了让代码更易读,而代码解释是告诉你代码为什么这么写。

选中代码后,点击通义灵码的代码解释按钮,通义灵码会根据你的代码生成对应的解释。

生成的结果如下

单元测试生成

对于软件开发而言,测试至关重要,甚至有测试用例先行的开发模式。

通义灵码提供了生成代码的单元测试的功能,并会告诉你为什么要测试这些用例。

选中代码后,点击通义灵码的生成单元测试代码按钮,通义灵码会根据你的代码生成对应的单元测试用例,并提供测试代码。

测试用例代码一般是复制到一个专门的测试用例文件中,方便后续测试。

也可以用新建文件功能,让通义灵码帮你创建一个测试用例文件。

代码优化

通义灵码提供了代码优化的功能,它可以找到选中代码可能存在的问题。

并对这些问题提出针对性的建议,同时给出优化后的代码。

代码优化一般使用合并(diff)操作来把原代码替换成优化后的代码。

智能问答

通义灵码的智能问答功能可以对你的问题做出回答,你也可以让它进行代码创作,根据你的需求生成相应的代码。

会话创建和清理

AI 会根据之前的对话来继续跟进与你的对话,也就是说,AI 会记住你之前的提问,这让 AI 变得更加聪明,但有时候我们需要适时结束会话。

此时可以用创建新会话或者清理会话来实现这个功能。

  • **清理会话:**在对话框中输入 ​/clearContext​,然后点击确定即可。

  • **创建新会话:**点击右上角的加号(​+​)。

AI程序员

AI 程序员是通义灵码使用 AI 实现的功能,现在 AI 也可以像程序员一样协助我们进行代码的修改了。

相关推荐
阿湯哥2 小时前
Spring AI Alibaba 实现 Workflow 全指南
java·人工智能·spring
萧曵 丶4 小时前
Spring Cloud Alibaba 详解
spring·spring cloud
szm02254 小时前
Spring
java·后端·spring
萧曵 丶6 小时前
Spring 全套高频面试题(由浅到深 完整版)
java·后端·spring
雨中飘荡的记忆7 小时前
Spring Security入门:构建安全应用
spring
老毛肚8 小时前
Spring源码探究2.0
java·后端·spring
涵涵(互关)8 小时前
添加了 @TableId(type = IdType.AUTO) 但仍生成超大 ID
数据库·spring·mybatis
运维@小兵9 小时前
Spring AI入门
java·人工智能·spring
仙俊红9 小时前
Spring 构造器注入 vs 字段注入
java·后端·spring
0和1的舞者9 小时前
Spring 事务核心知识点全梳理(编程式 + 声明式 + 注解详解)
java·后端·spring