
HTTP API vs WebSocket API:選擇哪個(gè)來實(shí)現(xiàn)實(shí)時(shí)通信?
支付方式可以使用 Wildcard 虛擬信用卡https://blog.csdn.net/qq_33146717/article/details/145172851
或者免費(fèi)版用15天,然后換一個(gè)郵箱。
剛下載的cursor幾乎沒有任何功能,需要用安裝插件的方式來把一個(gè)cursor組裝為Java開發(fā)平臺。切換到插件搜索下載即可。
建議安裝插件清單:為了實(shí)現(xiàn)和idea基本一致的開發(fā)體驗(yàn),建議安裝如下插件。
background
Chinese(Simplified)(簡體中文) Language Pack for Visual Studio Code
Chrome Extension Developer Tools
Copy Reference
Debugger for Java
Diff Folders
Draw.io Integration
Extension Pack for Java
GitLens — Git supercharged
Gradle for Java
Image preview
IntelliCode
IntelliCode API Usage Examples
indent-rainbow-blocks
Language Support forJava(TM) by Red Hat
Markdown All in One
Markdown Image
Markdown Image Manage
Markdown Preview Enhanced
Material Icon Theme
Maven for Java
Project Manager for Java
Project Manager
Prettier - Code formatter
Test Runner for Java
Todo Tree
VS Code Counter
vscode-pdf
XML Tools
建議屏蔽的插件:
java:oracle版本,有一堆java11以上版本的有創(chuàng)新但是生產(chǎn)環(huán)境用不到的功能。
快捷鍵
查看類源碼:Ctrl+鼠標(biāo)左鍵
快捷鍵命令搜索:Ctrl+Shift+P+命令名稱
按文件名搜索文件:Ctrl+P
根據(jù)類名查找類:Ctrl+T
注釋代碼:Ctrl+/
開啟/關(guān)閉側(cè)邊欄:Ctrl+B
全局查找并替換:Ctrl+Shift+F
文件內(nèi)查找:Ctrl+F
修改變量或類名:F2
查找變量或類的引用:Shift+F12
查找接口或方法的實(shí)現(xiàn):Ctrl+F12
格式化代碼:Shift+Alt+F
重構(gòu)抽取變量或方法:Ctrl+Shift+R
回退到上一個(gè)操作:Alt+左箭頭
前進(jìn)到下一個(gè)操作:Alt+右箭頭
提示可能的操作,如變量生成:Alt+.
移動一行代碼:Alt+上箭頭或Alt+下箭頭
刪除當(dāng)前行代碼:Ctrl+Shift+K
打開AI窗口: Ctrl+Shift+L
vscode的配置項(xiàng)目很多。為了快速啟動項(xiàng)目,推薦下面的懶人配置。
4.1、settings.json
settings.json是關(guān)于整個(gè)項(xiàng)目的:啟動內(nèi)存,編輯器樣式,自動編譯等配置。
一般位于項(xiàng)目的.vscode/settings.json
{
//設(shè)置內(nèi)存大小
"java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx16G -Xms2G -Xlog:disable",
//maven視圖:分層
"maven.view": "hierarchical",
//構(gòu)建失敗繼續(xù):開啟
"java.debug.settings.onBuildFailureProceed": true,
//啟動窗口、打開文件夾、保存文件時(shí)的自動編譯開關(guān)
//影響啟動速度,如有需要可啟動后再手動打開
"java.autobuild.enabled": false,
//debug啟動時(shí)自動編譯:關(guān)閉
//如果打開,則應(yīng)用啟動前需要編譯整個(gè)項(xiàng)目,耗時(shí)1.5-5分鐘
//建議手工編譯,可提升啟動速度
"java.debug.settings.forceBuildBeforeLaunch": false,
//debug自動加載修改后的類
"java.debug.settings.hotCodeReplace": "auto",
//保存時(shí)自動編譯:開啟
//但似乎此參數(shù)無效,實(shí)操經(jīng)驗(yàn)是:
//倘若java.autobuild.enabled為true,則保存后自動編譯
//倘若java.autobuild.enabled為false,則保存后不自動編譯
"java.compile.onSave":true,
//問題裝飾:關(guān)閉
"problems.decorations.enabled": false,
//null分析:關(guān)閉
"java.compile.nullAnalysis.mode": "disabled",
//未使用導(dǎo)入:忽略
"editor.unusedImports.severity": "ignore",
//未使用變量:隱藏
"editor.showUnused": false,
//自動保存:延遲
"files.autoSave": "afterDelay",
//自動保存延遲時(shí)間:1000毫秒
"files.autoSaveDelay": 1000,
//JAVA項(xiàng)目層級展示
"java.dependency.packagePresentation": "hierarchical",
//Peek References窺視試圖顏色配置
"workbench.colorCustomizations": {
"peekView.border": "#FF0000", // 邊框顏色
"peekViewEditor.background": "#330099", // 代碼編輯區(qū)背景
"peekViewResult.background": "#3300CC", // 結(jié)果列表背景
"peekViewTitle.background": "#FF0000"http:// 標(biāo)題背景
}
}
4.2、launch.json
launch.json是關(guān)于項(xiàng)目可啟動應(yīng)用的配置。位于.vscode/launch.json
下面是一個(gè)我所在us團(tuán)隊(duì)啟動應(yīng)用的示例,關(guān)鍵參數(shù)在于projectName、mainClass、args。
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Launch Java Program",
"projectName":"us-start",
"request": "launch",
"mainClass": "com.amap.us.start.Application",
//"preLaunchTask": "mvn clean install",
"args": "--spring.profiles.active=testing,gray8",
"vmArgs": "-Xms516M -Xmx2048M -Djps.track.ap.dependencies=false -Dspring-boot.run.fork=false"
}
]
}
配置完成之后,即可在運(yùn)行窗口啟動項(xiàng)目進(jìn)行調(diào)試等操作。
4.3、啟動窗口、打開文件夾、保存文件
時(shí)的自動編譯-自動編譯選項(xiàng)
如果你遇到了”打開cursor很耗時(shí),需要3-5分鐘甚至更久”的問題,這個(gè)配置很適合你。
settings.json
//啟動窗口、打開文件夾、保存文件時(shí)的自動編譯開關(guān) //影響啟動速度,如有需要可啟動后再手動打開 //打開后,啟動窗口,打開文件夾時(shí)會編譯一次項(xiàng)目,耗時(shí)1.5-5分鐘 //因此不建議打開 “java.autobuild.enabled”: false,
4.4、選擇JDK
command+shift+p 搜索classpath
建議選擇1.8.0_300以上版本。如果啟動報(bào)錯(cuò) diamond serverlist 未加載成功,是jdk版本太低,如果啟動報(bào)錯(cuò)duplicateKey[bizId,scenario],需要手動重新編譯gbf。
4.5、debug配置-應(yīng)用啟動前的強(qiáng)制自動編譯
如果你想『debug』的時(shí)候,代碼改動后立即熱部署生效,可以嘗試如下配置。
等價(jià)于配置
//啟動窗口、打開文件夾、保存文件時(shí)的自動編譯開關(guān)
//影響啟動速度,如有需要可啟動后再手動打開
"java.autobuild.enabled": true,
//debug應(yīng)用啟動自動編譯:打開
//如果打開,則應(yīng)用啟動前需要編譯整個(gè)項(xiàng)目,耗時(shí)1.5-5分鐘
//建議手工編譯,可提升啟動速度
"java.debug.settings.forceBuildBeforeLaunch": true,
//denig自動加載修改后的類
"java.debug.settings.hotCodeReplace": "auto",
4.6、清空緩存–很有用
在項(xiàng)目運(yùn)行期間,偶然會遇到項(xiàng)目崩潰,例如:
在項(xiàng)目中新建了一個(gè)maven的module,但是pom.xml的格式不正確,導(dǎo)致maven組件運(yùn)行崩潰。
此時(shí):重啟cursor也不管用,表現(xiàn)是:無法打開文件,無法運(yùn)行插件,無法瀏覽git歷史,無法和ai對話。
解決辦法:找到緩存文件夾,刪掉緩存文件,再重啟cursor。
緩存文件夾目錄地址
~/Library/Application Support/Cursor/User/workspaceStorage
例如我的地址
/Users/kanmars/Library/Application Support/Cursor/User/workspaceStorage
刪除文件位置:
問題表現(xiàn):
4.7、轉(zhuǎn)化為大寫-小寫 設(shè)置快捷鍵
command+shift+p 搜索轉(zhuǎn)化為大寫/小寫。
我的習(xí)慣是綁定 cmd+shift+u為大寫,cmd+shift+m為小寫。
4.8、編譯單個(gè)文件
方法一:打開自動編譯開關(guān)java.autobuild.enabled=true
但啟動窗口,打開文件夾時(shí)都會編譯整個(gè)項(xiàng)目,耗費(fèi)1.5-5分鐘。
方法二:maven增量編譯
經(jīng)了解資料,maven并不支持增量編譯,但支持按模塊編譯。
mvn compile -DskipTests -pl <模塊名稱>,可以避免編譯整個(gè)項(xiàng)目。
方法三:task。未實(shí)驗(yàn)成功
https://blog.51cto.com/u_16213457/12958417
建議:方案一 日常情況下關(guān)閉自動編譯開關(guān),如果確實(shí)需要本地debug的,再打開此開關(guān)。
4.9、maven如何始終跳過測試
idea使用maven編譯時(shí)可以關(guān)閉testCase避免每次打包自動運(yùn)行測試用例,vscode也有同等能力,在設(shè)置中查找maven配置(@ext:vscjava.vscode-maven),添加選項(xiàng):-DskipTests。
4.10、主題-建議用深色visualStudio
原因:點(diǎn)擊某個(gè)方法的調(diào)用方的區(qū)別(窺視視圖)
默認(rèn) cursor dark
使用深色visualStudio,略微的有個(gè)淺色的提示框。
4.11、修改窺視視圖顏色
cmd+點(diǎn)擊方法,查看調(diào)用鏈顏色太淺了,看不清楚。可以手工修改顏色。
settings.json中需要加入如下配置:
"workbench.colorCustomizations": {
"peekView.border": "#FF0000", // 邊框顏色
"peekViewEditor.background": "#330099", // 代碼編輯區(qū)背景
"peekViewResult.background": "#3300CC", // 結(jié)果列表背景
"peekViewTitle.background": "#FF0000"http:// 標(biāo)題背景
}
5.1、git
提交記錄
缺陷:idea可合并多次提交,查看變更。
而git graph只能查看單個(gè)提交的變更。
代碼比對
單個(gè)文件比對
5.2、返回上一次command+點(diǎn)擊的位置
默認(rèn):control+-
可以command+shift+p搜索『返回』,修改為習(xí)慣的快捷鍵。
例如command+option+左箭頭。
可以定制cursor的AI運(yùn)行時(shí)的規(guī)則,位于.cursor文件中。
rules可以作為一種預(yù)設(shè)的規(guī)則,為AI提出:運(yùn)行指導(dǎo)、限制規(guī)范。幫助我們更好地完成目標(biāo)。
示例:
https://juejin.cn/post/7471044704647053353
https://cursorrulescn.oosakana.com/
https://blog.csdn.net/heiyeshuwu/article/details/145951789
通過mcp可以接入很多有意思的工具,為日常工作提效。例如接入mcp-server-playwright工具,替你完成:”打開瀏覽器,打開日志查詢平臺,根據(jù)gsid查詢到一條日志,再把日志復(fù)制到debug平臺的頁面中,運(yùn)行debug平臺,獲取日志,排查問題,給出結(jié)論”等一套完整的”日志排查”工作。
推薦mcp搜索網(wǎng)站:http://mcp.so
好用的mcp推薦:
beyond資料
https://github.com/modelcontextprotocol/servers
https://github.com/punkpeye/awesome-mcp-servers
cursor是AI時(shí)代的研發(fā)工具,作為『研發(fā)工具』,它給了我們一個(gè)機(jī)會,去結(jié)合AI做一些事情。比如:業(yè)務(wù)分析,整合創(chuàng)新,研發(fā)提效等。
文章轉(zhuǎn)載自:用Cursor開啟JAVA+AI生涯