thunder client是vs code内置的轻量级rest api客户端插件,可替代postman:无需切换应用、支持环境变量/集合/响应格式化/本地存储,且无账号绑定与云端同步,隐私性更强。

Thunder Client 是什么,为什么能替代 Postman
Thunder Client 就是 VS Code 里最接近 Postman 体验的原生插件,不是靠外部进程、不弹独立窗口,所有请求都在编辑器侧边栏完成。它支持环境变量、集合分组、请求历史、响应格式化(JSON / XML / plain)、Bearer Token 自动注入,还带基础的测试脚本(用 JavaScript 写断言)。关键是没有账号绑定、不强制同步、不上传数据到云端——这点比 Postman 的免费版更符合本地开发隐私要求。
安装后打不开或点击无反应的常见原因
安装 Thunder Client 后点左下角图标没反应,大概率是以下几种情况:
- VS Code 没重启:插件加载依赖部分服务注册,尤其在刚装完或更新后,必须重启 VS Code 才能启用侧边栏入口
- 工作区没打开:Thunder Client 不支持“空窗口”运行,得先打开一个文件夹(哪怕只是新建个空目录),否则图标灰掉不可点
- 被其他插件拦截:极少数情况下,某些安全类插件(如某些企业策略插件)会禁用未签名的扩展通信,可临时禁用其他插件逐一排查
- 端口冲突(少见但存在):Thunder Client 内部用本地 HTTP 代理做 Mock 支持,若你机器上已有服务占用了
3001端口,可能影响部分功能,可在设置里改thunder-client.proxyPort
如何配置多环境(dev/staging/prod)并快速切换
Thunder Client 的环境管理藏在右上角「Environments」按钮里,不是靠全局配置,而是按工作区生效。配置时注意三点:
- 每个环境是一个 JSON 对象,字段名必须是
baseUrl、token、timeout这类预设键,自定义字段(如apiVersion)不会自动注入到请求中 -
baseUrl值末尾不加斜杠(https://api.dev.example.com✅),否则拼接路径时会变成双斜杠导致 404 - 切换环境后,已打开的请求标签页不会自动刷新 URL,得手动点一下「Send」或按
Ctrl+Enter重发,否则还是用旧环境的baseUrl
示例环境片段:
{ "baseUrl": "https://api.staging.example.com", "token": "Bearer abc123" }
和 Postman 最容易混淆的三个操作差异
习惯 Postman 的人刚切 Thunder Client 容易卡住,核心差异在交互逻辑上:
- 没有「Collection Runner」:不支持批量跑一整个集合。想批量测试,得写脚本调用
thunder-client.sendRequest()API,或导出为 cURL 用命令行工具跑 - 不能直接 import Postman 的
.json导出文件:它只认自己导出的.tc格式。如需迁移,得用 Postman 的「Export as cURL」再粘贴进 Thunder Client 新建请求 - 响应体里的「Preview」标签页是只读的:没法像 Postman 那样点「Save Response」直接存成文件。要保存,得手动复制内容,或右键响应体 → 「Save Response As…」
真正复杂的地方不在功能多寡,而在于它的状态是分散维护的:环境、请求、历史、脚本各自独立存储,没有统一的「workspace sync」机制。一旦误删某个 .tc 文件,对应请求就彻底丢失,回收站里也找不到——它不走 VS Code 的文件系统缓存,而是直写本地 SQLite 数据库。











