VSCode 通过 REST Client 扩展可零配置发起 HTTP 请求;新建 .http 文件写 GET/POST 请求,用 Ctrl+Alt+R 发送,支持变量、环境隔离与 JSON 格式化响应。

VSCode 本身不内置 REST 客户端,但通过 REST Client 扩展可以零配置、纯文本方式发起 HTTP 请求——比 Postman 轻量,比 curl 可读性强,适合开发时快速验证接口。
安装并启用 REST Client 扩展
在 VSCode 扩展市场搜索 REST Client(作者:Huachao Mao),点击安装并重启(部分版本需重载窗口)。安装后无需额外配置,新建一个以 .http 或 .rest 为后缀的文件即可开始写请求。
- 扩展不依赖外部服务或账户,所有请求都在本地执行
- 不支持 WebSocket 或 multipart/form-data 文件上传(需改用
curl或其他工具) - 若打开
.http文件后无语法高亮或发送按钮,检查是否被其他扩展(如 “HTTP Request”)冲突
写一个最简 GET 请求
在 test.http 中输入:
GET https://jsonplaceholder.typicode.com/posts/1
光标停留在该行,按 Ctrl+Alt+R(Windows/Linux)或 Cmd+Alt+R(macOS),右侧会弹出响应面板。响应头、状态码、JSON 格式化结果一目了然。
- URL 必须完整(含协议),不能写成
GET /posts/1 - 请求行末尾不能有多余空格,否则报错
Invalid request line - 响应体自动尝试 JSON 格式化;若返回 XML 或纯文本,会原样显示
带 Header 和 Body 的 POST 请求
多行请求需用空行分隔,Header 写在第一行之后、Body 之前:
POST https://jsonplaceholder.typicode.com/posts Content-Type: application/json{ "title": "hello", "body": "world", "userId": 1 }
-
Content-Type是必须显式声明的,尤其对 JSON;缺省时后端可能拒收 - Body 前必须有且仅有一个空行,否则会被当作 Header 解析
- Body 支持变量引用(如
{{baseUrl}}),但需先在单独的@baseUrl = https://...块中定义 - 不支持直接读取本地文件作为 Body(比如
@./data.json),得手动粘贴或用脚本预处理
复用 Token 与环境变量
登录后拿到的 token 可存为变量,后续请求直接引用:
@token = Bearer abc123xyzGET https://www.php.cn/link/68cc2a928d18fc6a91e6c944dc8538d0 Authorization: {{token}}
更进一步,可建 env.http 定义多套环境:
@dev_host = https://dev.api.example.com
@prod_host = https://api.example.com
@token = Bearer {{dev_token}}
然后在其他 .http 文件里用:
GET {{dev_host}}/users
Authorization: {{token}}
- 变量作用域是整个文件,跨文件不共享;不同环境需手动切换注释或使用 VSCode 工作区设置
- 敏感信息(如密码、token)不应硬编码在版本库中,建议用
.gitignore过滤*env*.http - 变量值里不能有换行或未转义的双引号,否则解析失败
真正麻烦的不是怎么发请求,而是如何让响应数据可追踪、可复现:别把临时 token 写死在共享文件里,也别靠记忆记哪个 .http 对应哪个测试场景——用文件名和注释说清楚用途,比花哨功能更重要。










