大家好,我是風箏
其實很早之前就想學學 VSCode 插件開發了,但是又不知道做什么,加上我這半吊子前端水平,遲遲沒有動手,
最近 ChatGPT 火的一塌糊涂,我也一直在用,真的非常好用,有些問題之前需要 Google 搜索,現在用 ChatGPT 基本上都能直接解決,效率提升了不少,
但是吧,瀏覽器和 IDE 來回切換又很麻煩,所以我靈機一動,那就開發個 ChatGPT 插件吧,即可以學習學習 VSCode 插件開發,又可以做一個方便的效率工具,豈不是一舉兩得,美哉美哉,
于是我就動手寫了下面這個插件,叫做 mini ChatGPT,現在已經發布到 VSCode 插件市場了,
有條件的同學可以安裝一下,試試效果如何,
插件功能特點
- 界面簡潔,沒有多余的干擾;
- 像 ChatGPT 官網輸出效果一致,打字效果實時輸出;
- 支持兩輪背景關系(太多了浪費 tokens),大致等于支持背景關系;
- 代碼美化+格式化,并且可以一鍵復制,直接粘貼到 vscode 中;

插件安裝
當然了,這是需要正確的上網姿勢,
你可以直接在 VSCode 的商店直接搜索 mini ChatGPT安裝,

也可以到應用市場上安裝,

插件地址:https://marketplace.visualstudio.com/items?itemName=fengzheng.code-chatgpt-assistant
插件使用
- 點擊查看->命令面板,或者使用快捷鍵(MacOS: Shift + Command + P,Windows:Shift + Control + P
- 輸入
Chat并回車,

- 如果是首次使用,會彈出提示輸入框,在此輸入 ChatGPT 的 API,使用的就是原滋原味的 ChatGPT API 介面,官網上都寫的很清楚,所以需要使用插件的小伙伴提供自己賬號的 API key,下面有介紹如何獲取ChatGPT API key,

- 之后就可以使用啦

- 如果之后想更換 ChatGPT 的 API key,在命令面板中輸入
ChatGPT API即可,
使用建議
此插件只有一個 webview 實作,打開之后獨占一個 tab,可以設定向左或向右拆分,然后在左側使用此插件向 ChatGPT 提問,右側是代碼檔案,這樣就不用來回切換了,而且可以將代碼片段一鍵復制,然后直接運行,

獲取 ChatGPT API key
-
先準備好正確的上網工具,不要用亞洲節點,
-
之后到 OpenAI 官網注冊賬號,
-
到個人中心 創建一個 API key,

開發歷程
作為一個后端開發,我的前端水平是非常一般的,所以代碼中有瑕疵的地方還請見諒,對了,代碼已經放到 GitHub 上了,
倉庫地址:https://github.com/huzhicheng/vscode-ChatGPT
VSCode 插件開發,官方建議是用 TypeScript 開發,所以專案完全采用了 TS 開發,由于功能比較簡單,沒有那么多復雜的設定,由于邊學邊做,太復雜的也沒考慮,整個插件的核心其實就是一個 webview,在webview中實作界面布局和樣式,難點就在于webview與插件本身來回的資料傳遞,但也都是常規用法,
整個寫代碼的程序其實也就幾個小時,當然程序中的遇到的一些問題我都是跟 ChatGPT 提問的,包括樣式都是直接描述需求,ChatGPT 給我一個大致的框架,我再微調一下就可以了,
所以這樣看下來,其實是我和 ChatGPT 合作開發的,
后來發布到應用商店,寫 readme 介紹和使用說明花了一些時間,
問題和建議
目前的版本功能比較簡單,沒有 ChatGPT 官方的聊天記錄串列功能,如果真的有人用的話,后期考慮加上,
由于ChatGPT 官方并未提供背景關系的 API 支持,所以只能采用其他方式模仿背景關系能力,目前的做法是記錄前兩輪提問和回答,然后在下次提問的時候,將前兩輪的提問和回答告訴 ChatGPT ,并且明確告訴 ChatGPT,例如下面這樣,
第一輪問題:你好,
第一輪回答:你好,請問有什么要幫忙的嗎?
第二論問題:請幫我寫一段 Python 爬蟲抓取知憾訓答的 demo,
第二輪回答:好的,下面是一段抓取知憾訓答的 Python 示例,....省略多行代碼,
第三輪問題:幫我改成 Java 的,
這時候,我會將實際的 prompt 改成下面這樣的,
下面中括號部分是前兩輪的問題和回答,只用作參考,[my question is:"你好",your anwser is:"你好,請問有什么要幫忙的嗎?".my question is:"請幫我寫一段 Python 爬蟲抓取知憾訓答的 demo,",your anwser is:"好的,下面是一段抓取知憾訓答的 Python 示例,....省略多行代碼,".]
下面引號包含的這部分是真正的問題:"幫我改成 Java 的,"
采用這種方式,幾乎可以模擬背景關系的操作,但是偶爾會出現錯亂,這塊兒還有優化空間,還會繼續優化,
如果各位小伙伴使用程序中發現什么問題,或者有什么更好的建議,都可以加我好友直接跟我說,
歡迎捧場,趕緊用一用吧,覺得好用的話,可以推薦給身邊的小伙伴也用一下,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/552248.html
標籤:JavaScript
下一篇:返回列表
