今天我惊讶地发现,在VSCode的工作台设置下有一个名为“启用实验”的选项,默认情况下是打开状态。
该设置的描述是“从Microsoft在线服务获取运行实验”,对我来说似乎相当模糊。我尝试通过谷歌搜索,但并没有找到明确的答案。
那么,有人知道这些“实验”是什么,最好把它关闭吗?
该设置的描述是“从Microsoft在线服务获取运行实验”,对我来说似乎相当模糊。我尝试通过谷歌搜索,但并没有找到明确的答案。
那么,有人知道这些“实验”是什么,最好把它关闭吗?
Enable Experiments
。并查看该选项绑定到哪个操作。从那里,我看到文件src/vs/workbench/contrib/experiments/node/experimentService.ts
正在使用它。具体来说,在第173行尝试加载实验。if (!product.experimentsUrl || this.configurationService.getValue('workbench.enableExperiments') === false) {
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 的体验),我认为你会想要禁用它。但是,我不认为微软会做出疯狂的事情。workbench.enableExperiments
被列为VS Code“离线模式”的设置之一:https://code.visualstudio.com/updates/v1_26#_offline-mode
离线模式的描述表明,此设置用于“A / B实验”:
正如其他人所提到的,VS Code的源代码显示在为了支持这种离线模式,我们添加了新的设置来关闭功能,例如自动扩展更新检查、查询A / B实验的设置以及获取自动完成的在线数据。
experimentService.ts
中使用了此设置:https://github.com/microsoft/vscode/blob/93bb67d7efb669b4d1a7e40cd299bfefe5e85574/src/vs/workbench/contrib/experiments/common/experimentService.ts
如果您查看experimentService.ts
代码,它获取的内容似乎与扩展推荐、新功能通知和类似的事物有关。因此,看起来实验服务是为了获取数据,以对用户的功能和扩展推荐进行A/B测试。
/usr/share/code/resources/app
目录下有一个名为product.json
的文件。在该文件中,我搜索了experiments和workbench。我找到了"experimentsUrl",并在几行下面找到了"checksums": {"vs/workbench/workbench.main.js", ...}
。不幸的是,我无法确定这是否与您在问题中提到的设置有关。但也许其他人可以... - Joey