必须认准作者huachao mao、id为humao.rest-client的插件,安装后重载窗口,右下角显示http图标且命令面板可搜到rest client命令即生效;文件须保存为.http/.rest后缀,首行顶格写get https://等完整请求格式,三者缺一不可。

装对插件、保存为 .http 后缀、首行写对请求格式,三者缺一不可——否则 Ctrl+Alt+R(Windows/Linux)或 Cmd+Alt+R(macOS)根本不会触发发送。
怎么确认 REST Client 插件装对了
VS Code 扩展市场搜 “REST Client” 会出现多个同名插件,必须认准作者是 Huachao Mao、ID 是 humao.rest-client 的那个。安装量超 700 万、更新日志活跃到 2026 年 4 月的是正主;点进去看详情页的 “Publisher” 字段,不是 humao 的都别点安装。
装完必须重载窗口:按 Ctrl+Shift+P(macOS 是 Cmd+Shift+P),输入 Developer: Reload Window 并执行。不 reload,右下角不会出现 HTTP 图标,.http 文件也不会有语法高亮和 Send Request 命令。
如果重载后仍无反应:
- 打开命令面板搜
REST Client: Switch Environment,能调出来就说明插件已加载 - 检查是否被其他插件禁用:在 Extensions 页面搜索
rest-client,确认状态是 “Enabled”,不是 “Disabled by another extension” - 别手动下载
.vsix安装——VS Code 1.80+ 对未签名插件限制变严,容易卡在 “Installing…” 或报签名校验失败
为什么 .http 文件里点 Send Request 没反应
90% 是文件没被识别为 HTTP 类型。REST Client 只响应后缀为 .http 或 .rest 的已保存文件。临时文件、.txt、.md、甚至无后缀的文件,快捷键和右键菜单都不会出现。
即使后缀对了,第一行也必须是合法请求行:
- 顶格写、无注释、无空格缩进
- 协议完整(
https://不能少),不能加引号 - 中文参数必须 URL 编码,比如
name=%E5%BC%A0%E4%B8%89,别用+
下面这些全错:
GET"https://api.example.com/users" GET https://api.example.com/users // GET https://api.example.com/users GET https://api.example.com/users?name=张三
光标必须停在请求块内——不能在空行、注释行、或 ### 分隔符上。
用了 {{var}} 却没定义变量?它不会报错,而是静默失败,请求发不出。
HTTP 请求块怎么写才合法
每个请求块之间用空行分隔,且必须以大写方法名 + 空格 + 完整 URL 开头。常见错误包括漏空行、GEThttps://(缺空格)、或把注释放第一行。
正确结构示例:
GET https://jsonplaceholder.typicode.com/posts/1
Accept: application/json
POST https://jsonplaceholder.typicode.com/posts
Content-Type: application/json
{
"title": "foo",
"body": "bar",
"userId": 1
}
- 方法名(
GET、POST等)必须大写,后跟一个空格,再跟 URL - Header 每行一条,
Key: Value格式,冒号后需有且仅有一个空格 - 请求体(如 JSON)必须紧跟空行之后,不能缩进,也不能加额外空行
- URL 不能缩写成
/api/users,必须带https://或http:// - Header 行末不能有多余空格,否则可能被忽略
响应 JSON 怎么自动美化
REST Client 默认以纯文本显示响应,即使返回的是标准 JSON。要开启美化:
- 响应窗口右上角点击
Format Response按钮(图标为{}),它只对当前响应生效,不依赖设置 - 如果想默认启用,需确保
rest-client.responsePreviewEnable为true,同时关闭rest-client.previewResponseInUntitledDocument(设为false)
带认证或复杂 Header 时,容易忽略换行和编码问题:比如 Authorization: Bearer eyJhbG (末尾多了一个空格)会导致 401;又或者中文参数没做 URL 编码,直接写 q=上海 会报 400。
环境变量(如 {{baseUrl}})必须提前在 rest-client.environmentVariables 配置中定义,否则解析失败但不报错——这是最常被忽略的静默陷阱。











