VSCode REST Client插件仅识别 .http 或 .rest 后缀文件,需保存后生效;请求格式须严格符合RFC 2616,变量需明确定义且注意作用域;二进制响应需手动选择View as Binary查看。

文件后缀必须是 .http 或 .rest 才能触发功能
VSCode 不会识别 test.txt、api.js 甚至无后缀的文件为 HTTP 请求载体。只有保存为 xxx.http 或 xxx.rest,插件才会加载语言模式、启用语法高亮、显示 Send Request 按钮和快捷键。
常见错误现象:Ctrl+Alt+R 按下没反应、右键菜单里找不到 Send Request → 先检查文件名后缀是否正确,再确认是否已保存(未保存的临时文件不生效)。
- Windows/Linux 快捷键是
Ctrl+Alt+R,macOS 是Cmd+Alt+R - 光标需停在合法请求块内(不能在注释行或空行)
- 如果装完插件仍不生效,重启 VSCode 窗口(
Developer: Reload Window)
请求格式对换行和空行极其敏感
REST Client 按 RFC 2616 解析文本,不是“差不多就行”。一个多余空格、少一个空行、多一个缩进,都可能导致请求发不出、报 400、或静默失败。
标准结构是:方法 URL → 空行(可选请求头)→ 空行 → (可选请求体)。三者之间不能错位。
- 第一行必须是完整请求行,例如
GET https://httpbin.org/get,不能加引号、不能缩进、不能写成// GET ... - 请求头每行格式为
Key: Value,末尾不能有空格;多个头之间不能有空行 - Header 和 Body 之间必须且仅有一个空行;Body 必须顶格写(JSON 不要缩进)
- URL 中含空格或特殊字符时,用
%20编码,别用+
变量引用必须配合定义,否则 {{var}} 就是字面量
写 {{host}} 不等于自动有值——它只是占位符,需要明确定义来源。变量分三种:文件内 @host = ...、环境变量(.rest-client 或 rest-client.environmentVariables 配置)、系统预定义(如 {{$datetime iso8601}})。
最容易被忽略的是作用域和优先级:文件内 @ 变量只在当前 ### 块生效;工作区配置的环境变量需通过命令面板手动切换(REST Client: Switch Environment),不会自动读取。
- 不要在
@定义里嵌套引用,例如@base = https://{{env}}.example.com不生效 - 变量名建议小写+下划线,避免全大写(某些系统会强制转小写导致匹配失败)
- 使用
###分隔多个请求块,不是---或***
二进制响应默认不渲染,别误判为请求失败
状态码 200、响应头正常,但右边窗口一片空白或全是乱码?大概率是返回了 PDF、PNG、ZIP 或其他非 UTF-8 内容。REST Client 默认以文本方式解析响应体,遇到无法解码的字节就显示为空或乱码。
这不是 bug,是设计行为。你需要主动切换查看方式:
- 右键响应区域 →
Save Response As...保存到本地再打开 - 点击响应头中
Content-Type后的View as Binary链接 - 注意:
View as Binary不是永久切换,每次新请求都要重新点
这个细节常被当成“接口没通”,其实请求早已成功,只是展示逻辑没跟上内容类型。


















