二、IDE集成DeepSeek保姆级教学(使用篇)

各位看官老爷好,如果还没有安装DeepSeek请查阅前一篇

一、IDE集成DeepSeek保姆级教学(安装篇)

一、DeepSeek在CodeGPT中使用教学

1.1、Edit Code 编辑代码

选中代码片段 ---> 右键 ---> CodeGPT ---> Edit Code, 输入自然语言可编辑代码,点击Submit提交


基本是按自然语言生成的,补全后的代码如下

java 复制代码
	public User findByName(String name) {
		if (StringUtils.isEmpty(name)) {
			return null;
		}
		User condition = new User();
		condition.setName(name);
		return userMapper.selectOne(condition);
	}

1.2、Find Bugs 查找bug

选中代码片段 ---> 右键 ---> CodeGPT ---> Find Bugs 即可对代码进行潜在 Bug 分析


分析得合理且详细有木有,并且会给出优化建议,优化后瞬间修复了bug,还提升了性能,下面附上完整的优化代码:

java 复制代码
public String getGender(String identityCard) {
    if (identityCard == null) {
        throw new IllegalArgumentException("身份证号码不能为空");
    }
    if (identityCard.length() != 18) {
        throw new IllegalArgumentException("身份证号码长度必须为18位");
    }
    char genderChar = identityCard.charAt(16); // 直接获取第17位字符
    if (!Character.isDigit(genderChar)) {
        throw new IllegalArgumentException("身份证号码第17位必须是数字");
    }
    return (genderChar - '0') % 2 == 1 ? "男" : "女"; // 字符转数字并判断奇偶性
}

1.3、Explain 解释代码

选中代码片段 ---> 右键 ---> CodeGPT ---> Explain,代码解释可以帮助程序员快速理解业务逻辑



1.4、Refactor 代码重构

选中代码片段 ---> 右键 ---> CodeGPT ---> Refactor,感觉不合理的代码都可以借助AI进行代码重构


重构后的代码如下,使用 try-with-resources 简化资源管理避免内存泄露,抽取 createReadSheet 方法减少重复代码

java 复制代码
// 使用 try-with-resources 简化资源管理
String fileName = "F:\\demo.xlsx";
try (ExcelReader excelReader = EasyExcel.read(fileName).build()) {
    // 创建并配置两个工作表
    ReadSheet readSheet1 = createReadSheet(0, new DemoDataListener());
    ReadSheet readSheet2 = createReadSheet(1, new DemoDataListener());

    // 同时读取两个工作表
    excelReader.read(readSheet1, readSheet2);
} catch (Exception e) {
    log.error("读取 Excel 文件失败", e);
    return failed("读取失败");
}
return success();

// 辅助方法:创建并配置 ReadSheet
private ReadSheet createReadSheet(int sheetNo, DemoDataListener listener) {
    return EasyExcel.readSheet(sheetNo)
                    .head(DemoData.class)
                    .registerReadListener(listener)
                    .build();
}

1.5、Optimize 优化代码

选中代码片段 ---> 右键 ---> CodeGPT ---> Optimize,优化代码功能可以帮助程序员极大提高代码质量

优化后的完整代码如下:

java 复制代码
@Override
public String getGender(String identityCard) {
    // 检查身份证号是否为空或长度不为18
    if (identityCard == null || identityCard.length() != 18) {
        throw new IllegalArgumentException("无效的身份证号码:身份证号不能为空且长度必须为18位");
    }

    // 检查身份证号格式(前17位为数字,最后一位为数字或X)
    if (!identityCard.matches("\\d{17}[\\dX]")) {
        throw new IllegalArgumentException("无效的身份证号码:格式不正确");
    }

    // 直接获取第17位字符
    char genderChar = identityCard.charAt(16);

    // 判断性别:奇数男,偶数女
    return (genderChar - '0') % 2 == 1 ? "男" : "女";
}

优化后的优势

  • 格式校验更严格:确保身份证号符合标准格式(前 17 位为数字,最后一位为数字或 X)。
  • 健壮性增强:避免非法输入导致逻辑错误或异常。
  • 可读性提高:通过正则表达式明确校验规则,代码更清晰。

优化总结:增加身份证格式校验后,代码更加健壮,能够有效过滤非法输入,同时保持了原有功能的简洁和高效。

1.6、Write Tests 编写单元测试

选中代码片段 ---> 右键 ---> CodeGPT ---> Write Tests, 不爱写单元测试的程序员有福音了,通过deepseek直接生成,做轻微调整就能用,极大减少了编写单元测试的时间

完整的单元测试代码如下:

java 复制代码
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

class GenderUtilTest {

    @Test
    void testGetGender_Male() {
        String identityCard = "110105199003071234"; // 第17位为奇数
        assertEquals("男", GenderUtil.getGender(identityCard));
    }

    @Test
    void testGetGender_Female() {
        String identityCard = "110105199003071238"; // 第17位为偶数
        assertEquals("女", GenderUtil.getGender(identityCard));
    }

