首页 > 解决方案 > 什么是 Visual Studio Code 实验?

问题描述

今天我惊讶地发现 VSCode 的 Workbench 设置下有一个“Enable Experiments”选项,默认是打开的

该设置的描述是“获取实验以从 Microsoft 在线服务运行”,这对我来说似乎相当模糊。我试着用谷歌搜索,但没有找到任何明确的答案。

那么,有谁知道这些“实验”是什么,以及是否最好将其关闭?

标签: visual-studio-codevscode-settings

解决方案


这是使用开源软件是个好主意的情况之一。因为 Visual Studio 代码的源代码发布在https://github.com/Microsoft/vscode。我们可以尝试搜索代码的使用位置。

首先,我们可以尝试搜索字符串Enable Experiments。并查看该选项与哪个操作相关联。从那里,我看到,文件src/vs/workbench/contrib/experiments/node/experimentService.ts正在使用它。具体来说,当尝试在第173行加载实验时

if (!product.experimentsUrl || this.configurationService.getValue('workbench.enableExperiments') === false) {

我们看到,代码会检查“实验 URL”。这可以在product.json评论中提到的@Joey 中看到。就我而言,文本看起来像这样。

"experimentsUrl": "https://az764295.vo.msecnd.net/experiments/vscode-experiments.json",

从那里,我们可以通过向该 URL 发出 GET 请求来查看 JSON 文件的内容。并且,它返回这个(至少,在我提出请求时)

{
    "experiments": [
        {
            "id": "cdias.searchForAzure",
            "enabled": true,
            "action": {
                "type": "ExtensionSearchResults",
                "properties": {
                    "searchText": "azure",
                    "preferredResults": [
                        "ms-vscode.vscode-node-azure-pack",
                        "ms-azuretools.vscode-azureappservice",
                        "ms-azuretools.vscode-azurestorage",
                        "ms-azuretools.vscode-cosmosdb"
                    ]
                }
            }
        }
    ]
}

根据响应,我可以看到,如果我使用“azure”关键字进行搜索,它会尝试更改我的搜索结果。我试过了,搜索结果在结果搜索的顶部显示了 4 个项目。

在此处输入图像描述

至于是否禁用它。为了安全起见(如果你不想让它改变你使用 vscode 的体验)我想你会想要禁用它。但是,我不认为微软会做一些疯狂的事情。


推荐阅读