VSCode可通过REST Client或Thunder Client扩展替代Postman:前者以零配置写.http文件发请求,支持变量与多环境;后者提供图形化界面与侧边栏操作;curl则适合终端快速验证。

VSCode 本身不内置 HTTP 客户端,但通过扩展和轻量级配置,完全可以替代 Postman 做日常 API 测试——关键不在“能不能”,而在“选对扩展 + 写对语法”。
用 REST Client 扩展直接写 .http 文件发请求
这是最接近“零配置”的方式:装好 REST Client 扩展(Huachao Mao 开发),新建一个 test.http 文件,直接写请求:
GET https://jsonplaceholder.typicode.com/posts/1 User-Agent: vscode-restclient
光标停在请求体任意位置,按 Ctrl+Alt+R(Windows/Linux)或 Cmd+Alt+R(macOS)即可发送。响应会以新标签页打开,支持 JSON 自动格式化、状态码高亮。
- 变量可复用:
@host = https://api.example.com+GET {{host}}/users - 支持多环境切换:用
@env定义 dev/staging 变量块,快捷键切换 - 注意:请求头必须空一行后才写 body;
Content-Type不写时默认为text/plain,发 JSON 务必显式声明Content-Type: application/json
用 Thunder Client 扩展做类 Postman 的图形化操作
如果你习惯 Tab 切换、历史记录、环境变量面板这类交互,Thunder Client(Rajiv Chandel 开发)更顺手。它内嵌在 VSCode 侧边栏,无需新建文件,点 + 就建新请求。
- 请求保存在工作区本地(
.thunder-client/requests.json),不跨项目共享,适合团队统一配置时谨慎导出 - 支持 Bearer Token 自动注入:填入 token 后勾选 “Add to headers”,后续所有请求自动带
Authorization: Bearer xxx - 容易踩坑:Body 选
JSON模式时,如果内容不是合法 JSON(比如末尾多逗号),会静默失败且无提示,建议先粘贴到 JSONLint 验证
用 curl 命令行 + VSCode 终端快速验证
不需要任何扩展,适合临时调试或 CI 脚本对照。VSCode 内置终端(Ctrl+`)中直接运行 curl:
curl -X POST https://httpbin.org/post \
-H "Content-Type: application/json" \
-d '{"name":"alice","age":30}'
优势是完全可控,能精准复现 CI 或服务器上的调用链路。
- Windows 用户注意:PowerShell 默认不识别反斜杠
\换行,改用反引号`,或切到 WSL/ Git Bash - 敏感参数别硬编码:用
$TOKEN环境变量代替明文 token,避免误提交 - 加
-v参数可看完整请求头发出过程,排查重定向或证书问题很管用
为什么不用 VSCode 内置的“Run Task”或插件自动发请求?
有人试图用 tasks.json 调 curl,或找“HTTP Request Runner”类插件,结果发现维护成本高、错误反馈弱、无法查看响应体结构。真正省时间的方式是:简单场景用 REST Client 写死请求,复杂流程用 Thunder Client 存历史,压根不碰任务配置。
最常被忽略的一点:VSCode 的 HTTP 测试能力高度依赖扩展更新节奏。REST Client 对 HTTP/2、服务端推送(Server Push)等新特性支持滞后,遇到 421 Misdirected Request 或连接复用异常,得切回 curl 或浏览器 DevTools 抓包确认底层行为。










