VS Code REST Client插件如何引用settings.json中的环境变量?
问题原因与解决方法
为什么变量无法被识别?
- 环境未激活:你把变量放在了
Service Principal 1和Service Principal 2两个独立的环境分组下,REST Client不会自动加载非默认环境的变量,必须明确激活对应环境才能读取其中的变量。 - 未关联目标环境:即使变量存在,若没有告知插件要使用哪个环境的变量,插件无法定位到对应分组下的变量值。
正确实现变量引用的三种方法
方法1:激活目标环境后直接引用
- 查看VS Code状态栏,找到REST Client的环境选择器(默认显示
No Environment),点击选择你要使用的环境(比如Service Principal 1)。 - 修改http文件的变量引用,直接使用变量名即可:
@test = {{aadV2TenantId}} ### Display the value of @test POST https://httpbin.org/post Content-Type: application/json { "test": "{{test}}" }
方法2:设置默认环境
如果长期固定使用某个环境,可以在settings.json中配置默认环境,插件启动时会自动加载该环境的变量:
{ "rest-client.environmentVariables": { "Service Principal 1": { "aadV2TenantId": "00000000-0000-0000-0000-000000000000", "aadV2AppUri": "https://analysis.windows.net/powerbi/api", "aadV2ClientId": "00000000-0000-0000-0000-000000000000", "aadV2ClientSecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }, "Service Principal 2": { "aadV2TenantId": "domain.com", "aadV2AppUri": "https://analysis.windows.net/powerbi/api", "aadV2ClientId": "00000000-0000-0000-0000-000000000000", "aadV2ClientSecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" } }, "rest-client.defaultEnvironment": "Service Principal 1" }
配置完成后,直接用方法1的http文件写法就能引用变量。
方法3:在http文件中指定环境
如果只是单个http文件需要使用特定环境,可以在文件开头用@environment指令声明,无需切换全局环境:
@environment = Service Principal 1 @test = {{aadV2TenantId}} ### Display the value of @test POST https://httpbin.org/post Content-Type: application/json { "test": "{{test}}" }
内容的提问来源于stack exchange,提问作者Jacek Antek
相关产品推荐
相关产品推荐

