用Cursor / Trae AI 開發(fā)Go項目時,記得先做這些
這幾天“字節(jié)內(nèi)部禁止使用Cursor 等AI 編程工具” 的新聞掛上了熱搜, 字節(jié)自己的AI 編程工具 Trae 也趁機開始了收費模式,這兩個新聞同時出現(xiàn),字節(jié)還是挺會炒作的。
隨著Trae 的收費,我對Trae 長達半年的白嫖也算是到頭了, 不過好在公司每月給報銷Cursor的費用,不然現(xiàn)在沒有AI讓我手敲代碼我還真有點不習(xí)慣。現(xiàn)在我?guī)缀跛写a都讓AI先寫一遍自己再微調(diào),甚至連一條SQL都懶得敲。
有了AI的幫忙,寫代碼確實比以前爽了不少, 老板們也是懂行的,給你報銷Cursor 的費用可不是為了讓你爽,現(xiàn)在團隊里除了C端的項目需要前端程序員寫外,其他都是后端程序員來寫了。我這兩個月除了寫Go項目,還寫過lua和python的腳本,用React 寫過項目的管理后臺,除了Go項目之外,其他的任務(wù)沒有AI我是一點也不出來。
這篇文章我給大家介紹一下用Cursor 或者 Trae 開發(fā)和運行調(diào)試項目時要做提前做哪些工作。后面我們開始慢慢分享一些怎么才能讓AI寫出你想要的代碼技巧。
用Cursor 怎么開發(fā)Go項目
Cursor 和 Trae 有了AI的加持確實很強大,但是如果拿它們來開發(fā)Go項目的話,還是不能像 GoLand 那樣下載打開即用,幾乎零配置(這里就不得不罵一句Jetbrains 不爭氣,AI編程插件搞得難用的一批)。
接下來我們一起來看一下 Cursor 和 Trae 用于開發(fā)Go項目時的安裝和配置步驟。
- Cursor 下載鏈接:https://www.cursor.com/cn
- Trae 下載鏈接:https://www.trae.ai/
它們兩個的安裝和配置步驟幾乎一樣,所以這里就只拿Cursor做演示了。
下載安裝完成Cursor 后, 用它先打開一個項目,會發(fā)現(xiàn)界面有點熟悉。
圖片
怎么這么像VsCode,唯一的差別就是右邊多了一個能和AI對話的Chat框。 覺得像就對了,Cursor 和 Trae 都是在VsCode 的基礎(chǔ)上做了二開,IDE 集成環(huán)境這些本質(zhì)上還是VsCode,只不過增加了AI 輔助編程的插件。
如果你不登錄Cursor的賬號的話,你就可以直接把它當VsCode用了(多新鮮啊),如果你還沒有用過Cursor 可以先不用著急付費, 新用戶注冊后的免費額度,也夠用一段時間。
圖片
Cursor 和 Trae 開發(fā)Go項目的基礎(chǔ)配置
上面說了Cursor 和 Trae 都是在VsCode的基礎(chǔ)上做的二開,所以如何配置Cursor 或者 Trae 讓他們能開發(fā)Go項目的本質(zhì)就是在VsCode里開發(fā)Go項目時要做哪些配置。如果你是VsCode深度用戶,后面的文章可以先跳過了, 因為這些步驟跟你在VsCode 中配置的步驟沒有差別, 對 Cursor AI編程功能的講解為會放到后面的文章里。
安裝Go擴展
首先我們需要安裝的就是Go語言的官方擴展,這樣才能讓IDE能夠識別 Go 語言的語法,以及支持Go項目中代碼的定位和跳轉(zhuǎn)。
圖片
安裝gopls 工具
開發(fā)Go項目主要依賴 gopls 這個工具,該工具現(xiàn)在最新版最低要求1.18 版本的Go。我們在IDE里按住快捷鍵:CMD + SHIFT + P 彈出下面安裝窗口
圖片
輸入:Go:install/Update Tools
安裝完上面的插件和工具后記得要重啟一下編輯器才能生效。
設(shè)置代碼更改自動保存
GoLand 打開的項目如果對代碼做了更改,GoLand是可以幫你自動保存的,然而在VsCode這個功能需要單獨設(shè)置才行,那么Cursor 肯定也是有這個問題啦,我曾經(jīng)還因為代碼沒自動保存踩過坑。
代碼自動保存的設(shè)置步驟如下:
圖片
我在 Auto Save 中設(shè)置的是 onFocusChange--切換焦點的時候保存,比如修改代碼后去其他文件窗口或者是去命令行輸入命令時代碼都會自動保存,這個我覺得比設(shè)置成延遲 n 秒更保險一些。
設(shè)置 Go項目的運行和調(diào)試
在VsCode系列的IDE中打開項目后,可以按F5 運行項目,不過首次肯定會運行失敗,提示我們配置launch.json 來自定義我們的運行和調(diào)試。 該文件位于項目根目錄的.vscode文件夾下。
基礎(chǔ)的配置模版如下:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceFolder}",
"env": {},
"args": []
}
]
}
如果你的項目運行需要指定運行參數(shù), 或者是項目中包含多個啟動程序,可以參考下面的模版進行配置
{
// 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "app",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceFolder}/app/app.go",
"cwd": "${workspaceFolder}",
"env": {},
"args": [
"-c": "./conf/app.yaml"
"-db": "./conf/mysql.yml"
]
},
{
"name": "admin",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceFolder}/admin/admin.go",
"cwd": "${workspaceFolder}",
"env": {},
"args": [
"-f1", "./conf/admin.yaml",
"-db": "./conf/mysql.yml"
]
}
]
}
launch.json 配置完成后,我們在Cursor的運行 Tab 中就能找到我們剛才配置好的運行指令。
圖片
如果是存在多個啟動文件的項目,配置完成后可以在這里分別選中要運行的指令。
圖片
點擊運行啟動項目后,我們可以看到IDE里出現(xiàn)了懸停窗,在這里可以進行重啟、停止,以及Debug模式的Step Over、Step Into 和 Step Out 操作。
圖片
可以看到GoLand 運行和調(diào)試項目的功能在這里都有,只不過用起來不如GoLand方便,當然也有可能是我之前一直用GoLand用習(xí)慣了, 慢慢Cursor 或者 Trae 用的多了也就習(xí)慣了。。。已經(jīng)在猶豫GoLand到期后要不要繼續(xù)續(xù)費了。