Partager via


Programme d’amélioration de l’expérience client Visual Studio

Le programme d’amélioration de l’expérience utilisateur visual Studio (VSCEIP) est conçu pour aider Microsoft à améliorer Visual Studio au fil du temps. Ce programme collecte des informations sur les erreurs, le matériel informatique et la façon dont les utilisateurs utilisent Visual Studio, sans interrompre les utilisateurs dans leurs tâches sur l’ordinateur. Les informations collectées aident Microsoft à identifier les fonctionnalités à améliorer. Ce document explique comment refuser ou refuser le VSCEIP et fournit des informations sur les types de données que nous collectons et sur la façon dont nous l’utilisons. Il fournit également des conseils sur la façon dont les auteurs d’extensions peuvent éviter la divulgation accidentelle d’informations personnelles ou sensibles.

Désactiver la collecte de données de diagnostic

Étant donné l’objectif des données que nous collectons et les contraintes liées à son accès et à sa rétention, nous vous recommandons d’utiliser les paramètres de confidentialité par défaut pour Visual Studio et Windows. Toutefois, vous pouvez refuser le programme d’amélioration de l’expérience Visual Studio. Lorsque vous renoncez, vous désactivez la collecte de données de diagnostic facultative. Certaines collectes de données de diagnostic sont requises pour vous assurer que Visual Studio est sécurisé, à jour et exécuté comme prévu. La collecte de données de diagnostic requise ne sera pas affectée par votre choix pour refuser VSCEIP.

Note

Si vous souhaitez afficher ou supprimer des données personnelles, consultez les instructions de Microsoft sur les demandes des personnes concernées Windows pour le RGPD. Si vous recherchez des informations générales sur le RGPD, consultez la section RGPD du portail d’approbation de services.

Note

Les paramètres de télémétrie VSCEIP opt in ou out ne s’appliquent pas à « Signaler un problème » dans Visual Studio. Lorsque vous signalez un problème, les journaux sont collectés puis envoyés uniquement à Microsoft quand vous donnez votre autorisation en cliquant sur « Soumettre ». Si vous souhaitez gérer les journaux avant de soumettre à « Signaler un problème », consultez la confidentialité des données de commentaires pour plus d’informations.

Accepter ou refuser

VsCEIP est activé par défaut. Vous pouvez le désactiver ou le réactiver en suivant les instructions suivantes :

  1. Dans Visual Studio, choisissez Aide>Confidentialité>Paramètres de confidentialité.

    La boîte de dialogue Programme d’amélioration de l’expérience Visual Studio s’ouvre.

  2. Pour désactiver, sélectionnez Non, je n’aimerais pas participer, puis sélectionner OK. Pour choisir, sélectionnez Oui, je suis prêt à participer (recommandé), puis sélectionnez OK.

    Boîte de dialogue Programme d’amélioration de l’expérience Visual Studio

Paramètres du Registre

Si vous installez Build Tools pour Visual Studio, vous devez mettre à jour le Registre pour configurer VSCEIP. Les clients d’entreprise peuvent construire une stratégie de groupe pour accepter ou désactiver VSCEIP en définissant une stratégie basée sur le Registre.

La clé et les paramètres de Registre appropriés sont les suivants :

  • Sur un système d’exploitation 64 bits, Key = HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSCommon\17.0\SQM
  • Sur un système d’exploitation 32 bits, Key = HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VSCommon\17.0\SQM
  • Lorsque la stratégie de groupe est activée, clé = HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\VisualStudio\SQM

Entrée = OptIn

Value = (DWORD)

  • 0 est désactivé (désactivez VSCEIP)
  • 1 est choisi (activez VSCEIP)

Caution

Une modification incorrecte du Registre peut endommager gravement votre système. Avant toute modification du registre, il est conseillé de sauvegarder toutes les données importantes de votre ordinateur. Vous pouvez également utiliser l’option de démarrage Last Known Good Configuration si vous rencontrez des problèmes après l’application de modifications manuelles.

Pour plus d’informations sur les informations collectées, traitées ou transmises par VSCEIP, consultez la Déclaration de confidentialité Microsoft.

Logs générés par le système collectés par Visual Studio

Visual Studio collecte les journaux générés par le système pour résoudre les problèmes et améliorer la qualité du produit. Voici quelques informations sur les types de données que nous collectons et sur la façon dont nous l’utilisons. Il fournit également des conseils sur la façon dont les auteurs d’extensions peuvent éviter la divulgation accidentelle d’informations personnelles ou sensibles.

Types de données collectées

