必须安装作者huachao mao、id humao.rest-client的正版插件,安装后执行developer: reload window重载窗口,并保存为.http/.rest文件且首行顶格写完整请求行(如get https://),三者缺一不可,否则ctrl+alt+r/cmd+alt+r无效。

装对插件且重载窗口才能触发快捷键
Ctrl+Alt+R(Windows/Linux)或 Cmd+Alt+R(macOS)根本不会响应,90% 是因为插件没装对或没重载。VS Code 扩展市场搜 “REST Client” 会出现多个同名插件,必须认准作者 Huachao Mao、ID 为 humao.rest-client 的那个——安装量超 700 万、更新日志最新到 2026 年 4 月的是正主。装完后必须执行 Developer: Reload Window(通过 Ctrl+Shift+P / Cmd+Shift+P 调出命令面板),否则右下角不会出现 HTTP 图标,.http 文件也没有语法高亮和 Send Request 命令。
.http 文件必须满足三个硬性条件
缺一不可:已保存、后缀为 .http 或 .rest、首行是合法请求行。临时文件、未保存的 .txt、甚至无后缀的文档,快捷键和右键菜单都不会出现。首行必须顶格写,不能缩进、不能加注释、不能带引号,协议必须完整:
-
GET https://api.example.com/users✅ -
GET"https://api.example.com/users"❌(引号) -
GET https://api.example.com/users?name=张三❌(中文未编码) -
GET https://api.example.com/users?name=%E5%BC%A0%E4%B8%89✅(URL 编码)
Windows 用户额外注意:换行符必须是 LF(Unix 风格),不是 CRLF,否则可能报 Invalid request line。
POST 带 JSON Body 时 Content-Type 和缩进是关键
Header 行冒号后**必须且仅有一个空格**,Body 必须紧贴空行之后、首字符顶格,任何缩进都会导致解析失败:
POST {{apiUrl}}/login
Content-Type: application/json
Authorization: Bearer abc123
{"username":"test","password":"123456"}
常见错误包括:
-
content-type写成小写或漏写 → 服务端返回415 Unsupported Media Type - Body 用中文引号、全角空格、或开头有空格 → 解析失败,静默不发
- 误用
application/x-www-form-urlencoded却传 JSON → 400 或字段丢失
变量定义位置决定作用域,跨文件不共享
@host = https://dev.api.com 这种写法只在当前 .http 文件生效;全局变量需写进 settings.json 的 rest-client.environmentVariables;环境切换靠 rest-client.environment.json,但变量值不能动态计算(比如没有 {{timestamp()}} 这类函数)。敏感值如 token 别硬编码,改用 @token = {{env:API_TOKEN}},再在终端执行 export API_TOKEN=xxx。
最容易被忽略的是:光标必须停在请求块内——不能在空行、注释行、或 ### 分隔符上,否则快捷键无效;用了 {{var}} 却没定义变量,它不会报错,而是静默失败,请求根本发不出。











