Conseils et astuces sur les performances de Visual Studio
Les recommandations en matière de performances de Visual Studio sont destinées à des situations de mémoire faible, qui peuvent se produire dans de rares cas. Dans ces situations, vous pouvez optimiser certaines fonctionnalités de Visual Studio que vous n’utilisez peut-être pas. Les conseils suivants ne sont pas destinés à être des recommandations générales.
Remarque
Si vous rencontrez des difficultés à utiliser le produit en raison de problèmes de mémoire, faites-le nous savoir via l’outil de commentaires .
Utiliser un système d’exploitation 64 bits
Si vous mettez à niveau votre système d’une version 32 bits de Windows vers une version 64 bits, vous développez la quantité de mémoire virtuelle disponible pour Visual Studio de 2 Go à 4 Go. Une mise à niveau du système d’exploitation 64 bits permet à Visual Studio de gérer des charges de travail plus volumineuses.
Pour plus d’informations, consultez Limites de mémoire pour les versions Windows et Windows Server.
Conseil
Visual Studio 2022 sur Windows est une application 64 bits. Les versions antérieures sont 32 bits.
Désactiver la restauration automatique des fichiers
Visual Studio rouvre automatiquement les documents qui ont été laissés ouverts lors de la session précédente. Cette action de restauration automatique de fichiers peut prolonger le temps nécessaire pour charger une solution jusqu’à 30% ou plus, selon le type de projet et les documents ouverts. Les concepteurs tels que Windows Forms et XAML, et certains fichiers JavaScript et TypeScript, peuvent être lents à ouvrir.
Visual Studio vous avertit dans une barre jaune lorsque la restauration automatique des documents entraîne un chargement plus lent. Vous pouvez désactiver la réouverture automatique des fichiers en procédant comme suit :
Sélectionnez Outils>Options pour ouvrir la boîte de dialogue Options.
Dans la page Projets et solutions>Général, désactivez l’option Rouvrir les documents au chargement de la solution.
Si vous désactivez la restauration automatique des fichiers, un moyen rapide d’accéder aux fichiers que vous souhaitez ouvrir consiste à utiliser l’une des commandes Atteindre :
Pour obtenir la fonctionnalité générale Accéder à, sélectionnez Modifier>Accéder à>Accéder à tous les, ou appuyez sur Ctrl+T.
Pour accéder à l’emplacement de la dernière modification d’une solution, sélectionnez Edition>Atteindre>Accéder à l’emplacement de la dernière modification ou appuyez sur Ctrl+Maj+Ret. arr.
Utilisez Accéder au fichier récent pour afficher la liste des fichiers récemment visités dans une solution. Sélectionnez Modifier>Accéder à>Accéder au fichier récent, ou appuyez sur Ctrl+1, Ctrl+R.
Configurer les options de débogage
Si vous manquez généralement de mémoire pendant les sessions de débogage, vous pouvez améliorer les performances en apportant une ou plusieurs modifications de configuration.
Activer Uniquement mon code
L’optimisation la plus simple consiste à activer la fonctionnalité Just My Code, qui charge uniquement les symboles de votre projet. L’activation de cette fonctionnalité peut entraîner une économie de mémoire importante pour le débogage d’applications managées (.NET). Cette option est déjà activée par défaut dans certains types de projet.
Pour activer Just My Code, choisissez Outils>Options>Débogage>Général, puis sélectionnez Activer Just My Code.
Spécifier les symboles à charger
Pour le débogage natif, le chargement des fichiers de symboles (.pdb) est coûteux en termes de ressources de mémoire. Vous pouvez configurer les paramètres de symbole de votre débogueur pour conserver la mémoire. En règle générale, vous configurez la solution pour charger uniquement des modules à partir de votre projet.
Pour spécifier le chargement de symboles, choisissez Outils>Options>Débogage>Symboles.
Définissez les options pour Charger uniquement les modules spécifiés au lieu de Charger tous les modules, puis spécifiez les modules que vous veillez à charger. Lors du débogage, vous pouvez également cliquer avec le bouton droit sur des modules spécifiques dans la fenêtre Modules pour inclure explicitement un module dans le chargement des symboles. (Pour ouvrir la fenêtre pendant le débogage, choisissez Débogage>Fenêtres>Modules.)
Pour plus d’informations, consultez Spécifier les fichiers de symboles et les fichiers sources dans le débogueur.
Désactiver les outils de diagnostic
Nous vous recommandons de désactiver le profilage du processeur après l’utilisation. Cette fonctionnalité peut consommer de grandes quantités de ressources. Une fois le profilage de l’UC activé, cet état est conservé dans les sessions de débogage suivantes. Il est donc utile de le désactiver explicitement lorsque vous avez terminé. Vous pouvez économiser certaines ressources lors du débogage en désactivant les outils de diagnostic si vous n'avez pas besoin des fonctionnalités fournies.
Pour désactiver outils de diagnostic, démarrez une session de débogage, sélectionnez Outils>Options>Débogage>Général, puis désélectionnez l’option Activer les outils de diagnostic lors du débogage option.
Pour plus d’informations, consultez Outils de profilage.
Désactiver les outils et extensions
Certains outils ou extensions peuvent être désactivés pour améliorer les performances.
Conseil
Vous pouvez souvent isoler les problèmes de performances en désactivant les extensions une par une et en réactivant les performances.
Service de langage managé (Roslyn)
Pour plus d’informations sur les considérations relatives aux performances de la plateforme du compilateur .NET (« Roslyn »), consultez considérations relatives aux performances pour les solutions volumineuses.
Désactiver CodeLens
Visual Studio effectue une tâche Rechercher toutes les références sur chaque méthode qui s’affiche. CodeLens fournit des fonctionnalités telles que l’affichage inline du nombre de références. Le travail est effectué dans un processus distinct tel que ServiceHub.RoslynCodeAnalysisService32. Dans les grandes solutions ou sur les systèmes à contrainte de ressources, cette fonctionnalité peut avoir un impact significatif sur les performances. Si vous rencontrez des problèmes de mémoire, par exemple lors du chargement d’une solution volumineuse sur un ordinateur de 4 Go ou une utilisation élevée du processeur pour ce processus, vous pouvez désactiver CodeLens pour libérer des ressources.
Pour désactiver CodeLens, choisissez Outils>Options>Éditeur de texte>Toutes les langues>CodeLens, puis désélectionnez la fonctionnalité.
Pour plus d’informations, consultez Rechercher des modifications de code et d’autres historiques avec CodeLens.
Autres outils et extensions
Désactivez les Extensions
Les extensions sont des composants logiciels supplémentaires ajoutés à Visual Studio qui fournissent de nouvelles fonctionnalités ou étendent les fonctionnalités existantes. Les extensions peuvent souvent être une source de problèmes de ressources de mémoire. Si vous rencontrez des problèmes de ressources de mémoire, essayez de désactiver les extensions un par un pour voir comment elles ont un impact sur le scénario ou le flux de travail.
Pour désactiver les extensions, accédez à Extensions>Gérer les extensions, puis désactivez une extension particulière.
désactiver le mode carte
mode Carte affiche des lignes de code, en miniature, dans la barre de défilement. Le mode carte est activé par défaut.
Pour désactiver le mode carte, accédez à Outils>Options>Éditeur de texte>Toutes les langues>barres de défilement, puis, dans la section Comportement, désélectionnez l’option Utiliser le mode carte pour l’option de barre de défilement verticale.
Désactiver le retour à la ligne automatique
Le retour à la ligne automatique affiche la partie d’une longue ligne de code qui s’étend au-delà de la largeur actuelle de la fenêtre de l’éditeur de code. Le wrapper Word est activé par défaut.
Si vous voulez désactiver le retour automatique à la ligne pour un projet sur lequel vous travaillez actuellement, accédez à Modifier>Avancé>Retour automatique à la ligne. (Vous pouvez activer ce paramètre à l’aide des mêmes commandes de menu.)
Pour désactiver l’habillage de mots pour tous les projets, accédez à Outils>Options>Général>Éditeur de texte>Toutes les langues>général, puis, dans la section Paramètres , désélectionnez l’option Word wrap.
Désactiver le concepteur XAML
Le concepteur XAML est activé par défaut, mais consomme uniquement des ressources si vous ouvrez un fichier .xaml. Si vous utilisez des fichiers XAML, mais que vous ne souhaitez pas utiliser la fonctionnalité du concepteur, désactivez cette fonctionnalité pour libérer de la mémoire.
Pour désactiver le concepteur XAML, accédez à Outils>Options>Concepteur XAML>Activer le concepteur XAML, puis désélectionnez l’option.
Supprimer les charges de travail
Vous pouvez utiliser Visual Studio Installer pour supprimer les charges de travail qui ne sont plus utilisées. Cette action peut simplifier le coût de démarrage et d’exécution en ignorant les packages et les assemblys qui ne sont plus nécessaires.
Ajouter des fichiers non suivis au fichier .gitignore local
Visual Studio exécute la commande Git
git status
avec des fichiers non suivis pour offrir une expérience transparente lorsque vous ajoutez de nouveaux fichiers à un référentiel. Lorsqu’il existe un grand nombre de fichiers non suivis,git status
peuvent consommer de la mémoire supplémentaire. Pour ignorer ces fichiers et améliorer les performances degit status
, vous pouvez ajouter ces fichiers ou dossiers à votre fichier .gitignore local. Pour accéder au fichier, accédez à Paramètres>Git>Paramètres du référentiel Git. Ensuite, dans la section fichiers Git, sélectionnez Ajouter pour créer un fichier .gitignore, ou sélectionnez Modifier si vous en avez déjà un.Activer le graphe de commit dans les outils Git
Nouveautés de Visual Studio 2022 version 17.2: si vous rencontrez des retards lorsque vous affichez votre référentiel Git ou l’historique des branches dans Visual Studio, nous avons intégré une fonctionnalité de « graphe de validation » qui peut vous aider. Pour utiliser le graphe de commit, veillez à télécharger et installer Visual Studio 2022. Pour en savoir plus sur le graphe de validation, consultez le billet de blog Boostez votre expérience Git dans Visual Studio.
Forcer une opération de garbage collection
Le CLR utilise un système de gestion de mémoire garbage collection. Dans ce système, la mémoire est parfois utilisée par les objets qui ne sont plus nécessaires. Cet état est temporaire ; le garbage collector libère cette mémoire en fonction de ses performances et de ses heuristiques d’utilisation des ressources. Vous pouvez forcer le CLR à collecter toute mémoire inutilisée à l’aide d’une touche d’accès rapide dans Visual Studio. Si une quantité importante de mémoire est en attente de nettoyage et que vous forcez une garbage collection, vous devez voir chuter l’utilisation de la mémoire par le processus devenv.exe dans le Gestionnaire des tâches. Il est rarement nécessaire d’utiliser cette méthode. Toutefois, une fois une opération coûteuse terminée (par exemple, une génération complète, une session de débogage ou un événement ouvert de solution), elle peut vous aider à déterminer la quantité de mémoire réellement utilisée par le processus. Parce que Visual Studio est mixte (à la fois managé et natif), il est parfois possible que l’allocateur natif et le récupérateur de mémoire entrent en concurrence pour utiliser des ressources mémoire limitées. Dans les situations d’utilisation importante de la mémoire, il peut être utile de forcer l’exécution du récupérateur de mémoire.
Pour forcer une collecte de déchets, utilisez ce raccourci clavier : Ctrl+Alt+Maj+F12, Ctrl+Alt+Maj+F12 (appuyez deux fois).
Si le fait de forcer le ramassage des ordures fait fonctionner votre scénario de manière fiable, faites un rapport via l'outil de commentaires Visual Studio, car ce comportement est probablement un bogue.
Pour obtenir une description détaillée du collecteur de déchets CLR, consultez Notions de base de la collecte des déchets.