必须安装Huachao Mao开发的REST Client插件,保存文件为.http或.rest后缀,首行严格写为“GET https://...”等完整请求格式,三者缺一不可,否则不会显示“Send Request”按钮。

装对插件、保存为 .http 后缀、首行写对请求格式,三者缺一不可——否则“Send Request”根本不会出现,更别说发出去了。
怎么确认 REST Client 插件装对且生效
必须认准作者是 Huachao Mao(ID:humao.rest-client),VS Code 扩展市场搜“REST Client”时第一个通常是它,但得点进去看安装量(超 700 万)和更新时间(最近一周内有发布)。装完不重启窗口,Send Request 命令大概率不注册——右键菜单、命令面板(Ctrl+Shift+P)都找不到。强制重载:按 Ctrl+Shift+P 输入 Developer: Reload Window 执行。生效后,打开任意 .http 文件,状态栏右下角应显示 HTTP 图标,且文件顶部出现 Send Request 链接。
为什么写了请求却点不动 Send Request
- 文件没保存,或后缀不是
.http或.rest(.txt、.md、无后缀都不行) - 光标不在合法请求块内:必须停在以
GET/POST开头的行上,不能在空行、注释行或变量定义行 - 首行格式错误:必须是
GET https://...这种完整请求行,不能缩进、不能加//注释、不能漏协议(http://或https://) - 快捷键被占用:比如 Vim 插件会劫持
Ctrl+Alt+R,可在 VS Code 键位设置里搜rest-client.request重新绑定
写 POST JSON 请求总报 400 或静默失败
REST Client 对空行和缩进零容忍,错一个就解析错。关键规则:
-
Content-Type: application/json必须显式写出;缺省是text/plain,很多后端直接拒收 - 请求头与 body 之间必须且仅有一个空行;多一个,body 被当 header;少一个,body 被吞掉
- JSON body 必须顶格写,不能缩进,所有字符串用英文双引号,不能有 JS 注释(
//或/* */) - 中文参数要手动
encodeURIComponent编码,URL 里别留裸中文
正确示例:
POST https://httpbin.org/post
Content-Type: application/json
<p>{"name":"Alice","age":30}Authorization 头写对了还是 401
REST Client 不继承浏览器登录态或系统环境变量,token 必须显式传递,且格式极敏感:
-
Authorization拼写必须首字母大写,不能写成authorization或Authroization - Bearer token 格式是
Bearer <token></token>,中间必须有空格;漏空格后端通常直接返回 401 - token 本身含
+、/、=等字符时,不用解码,原样粘贴即可 - 用变量(如
{{token}})时,变量必须定义在rest-client.environmentVariables配置中,且当前环境已通过命令面板REST Client: Switch Environment激活(右下角状态栏会显示环境名)
变量名不能含点号或中划线(@api.v1 或 @auth-token 会解析失败),只允许小写字母、数字和下划线。
最常被忽略的是变量作用域:文件顶部用 @host = ... 定义的变量只在当前请求块生效;跨文件复用必须靠 rest-client.environmentVariables 配置,且切换环境后需手动重载当前 .http 文件才能刷新变量值。


