Visual Studio collecte les journaux générés par le système pour les pannes, l'interface utilisateur est irréactive et une utilisation élevée du processeur ou de la mémoire. Nous collectons également des informations sur les erreurs rencontrées lors de l’installation ou de l’utilisation du produit. Les données collectées varient en fonction de l’erreur et peuvent inclure des traces de pile, des vidages de mémoire et des informations d’exception :

  • Pour une utilisation élevée du processeur et une absence de réponse, les traces de pile des threads Visual Studio pertinents sont collectées.

  • Dans les cas où les traces de pile de certains threads ne sont pas suffisantes pour déterminer la cause racine du problème, par exemple, les incidents, l’absence de réponse ou l’utilisation élevée de la mémoire, nous collectons un vidage de mémoire. Le vidage représente l’état du processus lorsque l’erreur s’est produite.

  • Pour des conditions d’erreur inattendues, par exemple, une exception lors de la tentative d’écriture dans un fichier sur disque, nous collectons des informations sur l’exception. Les informations incluent le nom de l’exception, la trace de pile du thread où l’exception s’est produite, le message associé à l’exception et d’autres informations pertinentes pour l’exception spécifique.

    Les exemples suivants de données collectées montrent un nom d’exception, une trace de pile et un message d’exception :

    "Reserved.DataModel.Fault.Exception.TypeString": "System.IO.IOException",
    "Reserved.DataModel.Fault.Exception.StackTrace": "System.IO.__Error.WinIOError(Int32,String)\r\n
    System.IO.FileStream.Init(String,FileMode,FileAccess,Int32,Boolean,FileShare,Int32,FileOptions,SECURITY_ATTRIBUTES,String,Boolean,Boolean,Boolean)\r\n
    System.IO.FileStream..ctor(String,FileMode,FileAccess,FileShare,Int32,FileOptions,String,Boolean,Boolean,Boolean)\r\nSystem.IO.StreamWriter.CreateFile(String,Boolean,Boolean)\r\n
    System.IO.StreamWriter..ctor(String,Boolean,Encoding,Int32,Boolean)\r\n
    System.IO.StreamWriter..ctor(String,Boolean)\r\n
    System.IO.File.CreateText(String)\r\n
    Microsoft.VisualStudio.Setup.Services.FileSystem.CreateText(String,Boolean)\r\n
    Microsoft.VisualStudio.Setup.Cache.ChannelManifestRepository.WriteChannelManifest(IChannelManifest,String,String)\r\n
    Microsoft.VisualStudio.Setup.Cache.ChannelManifestRepository.AddChannel(ChannelManifestPair,Boolean)\r\n
    Microsoft.VisualStudio.Setup.Cache.CacheManager.AddChannel(ChannelManifestPair,Boolean)\r\n
    Microsoft.VisualStudio.Setup.ChannelManager.\<UpdateAsync>d__37.MoveNext()\r\n”,
    "Reserved.DataModel.Fault.Exception.Message": " The process cannot access the file 'C:\\Users\\[UserName]\\AppData\\Local\\Microsoft\\VisualStudio\\Packages\\_Channels\\4CB340F5\\channelManifest.json' because it is being used by another process."
    

Comment nous utilisons les journaux générés par le système

Le flux de travail permettant de déterminer la cause racine d’une erreur varie en fonction du type d’erreur et de sa gravité.

Classification des erreurs

En fonction des journaux, les erreurs sont classées et comptées pour hiérarchiser leur investigation. Par exemple, nous pouvons découvrir que « System.IO.__Error.WinIOError » sur « System.IO.FileStream.Init » s’est produit 500 fois dans la version <x> du produit et a le taux d’occurrence le plus élevé dans cette version.

Éléments de travail pour le suivi

Les éléments de travail pour les erreurs individuelles, classées par ordre de priorité, sont créés et affectés aux ingénieurs à des fins d’investigation. Ces éléments de travail contiennent généralement les informations de classification, de priorité et de diagnostic pertinentes pour le type d’erreur. Ces informations sont dérivées des journaux générés par le système collectés pour l’erreur. Par exemple, un élément de travail pour un crash peut contenir la trace de pile où le crash se produit.

Investigation des erreurs

Les ingénieurs utilisent les informations disponibles dans un élément de travail pour déterminer la cause racine d’une erreur. Dans certains cas, ils ont besoin de plus d’informations que ce qui est présent dans l’élément de travail, auquel cas ils font référence au journal généré par le système d’origine qui a été collecté. Par exemple, un ingénieur peut inspecter un vidage de mémoire pour comprendre un crash de produit.

Conseils pour les auteurs d’extensions

Les auteurs d’extensions doivent limiter l’exposition des informations personnelles en n’utilisant pas d’informations personnelles ou d’autres informations sensibles dans les noms de leurs modules, types et méthodes. Si un incident ou une condition d’erreur similaire se produit avec ce code sur la pile d'exécution, les informations sont collectées dans les journaux générés par le système.