Programme d’amélioration du produit Visual Studio

Le programme VSCEIP (Programme d’amélioration du produit Visual Studio) 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 se servent de Visual Studio, sans les interrompre dans leurs tâches. Les informations collectées permettent à Microsoft d’identifier les fonctionnalités à améliorer. Ce document explique comment accepter ou refuser le VSCEIP, et fournit des informations sur les types de données que nous collectons et la façon dont nous les utilisons. Il fournit également des conseils sur la façon dont les auteurs d’extensions peuvent éviter de divulguer par inadvertance des informations personnelles ou sensibles.

Refusez la collecte de données de diagnostic

Compte tenu de la finalité des données que nous collectons et des contraintes liées à leur accès et leur rétention, nous vous recommandons d’utiliser les paramètres de confidentialité par défaut pour Visual Studio et Windows. Toutefois, vous pouvez refuser de participer au Programme d’amélioration de l’expérience utilisateur Visual Studio. Lorsque vous refusez, vous refusez la collecte de données de diagnostic facultative. Certaines collectes de données de diagnostic sont nécessaires pour s’assurer que Visual Studio est sécurisé et à jour, et qu’il fonctionne comme prévu. La collecte des données de diagnostic requises ne sera pas affectée par votre choix de refuser VSCEIP.

Notes

Si vous souhaitez afficher ou supprimer des données personnelles, consultez les conseils de Microsoft dans Demandes des personnes concernées pour Windows concernant le RGPD. Si vous recherchez des informations générales sur le RGPD, consultez la section relative au RGPD dans le Portail d’approbation de services.

Notes

Les paramètres d’acceptation ou de refus de la télémétrie VSCEIP ne s’appliquent pas à l’option « Signaler un problème » dans Visual Studio. Lorsque vous signalez un problème, les journaux sont collectés et envoyés à Microsoft uniquement lorsque vous fournissez l’autorisation en cliquant sur « Envoyer ». Si vous souhaitez gérer les journaux avant de les soumettre à « Signaler un problème », consultez Confidentialité des données de commentaires pour plus d’informations.

Accepter ou refuser de participer

Le programme VSCEIP est activé par défaut. Vous pouvez le désactiver ou le réactiver en suivant les instructions ci-après :

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

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

  2. Pour refuser de participer, sélectionnez Non, je ne souhaite pas participer, puis sélectionnez OK. Pour accepter de participer, sélectionnez Oui, je souhaite participer (Recommandé), puis sélectionnez OK.

    Visual Studio Experience Improvement Program dialog

Paramètres du Registre

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

La clé de Registre et les paramètres pertinents se présentent comme suit :

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

Entrée = OptIn

Valeur = (DWORD)

  • 0 pour refuser de participer (permet de désactiver le programme VSCEIP)
  • 1 pour accepter de participer (permet d’activer le programme VSCEIP)

Attention

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 Dernière bonne configuration connue, si vous rencontrez des problèmes après l’application des changements manuels.

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

Journaux générés par le système et 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 les utilisons. Il fournit également des conseils sur la façon dont les auteurs d’extensions peuvent éviter de divulguer par inadvertance des informations personnelles ou sensibles.

Types de données collectées

Visual Studio collecte les journaux générés par le système sur les plantages, l’absence de réactivité de l’IU et l’utilisation élevée de l’UC ou de la mémoire. Nous collectons également des informations sur les erreurs rencontrées durant l’installation ou l’utilisation du produit. Les données collectées varient en fonction de l’erreur. Elles peuvent comporter des rapports des appels de procédure, des images mémoire et des informations sur les exceptions :

  • En ce qui concerne l’utilisation élevée de l’UC et l’absence de réactivité, les rapports des appels de procédure relatifs aux threads Visual Studio appropriés sont collectés.

  • Dans les cas où les rapports des appels de procédure de certains threads ne suffisent pas pour déterminer la cause première du problème, par exemple en cas de plantages, de non-réponse ou d’utilisation élevée de la mémoire, nous collectons une image mémoire. L’image mémoire représente l’état du processus au moment où l’erreur s’est produite.

  • Pour les conditions d’erreurs inattendues, par exemple, une exception durant une tentative d’écriture dans un fichier sur le disque, nous collectons des informations sur l’exception. Les informations incluent le nom de l’exception, le rapport des appels de procédure du thread où l’exception s’est produite, le message associé à l’exception et d’autres informations spécifiques à l’exception.

    L’exemple suivant de données collectées indique un nom d’exception, un rapport des appels de procédure 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 de l’erreur et de sa gravité.

Classification de l’erreur

En fonction des journaux, les erreurs sont classées et comptabilisées pour faire l’objet d’une hiérarchisation des recherches. Par exemple, nous pouvons découvrir que l’erreur « System.IO.__Error.WinIOError » sur « System.IO.FileStream.Init » s’est produite 500 fois dans la version <x> du produit, et qu’elle a le taux d’occurrence le plus élevé dans cette version.

Éléments de travail pour le suivi

Des éléments de travail pour chaque erreur, par ordre de priorité, sont créés et attribués aux ingénieurs afin de faire l’objet de recherches. En règle générale, ces éléments de travail contiennent des informations relatives à la classification, à la priorité et au diagnostic en fonction du type de l’erreur. Ces informations proviennent des journaux générés par le système et collectés pour l’erreur. Par exemple, un élément de travail relatif à un plantage peut contenir le rapport des appels de procédure où se produit ce plantage.

Recherches liées à une erreur

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 celles contenues dans l’élément de travail. Ils se réfèrent donc à la collecte du journal généré par le système d’origine. Par exemple, un ingénieur peut examiner une image mémoire pour comprendre le plantage d’un produit.

Conseils pour les auteurs d’extensions

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