一個后端開發(fā)者花了三年時間,終于受夠了在代碼編輯器和外部工具之間來回切換的日子。他的解決方案不是換一款更輕的Postman,而是直接把API客戶端做成了VS Code的原生擴(kuò)展,外加一個終端里的命令行工具。
這個叫ShellReq的項目最近上了GitHub趨勢榜。作者M(jìn)ahesh Shinde的出發(fā)點(diǎn)很直白:現(xiàn)在的API測試工具太重、太割裂,跟寫代碼的場景完全是兩回事。他要做一個"零臃腫"的替代品——不用切窗口,不用等加載,就在你敲代碼的地方直接發(fā)請求。
![]()
ShellReq分成兩塊:VS Code擴(kuò)展和CLI終端工具。擴(kuò)展掛在Activity Bar側(cè)邊欄,完整支持GET、POST、PUT、PATCH、DELETE、HEAD六種HTTP方法。請求參數(shù)、Header、JSON體都能自定義,返回結(jié)果會拆成狀態(tài)碼、響應(yīng)頭、格式化JSON、耗時和包大小幾個維度展示。
最近50條請求自動存成歷史記錄,常用的可以固定到收藏夾里。面板能拖拽縮放,重啟VS Code后布局和未完成的請求都會原樣恢復(fù)。技術(shù)實(shí)現(xiàn)上有個值得注意的細(xì)節(jié):整個工具鏈基于Node.js原生的http/https模塊搭建,沒有引入Axios或任何外部HTTP庫。作者的理由是減少依賴鏈條,降低維護(hù)負(fù)擔(dān)和安全風(fēng)險。
終端用戶可以用npx shellreq ui直接跑TUI界面,或者npm install -g shellreq全局安裝。命令行版本用Ink(React的CLI渲染庫)和Commander.js搭建,支持鍵盤驅(qū)動的交互操作,也能直接敲單行命令發(fā)請求。兩邊共享同一套收藏夾、歷史記錄和環(huán)境變量配置。
項目代碼完全開源,托管在maheshshinde9100/ShellReq倉庫。VS Code擴(kuò)展的ID是maheshshinde9100.shellreq-api-client,NPM包名就叫shellreq。作者目前在GitHub Issues里收集bug反饋和功能建議。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.