今天我很惊讶在VSCode的Workbench设置下找到了“启用实验”选项,默认情况下已打开。
该设置的描述是“从微软在线服务中获取实验”,这对我来说似乎很模糊。我试过谷歌搜索,但没有找到任何明确的答案。
那么,有没有人知道那些“实验”是什么,如果关闭它可能会更好?
这是使用开源软件是一个好主意的情况之一。因为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) {
我们看到,代码会检查“实验网址”。这可以在@Joey在评论中提到的product.json
中看到。就我而言,文本看起来像这样。
"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的体验)我想你会想要禁用它。但是,我不认为微软会做一些疯狂的事情。