获取官方安装链接:下载安装_通义灵码-阿里云
JetBrains IDEs 的安装指南
以下步骤适用于 macOS、Windows 和 Linux 系统的 JetBrains IDEs,教你怎么安装通义灵码。
步骤 1:准备工作
- 操作系统要求:Windows 7 及以上版本、macOS 或 Linux;
- 确保你下载并安装了兼容的 JetBrains IDEs,版本要在 2020.3 及以上,通义灵码支持的 IDE 包括:
- IntelliJ IDEA(旗舰版、社区版、教育版)
- PyCharm(专业版、社区版、教育版)
- WebStorm
- Android Studio
- CLion
- GoLand
- PhpStorm
- Rider
- RubyMine
- RustRover
步骤 2:在 JetBrains IDEs 中安装通义灵码
方法 1:通过插件市场安装
- 首先,打开 IntelliJ IDEA 的设置界面,在插件市场搜索 TONGYI Lingma,找到通义灵码后点击安装。
- 安装完成后,记得重启 IntelliJ IDEA。
通过插件市场安装通义灵码
方法 2:通过下载包安装
- 点击下面的链接,下载 JetBrains IDEs 的 zip 安装包;
- ⇩ TONGYI Lingma – JetBrains,下载地址:https://tongyi-code.oss-cn-hangzhou.aliyuncs.com/jetbrain/tongyi-jetbrains-latest.zip
- 下载完成后,打开 IntelliJ IDEA,进入设置,在插件管理的下拉菜单中选择从本地安装插件,找到下载的 zip 文件进行安装。
- 重启 IntelliJ IDEA 之后,找一下左边导航栏中的通义灵码,点击进入后就能看到助手窗口,记得点一下登录按钮哦。
- 登录后,你会被引导到登录页面,完成登录就可以开始在 IDE 客户端里使用了。关于具体的登录步骤,可以查阅一下:登录通义灵码插件端。
- 如果需要退出登录,可以点击右下角的通义灵码图标,轻松退出哦。
- 想要进行高级设置的话,点击右下角的通义灵码图标,然后选择高级设置就可以了。
步骤 3:开始你的智能编码之旅
通义灵码登录
通义灵码退出登录
通义灵码高级设置
二、JetBrains IDEA 使用小贴士2.1、代码解读
首先,选中你想要解读的代码,然后右键点击,接着找到通义灵码,最后选择“解释代码”就行了。
代码解读示例
解读过程
示意流程图
代码解释得相当详尽,真是厉害,对吧?而且它还能自动生成流程图,这对于程序员理解业务逻辑特别有帮助,基本上你有什么疑问就点哪里,立马就能懂。
2.2、注释生成
同样的方法,选中你想要添加注释的代码,右键点击,找到通义灵码,然后选择“生成注释”就可以了。
注释生成示例
2.3、代码优化
优化代码
使用通义灵码,你只需选中需要优化的代码,点击右键,选择“优化代码”,它就会对你代码中的潜在问题进行分析,并给出优化建议和修正版。
问题分析及风险提醒
这就是优化后的完整代码截图,清晰明了。
优化后的代码
有些难找的bug,使用通义灵码的代码优化功能可能就能轻松搞定了。在如今很多项目都对代码质量有高要求的情况下,利用这个功能写出高质量的代码绝对不是问题。
2.4、代码片段补全
当你把光标放在还没写完的代码上,右键点击选择通义灵码中的“代码片段补全”,或者直接使用快捷键ALT + P,这时会出现一些灰色的建议代码,按下Tab键就能轻松接受这些代码了。
代码片段补全
提示代码
接受代码
2.5、生成单元测试
如果你想为某个方法生成单元测试,只需点击通义灵码的图标,然后选择“生成单元测试”即可。
生成单元测试
轻松搞定单元测试和智能问答
单元测试说明
这里有个关于单元测试的完整示例,制作得相当真实,赶紧看看代码吧:
package com.xxx;
import com.xxx.UserServiceImpl;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.junit.MockitoJUnitRunner;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
@RunWith(MockitoJUnitRunner.class)
public class UserServiceImplTest {
@InjectMocks
private UserServiceImpl userService;
@Before
public void setUp() {
// 在这里可以做一些准备工作
}
@Test
public void getGender_NullIdentityCard_ThrowsIllegalArgumentException() {
assertThrows(IllegalArgumentException.class, () -> userService.getGender(null));
}
@Test
public void getGender_InvalidLength_ThrowsIllegalArgumentException() {
assertThrows(IllegalArgumentException.class, () -> userService.getGender("12345678901234567"));
}
@Test
public void getGender_ValidMaleIdentityCard_ReturnsMale() {
String identityCard = "123456199001011235"; // 第17位是3,这说明是男
assertEquals("男", userService.getGender(identityCard));
}
@Test
public void getGender_ValidFemaleIdentityCard_ReturnsFemale() {
String identityCard = "123456199001011244"; // 第17位是4,这说明是女
assertEquals("女", userService.getGender(identityCard));
}
}
运行这些单元测试,结果全都通过了,太棒了!
单元测试通过
不过呢,生成的单元测试好像没有包含身份证号格式的合法性校验(因为业务代码中没有相关检查,所以没有生成),这意味着不一定覆盖所有的使用场景。你得根据实际需求来调整或添加,虽然已经涵盖了大部分情况,但对手动编写单元测试的帮助确实大大提升了效率。关于缺失的部分,可以通过智能问答功能来填补,下面会告诉你具体怎么做。
2.6、智能问答
只需点击右边的通义灵码图标 -> 智能问答 -> + -> 选择 UserServiceImpl,然后在对话框中输入:getGender 方法增加身份证号码格式校验,最后按回车,代码就能快速生成,效果还不错呢!
身份证号码校验与性别判断的代码实现
增加身份证号码格式校验
下面是完整的代码示例:
/**
* 根据身份证号来判断用户的性别
*
* @param identityCard 身份证号
*/
@Override
public String getGender(String identityCard) {
if (identityCard == null || identityCard.length() != 18) {
throw new IllegalArgumentException("身份证号码不合法");
}
// 检查身份证号码格式
if (!identityCard.matches("\d{17}[0-9Xx]")) {
throw new IllegalArgumentException("身份证号码格式不正确");
}
int genderDigit = Integer.parseInt(identityCard.substring(16, 17));
return genderDigit % 2 == 1 ? "男" : "女";
}
不过这里还缺少了对身份证号码格式的单元测试,你可以在对话框里输入:添加一条检查身份证格式的单元测试用例。
补充单元测试
标题:轻松掌握用户服务测试,确保功能无误!
“`html
在这个代码片段中,我们主要关注如何测试一个用户服务的实现。通过JUnit和Mockito这个组合,我们可以有效地验证服务的各个功能是否正常运行。
首先,我们定义了一个测试类UserServiceImplTest,并在其中使用了@InjectMocks来创建UserServiceImpl的实例。这一切准备工作都在@Before注解的方法中进行,可以根据需要进行各种设置。
接下来,我们逐一进行测试,确保每一种情况都能得到正确的处理。比如,当传入的身份证号为null时,我们期望抛出IllegalArgumentException异常;对于长度不符合要求的身份证号,也要进行相同的处理。更有趣的是,格式不正确的身份证号,比如包含字母或其他特殊字符的,也会引发异常。
当然,我们也有正常情况的测试。比如,一个正确的身份证号,如果第17位是奇数,我们就能判断出性别为“男”;如果是偶数,则显示为“女”。
最后,值得一提的是,这些单元测试都顺利通过,确保了我们的代码逻辑是可靠的。
如果你在开发过程中需要快速理解项目的逻辑或遇到什么疑问,可以使用@workspace功能来获取帮助,快速找到你想要的信息。或者,当你在执行命令时不知道如何写,可以通过@terminal来生成你需要的命令,简化你的工作流程。
“`
@terminal指令使用
2.7 AI 程序员
通义灵码 AI 程序员具备可同时修改多个文件(Multi-file Edit)和工具使用(Tool-use)的强大能力,能和开发者合作完成各种编码任务,比如实现需求、解决问题、生成单元测试用例以及批量修改代码等。
说明
使用通义灵码 AI 程序员时,需要确保通义灵码 IDE 插件更新到最新版本(2.0.0或更高版本)。
AI 程序员能帮助开发者迅速完成代码编写。在与 AI 程序员互动时,可以考虑以下几点:
- 清晰的需求描述:首先,得明确你需要 AI 程序员帮你做什么,建议有个明确的目标,并通过步骤化的结构详细描述你希望实现的开发任务;
- 指定需要的上下文:选择合适的代码文件、图片、代码库、代码变更等上下文,有助于 AI 程序员理解你的需求背景。此外,结合详细的执行步骤,AI 能更准确地把握你的意图,提供最优方案和代码建议;
- 明确生成要求:告诉 AI 程序员在生成代码时你期望遵循的标准,比如编程语言、规范、格式和变更目标等,像是“生成变更时要为每个方法添加英文注释”;
- 善用快照功能:如果 AI 生成的内容没达到你的预期,或者需求变了,可以通过快照功能回到之前的对话和代码变更,再继续提问;
- 审查和修改变更:AI 程序员在多个文件完成代码变更后,开发者可以通过变更对比视图(Diff View)进行审查,接受、拒绝或修改部分代码,确保最终得到符合你预期的代码变更。
在 AI 程序员的对话框中输入你的需求,就能迅速生成相关代码。
与AI 程序员对话,生成代码
三、常用的快捷键
通义灵码的各种操作都配备了即插即用的快捷键,下面是一些常用的快捷键,供你参考。
|
功能 |
Windows快捷键 |
macOS快捷键 |
|
在任意位置触发代码补全 |
Alt + P |
Option + P |
|
更换生成的结果 |
Alt + ] |
Option + ] |
|
一键采纳所有生成的代码 |
Tab |
Tab |
|
逐行采纳生成的代码 |
Ctrl + ↓ |
Ctrl + ↓ |
|
打开/关闭对话面板 |
Ctrl + Shift + L |
Cmd + Shift + L |
|
解释代码 |
Alt + Shfit + P |
|
|
生成单元测试 |
Alt + Shfit + U |
|
|
生成注释 |
Alt + Shfit + V |
|
|
优化代码 |
Alt + Shfit + O |
|
|
代码片段补全 |
Alt + P |
四、总结
总的来说,“通义灵码”真的是国内非常出色的AI插件,它的兼容性强,支持很多IDE,给程序员们带来了极大的便利。它的核心功能丰富多样,不仅能解释复杂的代码逻辑,让你一目了然;还可以精准生成注释,提升代码的可读性和可维护性;高效优化代码,去掉冗余,提高性能;轻松生成单元测试,确保代码质量;另外,还有智能问答和模拟AI程序员助手等实用功能。作为编程领域的得力助手,它绝对能显著提高程序员的开发效率,真是难得的编程好帮手。