    @Test
    void testGetGender_NullInput() {
        String identityCard = null;
        IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> {
            GenderUtil.getGender(identityCard);
        });
        assertEquals("无效的身份证号码", exception.getMessage());
    }

    @Test
    void testGetGender_InvalidLength() {
        String identityCard = "11010519900307123"; // 长度不足18位
        IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> {
            GenderUtil.getGender(identityCard);
        });
        assertEquals("无效的身份证号码", exception.getMessage());
    }

    @Test
    void testGetGender_InvalidCharacter() {
        String identityCard = "11010519900307123X"; // 第17位为非数字字符
        assertThrows(NumberFormatException.class, () -> {
            GenderUtil.getGender(identityCard);
        });
    }
}

业务方法的调整需要调整下,第17位为偶数,第17位其实是3,不是偶数所以也需要调整下,其他的就没啥问题了。

1.7、Chat 聊天

单击右侧CodeGPT图标 ---> 在对话框输入你想要实现的内容(自然语言) ---> 单击发送图标即可生成代码,可以这么说会自然就能写代码的时代即将到来,AI 应用会越来越强大。

完整代码如下:

java 复制代码
public class DigitFilter {

    // Method to filter digits from a string
    public static String filterDigits(String input) {
        StringBuilder digits = new StringBuilder();
        for (char c : input.toCharArray()) {
            if (Character.isDigit(c)) {
                digits.append(c);
            }
        }
        return digits.toString();
    }

    // Unit test
    public static void main(String[] args) {
        String testInput = "abc123xyz456";
        String expectedOutput = "123456";
        String result = filterDigits(testInput);

        if (result.equals(expectedOutput)) {
            System.out.println("Test Passed!");
        } else {
            System.out.println("Test Failed. Expected: " + expectedOutput + ", Got: " + result);
        }
    }
}

执行结果:

二、注意事项

2.1 确保CodeGPT对话框选择Deepseek V3大模型,如果使用收费的DeepSeek大模型请选择Custom: OpenAI(安装篇有介绍)
2.2 确保网络正常:如果你使用的是在线服务(如 OpenAI),请确保网络连接通畅。
2.3 保持更新:定期更新 CodeGPT 插件,以获取最新功能和最好的兼容。
2.4 离线使用:如果你需要离线使用,可以结合工具如 Ollama 或 LM Studio,将模型部署在本地。

三、总结

总体而言,Deepseek堪称国内AI大模型中的佼佼者,以其卓越的兼容性和对众多IDE的广泛支持,为程序员们带来了前所未有的便捷。其核心功能更是丰富多彩,令人眼前一亮:代码解释功能让繁琐复杂的代码逻辑瞬间变得清晰明了;高效代码优化技术,精准剔除冗余,助力性能飞跃;一键生成单元测试,为代码质量筑起坚固防线;更有智能答疑解惑与模拟AI程序员辅助开发等实用功能,让编程之路更加畅通无阻。作为编程领域的得力助手,Deepseek无疑将大幅提升程序员的开发效率,成为每一位编程爱好者不可或缺编程利器。

一、IDE集成DeepSeek保姆级教学(安装篇)

-- 欢迎点赞、关注、转发、收藏【技术咖啡馆C】,各大平台同名。

相关推荐
我才是空菜1 小时前
教你通过腾讯云AI代码助手,免费使用满血版deepseek r1,还可以自定义知识库!
java·intellij-idea·ai编程·腾讯云ai代码助手
liubing51882 小时前
IDEA 2024.1 最新永久可用(亲测有效)
java·ide·intellij-idea
Kevin1712062 小时前
webstorm的Live Edit插件配合chrome扩展程序JetBrains IDE Support实现实时预览html效果
ide·html·webstorm
大师兄66683 小时前
【Mac电脑本地部署Deepseek-r1:详细教程与Openwebui配置指南】
深度学习·本地部署·ai模型·deepseek·mac部署·ollama模型·openwebui 配置教程
@正在学习驰骋的小马3 小时前
在PyCharm中集成AI编程助手并嵌入本地部署的DeepSeek-R1模型:打造智能开发新体验
ide·pycharm·ai编程
吃汤圆的抹香鲸3 小时前
PhpStorm 绿色版 安装包 Win/Mac/Linux 商业的PHP集成开发环境 2025全栈开发终极指南:从零配置到企业级实战
linux·ide·windows·macos·php·intellij-idea·phpstorm
阿里云大数据AI技术3 小时前
Milvus x DeepSeek 搭建低成本高精度 RAG 实战
人工智能·milvus·rag·pai·deepseek
不灭锦鲤3 小时前
关于Visual Studio 2022的安装之后的问题
ide·visual studio
bin91534 小时前
DeepSeek 助力 Vue3 开发:打造丝滑的列表(List)
前端·javascript·vue.js·ecmascript·deepseek
人肉推土机4 小时前
大模型最新面试题系列:深度学习基础(一)
人工智能·pytorch·语言模型·面试·ai编程