Visual studio code 什么是VisualStudio代码实验?

Visual studio code 什么是VisualStudio代码实验?,visual-studio-code,vscode-settings,Visual Studio Code,Vscode Settings,今天,我惊讶地发现在VSCode的工作台设置下有一个“enableexperiments”选项,默认情况下打开了 该设置的描述是“从Microsoft在线服务获取运行的实验”,这在我看来相当模糊。我试着用谷歌搜索,但没有找到任何明确的答案 那么,有人知道这些“实验”是什么吗?如果关闭它可能会更好吗?这是使用开源软件的一个好主意。因为visual studio代码的源代码是在中发布的。我们可以尝试搜索代码的使用位置 首先,我们可以尝试搜索字符串Enable Experiments。看看,选项与哪个

今天,我惊讶地发现在VSCode的工作台设置下有一个“enableexperiments”选项,默认情况下打开了

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


那么,有人知道这些“实验”是什么吗?如果关闭它可能会更好吗?

这是使用开源软件的一个好主意。因为visual studio代码的源代码是在中发布的。我们可以尝试搜索代码的使用位置

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

我们看到,代码将检查“实验URL”。这可以在@Joey在评论中提到的
product.json
中看到。在我的例子中,文本如下所示

"experimentsUrl": "https://az764295.vo.msecnd.net/experiments/vscode-experiments.json",
从那里,我们可以通过向该URL发出GET请求来查看JSON文件的内容。并且,它返回这个(至少在我发出请求时)

根据回复,我可以看到,如果我使用“azure”关键字搜索,它会试图改变我的搜索结果。我试过了,搜索结果显示了搜索结果顶部的4个项目


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

我只是注意到了这一点,并且对它很好奇。通过搜索VS代码发行说明,在2018年7月找到了一个对它的引用<代码>工作台。enableExperiments列为VS代码“脱机模式”的设置之一:

脱机模式的描述表明此设置用于“A/B实验”:

为了支持这种脱机模式,我们添加了新的设置,以关闭自动扩展更新检查、查询A/B实验设置以及获取联机数据以自动完成等功能

正如其他人提到的,VS代码的源代码显示了在
experimentService.ts
中使用的此设置:


如果您查看
experimentService.ts
的代码,它获取的内容似乎与扩展建议、关于新功能的通知以及类似的内容有关。因此,该实验服务似乎是用于获取数据,对用户的功能和扩展建议进行A/B测试。

/usr/share/code/resources/app
中有一个名为
product.json
的文件。在这个文件中,我搜索了实验和工作台。我找到了“experimentsUrl”和
下面的几行“checksums”:{“vs/workbench/workbench.main.js”,…}
。不幸的是,我不能确切地说出这是否与您在问题中提到的设置有关。但也许其他人可以…我不认为微软会做一些疯狂的事情-嗯。。。
"experimentsUrl": "https://az764295.vo.msecnd.net/experiments/vscode-experiments.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"
                    ]
                }
            }
        }
    ]
}