【IDEA+通义灵码插件】实现属于你的大模型编程助手

简介: 【IDEA+通义灵码插件】实现属于你的大模型编程助手

1.前言

大模型到底该以一种什么方式落地,从而嵌入我们的工作当中,助力我们工作效率的提升,其实最好的方式也许就是虚拟助手的方式,就像钢铁侠的"贾维斯"一样,随叫随到能回答问题,能自动的解决一些问题。

阿里开源出了自己的编程大模型“通义灵码”之后,我们可以通过IDEA插件的方式轻松打造一个自己的编程“贾维斯”。

2.下载安装

直接去插件市场里面搜索TONGYI Lingma就可以搜索出对应插件:


安装好之后需要我们用自己的阿里云账号来登录,点击登录会转跳登陆界面,用支付宝或者淘宝扫码即可:

登录完成后IDEA的面板会变成这样:


这样我们就有了自己的编程“贾维斯”。

它具体能做什么?已经写的很清楚了:

接下来我们就来感受一下这些功能。

3.解释代码

解释代码,这功能就太好用了。我说几种情况,大家要是中招的,可以把"真实"二字打在评论区里。


情况一:


祖传代码我相信大家目前所在的团队都会是有的,目前博主所在的团队手里就有大量的祖传代码,其中一个后端的controller类有接近一万行代码。这些沉重的“历史包袱”往往是阻碍我们开发的罪魁祸首。真不是写不出来,而是读不懂。


情况二:


作为后端的我们对前端代码其实没有那么熟悉,但有些时候我们是需要去碰一下前端代码做一些小修小改的。这种时候代码读起来真的是连蒙带猜。


情况三:


一些开源组件或框架的底层源码其实写的不一定就是很规范的,源码简直就是一片汪洋大海,很容易在里面迷路。


真实吧?ok,那找个帮手来帮我们一下就行了,交给通义灵码给我们翻译成人话就行了。


选中要翻译的代码,解释代码即可。

可以看到解释的非常准确:

当然你要是觉得它解释的不够清楚,还可以点击更详细,让它解释的更详细一点:

4.生成单元测试

但凡是对质量有一定要求的团队,在实际的生产中,单元测试是必然逃不过的一环,并且还会要求很高的覆盖率。关于单元测试博主前面有专门的文章讲解,有需要的话可以移步:

关于单元测试,是既重要又繁琐,它需要自己去手动写代码来构建测试用例,但既然是手动的活儿就有几率写的不好,覆盖不全面的情况发生。交给通义灵码,它可以自动帮我们生成单元测试。

选中我们想要生成单元测试的方法:

通义灵码会自动生成单元测试:

可以看到它生成的是junit的单元测试,同时它也提供了让我们选择其它诸如mockito之类的测试框架。

注意头上右上角的选项哈,它是可以自动帮我们生成类文件的:

来看一下它生成的单元测试对不对:

可以看到是很正确的,该用mock的方式注入JDBC,它是注入了的,改声明主启动类从而给出一个IOC环境,它也是正确声明了的。

package com.eryi.service;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import static org.mockito.Mockito.*;
import static org.junit.jupiter.api.Assertions.*;
@ExtendWith(MockitoExtension.class)
@ExtendWith(SpringExtension.class)
public class UserServiceTest {
    @Mock
    private JdbcTemplate jdbcTemplate;
    @InjectMocks
    private UserService userService;
    @BeforeEach
    public void setUp() {
        // 初始化测试环境
    }
    @Test
    public void testTransfer() {
        // 设置预期行为
        when(jdbcTemplate.update(anyString(), anyVararg())).thenReturn(1);
        // 调用待测试的方法
        userService.transfer();
        // 验证方法调用
        verify(jdbcTemplate, times(1)).update("update user set balance = balance - ? where id = ?", 100, 1);
        verify(jdbcTemplate, times(1)).update("update user set balance = balance + ? where id = ?", 100, 2);
        // 验证事务是否回滚
        try {
            userService.transfer();
            fail("Expected an exception to be thrown");
        } catch (RuntimeException e) {
            // 异常应该被抛出
        }
    }
}
 

5.生成注释

6.智能补全

写代码写一半补全另一半已经很强了是吧?

通义灵码还能通过注释直接生成代码,写完注释后回车,然后会智能提示出可补全的内容,按tab键可以采纳智能补全。

目录
相关文章
|
8天前
|
人工智能 自然语言处理 测试技术
通义灵码上新推理模型,快来体验数学编程双冠王 Qwen2.5-Max
近日,通义灵码上新模型选择功能,除新增 DeepSeek 满血版 V3 和 R1 外,Qwen2.5-Max 也正式上线,它使用了超过 20 万亿 token 的预训练数据及精心设计的后训练方案进行训练。
|
9天前
|
人工智能 编解码 测试技术
阿里云通义千问发布多款AI大模型 多模态、长文本能力全面升级!
阿里云通义千问发布多款AI大模型 多模态、长文本能力全面升级!
|
10天前
|
人工智能 自然语言处理 机器人
招商银行X通义大模型 ,2024年度AI最佳实践案例!
招商银行X通义大模型 ,2024年度AI最佳实践案例!
|
9天前
|
人工智能 资源调度 调度
与上亿玩家一同闯荡江湖!逆水寒联手通义共创AI大模型竞技场
与上亿玩家一同闯荡江湖!逆水寒联手通义共创AI大模型竞技场
|
9天前
|
传感器 人工智能 vr&ar
雷鸟创新与阿里云达成战略合作,AR眼镜接入通义大模型
雷鸟创新与阿里云达成战略合作,AR眼镜接入通义大模型
|
11天前
|
测试技术
阿里通义千问Qwen2.5进入大模型盲测全球前十
阿里通义千问Qwen2.5进入大模型盲测全球前十
|
11天前
|
人工智能 开发者
阿里云通义开源大模型获评“2024中国互联网企业创新发展典型案例”
阿里云通义开源大模型获评“2024中国互联网企业创新发展典型案例”
|
11天前
|
测试技术 API 开发者
通义千问Qwen2.5-Max登上大模型盲测榜单全球前十,数学及编程能力夺冠
通义千问Qwen2.5-Max登上大模型盲测榜单全球前十,数学及编程能力夺冠
|
11天前
|
人工智能 IDE 程序员
从 AI Coding 演进路径看通义灵码 AI 程序员的发布,让更多 idea 变成产品
从 AI Coding 演进路径看通义灵码 AI 程序员的发布,让更多 idea 变成产品
|
11天前
|
人工智能 自然语言处理 安全
通义灵码插件下载量破千万!感谢大家的喜爱
通义灵码插件下载量破千万!感谢大家的喜爱

热门文章

最新文章