必须安装作者Huachao Mao的REST Client扩展并重启VSCode,新建test.http文件,首行写GET https://httpbin.org/get,按Ctrl+Alt+R发送;语法须严格:方法与URL同行、头冒号后一空格、头与体间空一行、变量用{{var}}且定义在.rest-client或文件顶部。
VSCode本身不带API测试能力,必须装扩展才能发请求;REST Client是目前最轻量、语法最贴近HTTP协议的选择,但配置错一个字符就会发送失败。
安装REST Client扩展并确认生效
装完不重启,90%的“点不动”问题就出在这儿。官方扩展作者是Huachao Mao,别选错名字相似的替代品。
打开VS Code扩展面板(Ctrl+Shift+X),搜
,点安装
安装后必须重启VS Code——部分版本不重启不会加载语法高亮和快捷键
新建文件,保存为
(不是
,也不是没后缀),输入
,看右下角语言模式是否自动变成
;如果不是,手动点击右下角→
→选
光标停在
行,按
(Windows/Linux)或
(Mac),弹出“Sending request…”即成功
.http文件语法必须严格对齐
它不解析curl命令,也不认JS注释,空格、换行、冒号后多一个空格都会导致
或400错误。
第一行必须是
,例如
,不能写成
Header每行一个,格式为
,冒号后**必须有且仅有一个空格**,
✅,
❌
Header与Body之间**必须空一行**,Body开头不能有空行,否则整段被当注释忽略
JSON Body可换行缩进,但首字符必须顶格,
✅,
❌
中文、空格、
等直接写,
会被自动URI编码,不用手写
环境变量配置:三种方式优先级不同
变量不是随便定义就能用,作用域和加载顺序决定哪个值最终生效,硬编码
却始终为空,大概率是定义位置错了。
VSCode 1.118
微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。
下载
文件内定义(最高优先级):
写在
文件顶部,只对当前文件生效
工作区级配置(推荐):在项目根目录建
(无后缀),内容为
,所有
文件都可读取,且可加到
保护敏感信息
全局环境配置(最低优先级):VS Code设置里搜
,填JSON格式,如
,再用
切换环境
引用时统一用
,但注意:
里的变量不支持嵌套引用,
会报错
HTTPS证书失败、超时、响应卡死怎么调
这些不是功能缺陷,而是默认策略——开发时关SSL验证、调大超时、跳过渲染大响应体,三步就能解决95%的“发不出去”或“卡住”问题。
内网自签证书报
:在请求前加注释
(仅限开发环境)
请求等十几秒才返回或超时:在请求前加
(单位毫秒),支持每个请求单独设
响应体几MB,VS Code界面卡死:别强撑着看渲染结果,右键响应窗口→
,粘贴到外部编辑器查
需要保持登录态?REST Client默认无Cookie管理,
不会自动带入下个请求,得手动提取再写
最容易被忽略的是变量作用域和文件关联——
文件名不能带
后缀,
文件右下角语言模式必须是
,这两个点一错,所有变量和语法高亮都失效,但错误提示几乎为零。
REST Clienttest.httptest.txtGET https://httpbin.org/getHTTPConfigure File Association for '.http'HTTPGETCtrl+Alt+RCmd+Alt+RInvalid request method方法 URLPOST https://api.example.com/logincurl -X POSTKey: ValueContent-Type: application/jsonContent-Type:application/json{ "name": "Alice" } { "name": "Alice" }&GET https://api.com?q=你好&sort=desc%E4%BD%A0{{token}}@host = https://dev.api.com.http.rest-client@token = abc123.http.gitignoreREST Client: Environment Variables{"dev": {"host": "https://dev.api.com"}}Ctrl+Alt+E{{host}}.rest-client@baseUrl = https://{{host}}/v1SSL certificate problem# @no-ssl-verification# @timeout = 30000Copy Response BodySet-CookieCookie: xxx.rest-client.json.httpHTTP