必须同时满足:安装启用humao.rest-client插件、文件已保存且后缀为.http或.rest、光标停在合法请求行(如get https://)上;空行和缩进必须严格符合rfc格式,变量定义须置于顶部且命名合法。

REST Client 插件安装后没反应?检查 http 文件后缀和空行
装完插件却找不到“Send Request”按钮,大概率是文件没识别成 HTTP 类型。VS Code 只对后缀为 .http 或 .rest 的文件启用 REST Client 功能,.txt 或无后缀文件不会触发。
即使后缀正确,也容易忽略语法细节:每个请求末尾必须有一个空行(或以 # 开头的注释行),否则插件不解析。多个请求之间用空行分隔,不是换行就行 —— 换行符后面不能有空格或制表符。
GET http://localhost:3000/api/users- 下面紧跟着一个空行(不是 Ctrl+Enter 产生的“看起来像空”的行)
- 如果写成
GET /api/users HTTP/1.1<enter><tab><enter></enter></tab></enter>,那个 Tab 会让插件跳过该请求
POST 请求带 JSON body 时,Content-Type 必须显式声明
REST Client 不会自动推断 body 类型。发 JSON 却漏写 Content-Type: application/json,后端常返回 415 Unsupported Media Type,但错误信息藏在响应头里,容易误判为接口挂了。
常见写法:
POST http://localhost:3000/api/login
Content-Type: application/json
{
"username": "admin",
"password": "123"
}
- 注意
Content-Type和 body 之间仍需一个空行 - body 中的双引号、逗号、括号必须合法,JSON 格式错误会导致 400,且插件不校验语法
- 若要发表单数据,改用
Content-Type: application/x-www-form-urlencoded,body 写成username=admin&password=123
环境变量和 token 管理别硬编码,用 @name := value
把 http://localhost:8000 直接写死在每个请求里,换测试环境就得全局替换。REST Client 支持变量定义,放在文件顶部即可复用:
@host = http://localhost:8000
@token = Bearer abc123
GET {{host}}/api/profile
Authorization: {{token}}
- 变量名用
{{xxx}}引用,支持嵌套(如{{host}}/v1{{path}}) - 变量定义必须在第一个请求之前,且不能缩进
- 不同
.http文件间变量不共享,想跨文件管理建议用 VS Code 的settings.json配置rest-client.environmentVariables
响应太大卡死?关掉 rest-client.previewResponseInUntitledDocument
默认开启预览模式,大响应(比如返回 10MB 日志文件)会拖慢整个编辑器,甚至导致 VS Code 无响应。这不是 bug,是设计如此 —— 它把响应内容加载进内存并渲染为新标签页。
解决办法:打开设置(Ctrl + ,),搜索 rest-client.preview,把 rest-client.previewResponseInUntitledDocument 设为 false。这样响应只显示在输出面板(Ctrl + Shift + U),可滚动查看,不阻塞 UI。
顺带一提:rest-client.maxResponseBodySizeInBytes 默认是 10MB,超限就截断,调高也没用 —— 预览模式本身才是瓶颈。











