<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Cursor光標定位類無法跳轉的問題求解

      耐心解決問題。

      之前對開發運行環境不甚上心,只要配置能用就行,但是遇到問題仍然犯難。耐心解決了一個問題,記錄一下。

      問題

      • Cursor 點擊類,無法跳轉。

      • 查看接口實現,找不到實現類。

      總之,Golang 的接口、類、方法的實現和關聯都是找不到的,無法跳轉。這基本上就廢掉了 IDE 的兩條胳膊和兩條腿了。沒法用。

      這個圖是完成后截的。沒截之前,下劃線是沒有的。

      求解過程

      咨詢 deepseek ,有如下可能原因:

      • 項目代碼沒有建立索引。

      • Language Server 沒啟動。

      • 代碼導航擴展插件沒有啟用。

      其它原因暫時忽略,可自行查看 deepseek 提示。

      排查索引問題

      Cursor -> Preference -> Cursor Setting -> Feature

      已建立索引。刪除后再重建索引,仍然不行。

      排查 Language Server 問題

      問題:Cursor 依賴 LSP(如 TypeScript、Python、Go 等)進行代碼跳轉,如果 LSP 崩潰或未啟動,導航會失效。

      解決方案:

      • 打開命令面板 (Shift + Command + P) → 輸入 Restart Language Server 并執行。

      • 檢查右下角狀態欄,看是否有 LSP 錯誤提示(如 ?? TS Server Error

      查看和編輯 go 的各種配置,語言配置,仍然不行。

      執行 Restart Language Server ,報 [warning] Language server is disabled

      間接原因是 : Installing golang.org/x/tools/gopls@v0.18.1 FAILED,報錯如下:

      需要 go1.23.8 。

      之前到這里就沒法進行了。因為項目中用的是 1.22.5,如果改成 go1.23.8,gofmt 的內容可能會不一樣, 改動可能較多,對團隊提交代碼不好。 遲疑再三,之前沒有解決。但是這個問題不解決,就沒法用 Cursor 了。這么個香餑餑不用太可惜了。

      看到 deepseek 說可以用 alias go=go1.23.8 臨時切換到 go1.23.8 版本,心動了。于是先下載。

      代理配置

      我的初始配置是這樣。

      試著改了下 GOSUMDB = "on",然后執行報錯:

      這可難倒我了。之前按照公司配置能用就可以了,也沒怎么關注 go 環境配置。這次怎么也得搞定吧。

      GONOPROXY, GOPROXY 這些配置是干啥用的呢?咨詢 deepseek ,大意是說,GONOPROXY, GONOSUMDB, GOPRIVATE 是模塊不要經過官方庫校驗,適用于公司私有庫, GOPROXY, GOSUMDB 則是公共的。之前我的配置是 GOSUMDB = "off", GOPROXY 也寫的是私有庫。

      我躁得大拍了幾下桌子!怎么辦? 公司 VPN 連著的啊。私有的不改,公共的先用官方試試吧。于是遵照 deepseek 改成如下:

      執行后,看上去執行成功了。然后再切換 go 版本,報錯: command not found。

      怎么回事,go1.23.8 不是安裝了么? 怎么沒了,咨詢 deepseek,發現 go1.23.8 是安裝了的。

      使用 ls $GOPATH/bin/go1.* 查看 go1.23.8 路徑,確定也是可執行的。可為啥 go1.23.8 還是找不到呢?只好 unalias go 先切回去。用全路徑試了試,是可以的。突然想到,嗯,go1.23.8 的路徑得配置到 PATH 變量里。編輯 .zshrc 加進去,就可以了。

      最后,再執行 Restart Language Server。 可以了。查找接口的實現類也可以了。

      歐耶(o)/

      回顧總結

      • go 的重要配置: GOPROXY, GOSUMDB, GONOPROXY, GONOSUMDB, GOPATH, GOROOT

      • 學習一門新語言,一定要先弄清楚新語言的環境配置,否則后面會耗費更多時間。

      • 使用 alias go 臨時切換 go 版本, unalias go 去掉臨時版本。

      • 要耐心解決問題,有 deepseek 幫忙,總可以解決的。

      AI 好好用

      昨天一位公司同學分享了 Cursor 的一些用法和demo,深有啟發。用 Cursor 連接 K8S 集群,完成各種配置和排查問題操作,太6了。寫代碼只是一個簡單的應用,要是能與上下文語境建立連接,那真是太強大了。就像一個中央控制臺,可以接入各種環境,處理各種數據。理論上, AI 至少能將編程相關的事情全部自動化。

      用 AI 寫代碼

      用 AI 寫代碼,對于程序員可以說是 AI 的一個基本使用場景。

      使用好 AI 的要點:明確語境、結構化詳細描述要求。AI 奉行原則是“不說就不給”。不明確語境,AI 會天馬行空,不明確要求,AI 就只會給一個最多60分的答案。這60分里還有錯誤。這需要你具有辨別力。

      不過提示詞至少要達到合格水平,比如,寫一段代碼來說:

      給定 XXX 結構體,使用 YYY 實現如下功能(必要可以給出方法簽名),要求良好的健壯性、高效、可維護性。并針對該函數寫一個覆蓋全面的單測,要求覆蓋各代碼分支,覆蓋正常、空、臨界、異常情況。單測具有可擴展性,可任意添加新的測試用例。

      再給一個比較復雜的例子:

      分析 go 項目中的 DO 類,生成 PostgreSQL 的創表語句。AI 可以一次性生成可執行的程序。這里根據 AI 的輸出,可以優化提示詞,比如對枚舉的處理,AI 無法識別,我就告訴他項目中的枚舉長什么樣子,它才能識別。

      寫一個 go 程序,遍歷指定 Go 項目的多個 models 子包的 DO struct 類,根據 DO struct 類定義的字段、字段類型、TableName 方法,創建對應的 PostgreSQL 表。
      (1) go 項目路徑是 /Users/qinshu/workspace/goproj/service-ids2, 項目路徑下有多個 models 子包。
      (2)表名是 TableName 方法 的返回值,
      (3)字段名是 字段上的 bson 注解值,ID 字段名在 PostgreSQL 為 id
      (4) 如果 DO 字段類型為枚舉,則解析該枚舉的值并創建對應的自定義枚舉,并在創表語句中引用,枚舉定義在項目的多個 constant 子包的 go 文件里。不確定時使用 VARCHAR(255)
      (5)go 字段類型與 PG 數據類型的對應關系如下:
      primitive.ObjectID  UUID PRIMARY KEY DEFAULT gen_random_uuid()
      string VARCHAR(255)
      bool BOOLEAN
      int8, SMALLINT
      int16 SMALLINT
      int INTEGER
      int32 INTEGER
      int64  BIGINT
      float64 double precision
      []string VARCHAR(255)[]
      []int8    SMALLINT[]
      []int16   SMALLINT[]
      []int     INTEGER[]
      []int32   INTEGER[]
      []int64   BIGINT[]
      map  JSONB
      time.time TIMESTAMP WITE TIME ZONE
      BinData BYTEA
      (6) 字段類型為 結構體指針的,對應 PG類型轉為 JSONB; 字段類型為結構體指針數組的,對應PG類型為 JSONB[]
      字符串統一 VARCHAR(255),如果是長 JSON,則需要用 TEXT。
      注意:這里枚舉的處理要對 AI 說清楚。入侵是采用這種形式。
      

      AI 輔助軟件開發

      代碼生成與CR

      重點:明確語境,詳述要求。必要可指定簽名。

      給定 XXX 結構體,使用 YYY 實現如下功能,要求良好的健壯性、高效、可維護性。并針對該函數寫一個覆蓋全面的單測,要求覆蓋各代碼分支,覆蓋正常、空、臨界、異常情況。單測具有可擴展性,可任意添加新的測試用例。

      給定如下模板代碼,要求對 XXX 生成類似的代碼。模板代碼要體現出多個代碼段的關聯。

      使用python 實現如下功能。(臨時工具)

      ? 生成通用函數并生成單測

      ? 根據代碼樣例或模板生成最終代碼

      ? 模板代碼補全

      ? AI code review

      ? 核心代碼糾錯和改進建議

      ? 工具類生成

      ? 臨時程序生成

      ? 實用小工具生成

      技術方案

      實現 XX X 有哪些技術方案,各自優缺點?

      做XXX 有哪些庫和框架?各自優缺點及適用場景。

      ? 尋求技術思路: 有哪些常見方案?

      ? 深入探索技術方案:有哪些重要考量?

      ? 技術方案分析:各種方案優缺點利弊

      ? 技術選型建議:適用場景

      知識檢索

      XXX 里如何創建對象?

      給幾個 YYY 的示例。

      ? 學習新語言

      ? 學習API

      ? 學習新技術(需要書籍建立系統化認知)

      問題診斷

      如下代碼為什么報錯 XXX,如何糾正。

      XXX 超時有哪些原因。

      ? 代碼問題診斷

      ? 問題原因分析


      技術知識還有多大用處

      AI 時代,技術知識是必需但不是最重要的。理解原理機制,具備優秀的綜合分析能力是基本優勢。再加上優秀的共情能力、明辨能力、決策能力,善用AI ,就具有更強的適應力,是未來生存最重要的核心能力。正所謂以不變應萬變。

      知識都會過時失效,技術知識尤其如此。因此學習重心一定不要放在技術知識上,更不要死記硬背,那是沒有出路的。學習重心要放在理解能力、分析推理能力、實踐能力上。現在知道一點東西,在將來是沒有什么優勢的。


      posted @ 2025-04-12 08:42  琴水玉  閱讀(10295)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 18女下面流水不遮图| 夜爽8888视频在线观看| 黄色免费在线网址| 成人无码午夜在线观看| 亚洲日韩国产成网在线观看| 久久人人97超碰精品| 高清精品视频一区二区三区| 亚洲成a人在线播放www| 老司机午夜福利视频| 亚洲精品综合网在线8050影院| 日韩中文字幕有码午夜美女| 久久亚洲精品人成综合网| 在线a人片免费观看| 自拍偷自拍亚洲精品熟妇人| 8av国产精品爽爽ⅴa在线观看| 精品视频在线观看免费观看| 色偷一区国产精品| 成人国产亚洲精品一区二区| 午夜精品久久久久久久久| 国产av不卡一区二区| 精品国产一区二区三区卡| 中文成人无字幕乱码精品区| 亚洲精品自拍在线视频| 日本高清在线播放一区二区三区 | 榆中县| 亚洲欧美日韩综合久久久| 色欲天天婬色婬香综合网| 777米奇色狠狠俺去啦| a∨变态另类天堂无码专区| 国产亚洲精品97在线视频一| 亚洲欧洲国产综合一区二区| 国产一区二区日韩在线| 日韩毛片在线视频x| 高清无码18| 亚洲爆乳WWW无码专区| 国产欧美一区二区精品久久久| 亚洲一区二区av高清| 深田えいみ禁欲后被隔壁人妻| 91亚洲国产三上悠亚在线播放| 疯狂做受xxxx高潮欧美日本| 国产精品白丝久久av网站|