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 也可以像程序员一样协助我们进行代码的修改了。

相关推荐
香气袭人知骤暖12 小时前
Nacos 服务发现保证机制解析
java·spring·服务发现
码界奇点13 小时前
基于Spring MVC与AngularJS的API接口管理系统设计与实现
spring·毕业设计·yapi·mvc·angular.js·源代码管理
梵得儿SHI13 小时前
SpringCloud 核心组件精讲:OpenFeign 实战指南-服务调用优雅实现方案(含自定义拦截器、超时重试、LoadBalance 整合避坑)
spring boot·spring·spring cloud·负载均衡·openfeign的核心应用·微服务调用·熔断组件
YDS82914 小时前
SpringCloud —— 配置管理
java·spring·spring cloud
长征coder14 小时前
SpringCloud服务优雅下线LoadBalancer 缓存配置方案
java·后端·spring
没有bug.的程序员14 小时前
微服务的本质:不是拆服务,而是拆复杂度
java·jvm·spring·微服务·云原生·容器·架构
程序员阿明14 小时前
spring boot 3集成spring security6
spring boot·后端·spring
后端小张14 小时前
【JAVA 进阶】深入拆解SpringBoot自动配置:从原理到实战的完整指南
java·开发语言·spring boot·后端·spring·spring cloud·springboot
大佐不会说日语~1 天前
Spring AI Alibaba 的 ChatClient 工具注册与 Function Calling 实践
人工智能·spring boot·python·spring·封装·spring ai
serendipity_hky1 天前
【SpringCloud | 第5篇】Seata分布式事务
分布式·后端·spring·spring cloud·seata·openfeign