IntelliCode 隐私

本文介绍适用于 Visual Studio 的 IntelliCode 和 Visual Studio Code的隐私信息和设置。

IntelliCode 整行完成

IntelliCode 整行完成完全在本地计算机上运行,不向 Microsoft 发送任何代码,以便进行预测。

防火墙和代理设置

为了使 IntelliCode 能够访问 Web 服务,网络管理员需要将 https/443 上的 *.intellicode.vsengsaas.visualstudio.com 添加到允许列表。 反之,将其添加到阻止列表会阻止 IntelliCode 在你的网络中工作。

有关更多信息,可以参阅在防火墙或代理服务器后面安装和使用 Visual Studio 和 Azure 服务

IntelliCode API 用法示例

此功能使用 Web 服务返回它在公共 GitHub 存储库上找到的函数的实际使用示例。 此功能保留其包含示例的函数名称的本地列表,仅基于扫描公共 GitHub 存储库。 它通过从 Web 服务下载该列表来维护本地计算机上的该列表。 使用 API 用法示例时,它将检查代码中的函数调用显示在功能已知的标准和第三方库调用列表中。 此检查在本地执行,因此没有代码离开计算机。 最后,我们仅检索 Web 服务中的示例,以便仅检索找到的那些标准和第三方库调用。 因此,此功能永远不会通过 Internet 发送任何代码。

IntelliCode 团队完成模型

某些 IntelliCode 功能需要访问 Web 服务来获取模型文件,或提交代码元数据以根据自己的代码训练新的自定义模型。 IntelliCode Web 服务在传递到 Visual Studio 的实例后,不会保留自定义模型的副本。 如果 Visual Studio 的实例从未收集为训练而发送的自定义模型,我们会在生成模型的 29 天后自动从我们的服务中删除它。

有关更多信息,可以参阅自定义模型数据和隐私部分。

数据驻留

为代码训练团队完成模型时,你提交的代码元数据可能会离开地理位置。 它将由位于美国美国的 IntelliCode 服务处理。

公司对团队完成模型训练的控制措施

通过注册表项,可以根据公司策略在运行组织中 Visual Studio 的所有计算机中禁用团队完成模型训练和获取。

全局策略:

  • 路径:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\VisualStudio\IntelliCode
  • 密钥:DisableRemoteAnalysis
  • 密钥类型:DWORD(32 位)
  • 值为 1 时指示“选择退出”

本地策略:

  • 路径:HKEY_CURRENT_USER\SOFTWARE\Microsoft\VSCommon\16.0\IntelliCodeHKEY_CURRENT_USER\SOFTWARE\Microsoft\VSCommon\17.0\IntelliCode
  • 密钥:DisableRemoteAnalysis
  • 密钥类型:DWORD(32 位)
  • 值为 1 时指示“选择退出”