thunder client装完需重载窗口才能激活,否则图标不显示、命令无响应;发请求须补全协议、选对body类型并手动添加参数到url;环境变量区分大小写且需正确切换,所有变更必须重载窗口才生效。

Thunder Client 不需要“配置插件”这一步——它装完就能用,但**默认行为和常见故障点必须手动对齐**,否则你会遇到发请求卡住、415、环境变量不生效、断言报错等典型问题。
安装后必须重载窗口,否则闪电图标不显示
插件安装完成不会自动激活界面。点击「Install」后,VSCode 右下角会提示「Extension installed」,但此时活动栏仍无 Thunder Client 图标。
必须执行「Developer: Reload Window」(快捷键 Ctrl+Shift+P → 输入该命令回车),或点击提示里的「Reload」按钮。否则你点左下角、按快捷键、搜命令,全都不响应。
发送请求前要硬确认三件事
- URL 必须带协议:写
http://localhost:3000/api/users,不能只写localhost:3000/api/users(否则被当本地文件路径处理) - POST/PUT 请求 Body 类型必须匹配:传 JSON 就选
raw → JSON,且手动加 Header:Content-Type: application/json - Query Params 不会自动拼进 URL:填了
id=123后,必须点右上角「Add to URL」按钮,否则参数根本没发出去
环境变量不生效?检查大小写、作用域和切换状态
Thunder Client 的环境变量是严格区分大小写、且只对当前工作区生效的。
常见失效场景:
- 定义变量时用了短横线:
"base-url": "http://…"❌;只能用下划线:"base_url": "http://…"✅ - 在 multi-root workspace(多文件夹工作区)里,环境配置只存在于当前选中的根目录下的
.thunder-client/environments.json,其他根目录看不到 - 左下角状态栏没显示
Environment: dev—— 说明根本没切换过去,点击那里才能弹出环境列表 - URL 中写了
{{base_url}}/users,但预览里还是原样没替换?先确认是否点了「Add to URL」,再看右上角环境选择器是否高亮
Tests 断言失败却不报错?脚本沙箱限制极严
Thunder Client 的 Tests 运行在极简 JS 沙箱中,不支持任何异步语法或外部依赖。
以下写法全部非法:
-
async () => { const res = await fetch(...); }❌(不支持async/await) -
import { expect } from 'chai';❌(不支持import) -
pm.response.json()在响应体不是合法 JSON 时直接静默崩溃,不提示哪一行出错 —— 建议先切到响应面板的Raw标签确认格式 - 变量提取必须用
pm.variables.set("token", ...),且后续请求要手动把{{token}}加到 Header 或 URL,它不会自动透传
Thunder Client 都不会热更新这些逻辑。它不监听文件变化,也不缓存刷新,**所有变更都得靠重新加载窗口或重启 VSCode 才能落地**。











