必须重启vscode、文件保存为.http后缀且右下角显示“http”、第一行顶格写合法请求行。三者缺一不可,否则ctrl+alt+r无响应。

REST Client 插件装完没反应?先确认这三件事
插件装了但 Ctrl+Alt+R 按下没弹出 “Sending request”,大概率是卡在这三个环节:没重启 VSCode、文件后缀不是 .http 或 .rest、第一行不是合法请求行。
- 必须重启 VSCode(不是重载窗口,是彻底关闭再打开),否则语法高亮、快捷键、右下角 HTTP 语言标识都不会加载
- 新建文件后务必手动保存为
test.http——.txt、.api、无后缀都不行;保存后看右下角是否显示 “HTTP”,如果不是,点击它 →Configure File Association for '.http'→ 选HTTP - 第一行必须顶格写,例如
GET https://httpbin.org/get;不能有注释、不能缩进、不能加引号、不能拆成两行;GEThttps://...(少空格)或GET "https://..."(加引号)都会被判定为无效请求行
为什么 Invalid request method 或 400 错误频发
这不是网络问题,而是 .http 文件语法被严格校验的结果。REST Client 不做容错解析,一个空格错位就直接拒收。
-
Content-Type: application/json✅,Content-Type:application/json❌(冒号后必须且仅有一个空格) - Header 和 Body 之间**必须空一行**;Body 开头不能有空格或空行,否则整段被当注释忽略
- JSON Body 必须顶格写:
{ "name": "Alice" }✅,{ "name": "Alice" }❌(首字符前有空格) - 中文、空格、
&等参数可直接写进 URL,GET https://api.com?q=你好&sort=desc会被自动 URI 编码;别手写%E4%BD%A0,也别用+代替空格
{{token}} 始终为空?查作用域优先级
变量不生效,90% 是定义位置错了。REST Client 的变量作用域有明确优先级:文件内 > 工作区 > 全局,且不支持跨文件继承。
- 最可靠方式:在
.http文件最顶部顶格写,无空格无注释,例如@token = abc123,然后用{{token}} - 工作区级推荐:项目根目录建
.rest-client(无后缀),内容如@baseUrl = https://dev.api.com,所有同级.http文件都能读取 - 别把变量写在
.http文件中间或注释后——它只认顶部连续的@key = value块;也不要在.rest-client里写 JS 语法或 JSON 格式
多请求、带认证、JSON body 的 POST 怎么写才不翻车
结构顺序和格式比内容更重要。一个 POST 请求块必须满足“请求行 → Header → 空行 → Body”四段式,缺一不可。
- 请求行必须大写方法名 + 空格 + 完整 URL:
POST https://api.example.com/login - Header 每行一条,
Authorization: Bearer {{token}}这类动态值没问题,但确保{{token}}已正确定义 - Body 前必须空一行,且 JSON 必须顶格、无 BOM、无 UTF-8 编码异常;换行缩进可以,但首字符不能是空格或制表符
- 多个请求用空行分隔,不用
###(那是旧版兼容写法,新版已弃用;空行才是唯一标准分隔符)
Invalid request line,以及光标停在空行或注释行时快捷键完全失效——发送前务必确认光标在请求行任意位置。











