二、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.pswp.cn/diannao/72111.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/72111.shtml
英文地址,請注明出處:http://en.pswp.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;第二…