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

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

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

一、DeepSeek在CodeGPT中使用教学

1.1、Edit Code 编辑代码

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

Edit Code
输入自然语言

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

	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 分析

Find Bugs
潜在bug分析

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

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,代码解释可以帮助程序员快速理解业务逻辑

Explain 解释代码
解释结果
解释结果

1.4、Refactor 代码重构

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

代码重构
重构说明

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

// 使用 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,优化代码功能可以帮助程序员极大提高代码质量
Optimize 优化代码优化说明
优化后的完整代码如下:

@Override
public String getGender(String identityCard) {// 检查身份证号是否为空或长度不为18if (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直接生成,做轻微调整就能用,极大减少了编写单元测试的时间
编写单元测试
单元测试说明

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

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;class GenderUtilTest {@Testvoid testGetGender_Male() {String identityCard = "110105199003071234"; // 第17位为奇数assertEquals("男", GenderUtil.getGender(identityCard));}@Testvoid testGetGender_Female() {String identityCard = "110105199003071238"; // 第17位为偶数assertEquals("女", GenderUtil.getGender(identityCard));}@Testvoid testGetGender_NullInput() {String identityCard = null;IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> {GenderUtil.getGender(identityCard);});assertEquals("无效的身份证号码", exception.getMessage());}@Testvoid testGetGender_InvalidLength() {String identityCard = "11010519900307123"; // 长度不足18位IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> {GenderUtil.getGender(identityCard);});assertEquals("无效的身份证号码", exception.getMessage());}@Testvoid testGetGender_InvalidCharacter() {String identityCard = "11010519900307123X"; // 第17位为非数字字符assertThrows(NumberFormatException.class, () -> {GenderUtil.getGender(identityCard);});}
}

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

1.7、Chat 聊天

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

Chat

完整代码如下:

public class DigitFilter {// Method to filter digits from a stringpublic 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 testpublic 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】,各大平台同名。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/72111.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Rohm发布TOLL封装650V GaN HEMT,引领汽车用GaN器件大规模生产新浪潮

Rohm震撼发布TOLL封装650V GaN HEMT,引领汽车用GaN器件大规模生产新浪潮。在创新的TOLL(TO LeadLess)封装技术的怀抱中,Rohm精心孕育出650V GaN HEMT这一瑰宝,此技术正如一股强劲东风,日益吹拂于高功率处理…

Spring Boot 3.x 基于 Redis 实现邮箱验证码认证

文章目录 依赖配置开启 QQ 邮箱 SMTP 服务配置文件代码实现验证码服务邮件服务接口实现执行流程 依赖配置 <dependencies> <!-- Spring Boot Starter Web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spr…

PHP的学习

PHP的基础前提【HTML、CSS】 第一步先进行VS cood的下载&#xff1a;Visual Studio Code - Code Editing. Redefined 【选择适合自己的电脑的版本eg:我就是64位的win】

XML 编辑器:全面指南与最佳实践

XML 编辑器:全面指南与最佳实践 引言 XML(可扩展标记语言)编辑器是处理XML文件的关键工具,对于开发人员、系统管理员以及任何需要处理XML数据的人来说至关重要。本文将全面介绍XML编辑器的概念、功能、选择标准以及最佳实践,旨在帮助读者了解如何选择和使用合适的XML编辑…

《Effective Objective-C》阅读笔记(下)

目录 内存管理 理解引用计数 引用计数工作原理 自动释放池 保留环 以ARC简化引用计数 使用ARC时必须遵循的方法命名规则 变量的内存管理语义 ARC如何清理实例变量 在dealloc方法中只释放引用并解除监听 编写“异常安全代码”时留意内存管理问题 以弱引用避免保留环 …

ORM Bee V2.5.2.x 发布,支持 CQRS; sql 性能分析;更新 MongoDB ORM分片

Bee, 一个具有分片功能的 ORM 框架. Bee Hibernate/MyBatis plus Sharding JDBC Jpa Spring data GraphQL App ORM (Android, 鸿蒙) 小巧玲珑&#xff01;仅 940K, 还不到 1M, 但却是功能强大&#xff01; V2.5.2 (2025・LTS 版) 开发中... **2.5.2.1 新年 ** 支持 Mong…

springboot之HTML与图片生成

背景 后台需要根据字段动态生成HTML&#xff0c;并生成图片&#xff0c;发送邮件到给定邮箱 依赖 <!-- freemarker模板引擎--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifa…

《从0到1:用Python在鸿蒙系统开发安防图像分类AI功能》

在人工智能与移动应用深度融合的当下,类目标签AI功能成为众多行业提升效率和用户体验的关键技术。本文聚焦于HarmonyOS NEXT API 12及以上版本,以图像分类在智能家居安防领域的应用为例,为开发者详细阐述如何利用Python开发类目标签AI功能,助力鸿蒙技术在该领域的创新应用。…

【AD】3-10 原理图PDF导出

文件—智能PDF 多页原理图导出 导出设置时选择工程&#xff0c;可自行选择导出一页或多页原理图&#xff0c;一般PCB不用导出

【deepseek第一课】从0到1介绍 采用ollama安装deepseek私有化部署,并实现页面可视化

【deepseek第一课】从0到1介绍 采用ollama安装deepseek私有化部署,并实现页面可视化 1. ollama安装1.1 linux安装1.2 windows安装2. deepSeek支持的7种蒸馏模型2.1 蒸馏模型介绍2.2 7种模型特点2.3 安装deepseek-r1:14b模型3. openwebui图形化页面安装4. java连接大模型的三…

【在线用户监控】在线用户查询、强退用户

文章目录 在线用户监控在线用户监控API(RestController)当前在线会话在线用户查询强退用户知识扩展: JwtJwtTokenUtil生成jwt解析token登录授权的实现:json web token + redis + springboot在线用户监控 在线用户监控API(RestController) @RestController @Tag(name = &qu…

超详细,多图文介绍redis集群方式并搭建redis伪集群

超详细&#xff0c;多图文介绍redis集群方式并搭建redis伪集群 超多图文&#xff0c;对新手友好度极好。敲命令的过程中&#xff0c;难免会敲错&#xff0c;但为了截好一张合适的图&#xff0c;一旦出现一点问题&#xff0c;为了好的演示效果&#xff0c;就要从头开始敲。且看且…

Hue Load Balance配置

个人博客地址&#xff1a;Hue Load Balance配置 | 一张假钞的真实世界 直接上配置&#xff1a; server {server_name 192.168.72.31;listen 8001;charset utf-8;proxy_connect_timeout 600s;proxy_read_timeout 600s;proxy_send_timeout 600s;location / {proxy_set_header H…

992. K 个不同整数的子数组

目录 一、题目二、思路2.1 解题思路2.2 代码尝试2.3 疑难问题 三、解法四、收获4.1 心得4.2 举一反三 一、题目 二、思路 2.1 解题思路 2.2 代码尝试 class Solution { public:int subarraysWithKDistinct(vector<int>& nums, int k) {//需要有数据结构来存储数组…

领域驱动设计:事件溯源架构简介

概述 事件溯源架构通常由3种应用设计模式组成,分别是:事件驱动(Event Driven),事件溯源(Event Source)、CQRS(读写分离)。这三种应用设计模式常见于领域驱动设计(DDD)中,但它们本身是一种应用设计的思想,不仅仅局限于DDD,每一种模式都可以单独拿出来使用。 E…

PT2035 TWS 蓝牙耳机双触控双输出 IC

1. 产品概述 PT2035 是一款支持入耳检测的蓝牙耳机专用触摸芯片&#xff0c;该芯片具有宽工作电压、低功耗、高抗 干扰能力的特性。 2. 主要特性 工作电压范围&#xff1a; 2.4~5.5V 待机电流约 2.5uAV DD3V/CMOD5nF 入耳有效&#xff0c;无触摸时工作电流约 8uAV DD3…

AI编程界的集大成者——通义灵码AI程序员

一、引言 随着软件行业的快速发展和技术的进步&#xff0c;人工智能&#xff08;AI&#xff09;正在成为软件开发领域的一个重要组成部分。近年来&#xff0c;越来越多的AI辅助工具被引入到开发流程中&#xff0c;旨在提高效率、减少错误并加速创新。在这样的背景下&#xff0…

Rocky Linux 8.5 6G内存 静默模式(没图形界面)安装Oracle 19C

Oracle19c 下载地址 Database Software Downloads | Oraclehttps://www.oracle.com/database/technologies/oracle-database-software-downloads.html#db_ee 目录 一、准备服务器 1、服务器可以克隆、自己装 2、修改主机名 3、重启 4、关闭selinux 5、关闭防火墙 5.1、…

另辟蹊径:多维度解析 STM32 微控制器

开篇&#xff1a;STM32 的广泛影响力 在嵌入式系统的广阔天地中&#xff0c;STM32 系列微控制器宛如一颗璀璨的明星&#xff0c;散发着耀眼的光芒。它凭借出色的性能、丰富的资源以及高性价比&#xff0c;在工业、医疗、消费电子等众多领域广泛应用&#xff0c;成为无数开发者…

DeepSeek 使用窍门与提示词写法指南

一、通用提示词技巧 窍门分类技巧说明示例提示词明确需求用“角色任务要求”明确目标作为健身教练&#xff0c;为30岁上班族设计一周减脂计划&#xff0c;需包含饮食和15分钟居家训练结构化提问分步骤、分模块提问第一步&#xff1a;列出Python爬虫必备的5个库&#xff1b;第二…