什么是Visual Studio Code实验?

Ale*_*lex 10 visual-studio-code vscode-settings

今天,我很惊讶地在VSCode的Workbench设置下找到了“启用实验”选项,该选项默认情况下处于启用状态

设置的描述是“获取要从Microsoft在线服务运行的实验”,这对我来说似乎很模糊。我尝试使用Google搜索,但是没有找到明确的答案。

那么,有人知道这些“实验”是什么,并且关闭它是否可能更好?

kuc*_*ang 9

这是使用开源软件是一个好主意的情况之一。因为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) {
Run Code Online (Sandbox Code Playgroud)

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

"experimentsUrl": "https://az764295.vo.msecnd.net/experiments/vscode-experiments.json",
Run Code Online (Sandbox Code Playgroud)

从那里,我们可以通过对该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"
                    ]
                }
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

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

在此处输入图片说明

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