Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Visual Studio vous aide à mettre à niveau le code C++ hérité avec les options du compilateur, les avertissements d’analyse du code et les fonctionnalités de l’éditeur, telles que les correctifs rapides, les informations rapides et la barre de défilement améliorée. Le terme « code hérité » fait référence à l’une de ces catégories :
Code précédemment autorisé par le compilateur Microsoft C++ (MSVC), mais jamais conforme à la norme C++.
Pour mettre à niveau un ancien code MSVC non conforme, activez l’option du
/permissive-compilateur. Toutes les instances d’utilisations non conformes sont soulignées avec desquiggles rouges dans l’éditeur de code. Les messages d’erreur dans la fenêtre Liste d’erreurs incluent une recommandation pour résoudre l’erreur. Cliquez sur le code d’erreur pour accéder à sa page d’aide dans la documentation. Si la correction de toutes les erreurs à la fois est irrécupérable, vous pouvez mettre à niveau le code non conforme en phases en activant l’option/permissive-, en corrigeant certaines erreurs, puis en désactivant l’option à nouveau. Le code est compilé avec les nouvelles améliorations, et vous pouvez revenir en arrière et résoudre les problèmes restants ultérieurement. Consultez la/permissive-page pour obtenir des exemples de code MSVC non conforme.Code autorisé dans une version antérieure de la norme C++, mais qui a été déconseillé ou supprimé dans une version ultérieure.
Pour effectuer une mise à niveau vers une norme de langage plus récente, définissez l’option C++ Language Standard sur la norme souhaitée et corrigez les erreurs de compilation générées. En général, nous vous recommandons de définir la norme de langue sur
/std:c++17ou/std:c++20. Les erreurs générées lors de la mise à niveau vers une norme plus récente ne sont pas liées aux erreurs générées lors de l’utilisation de l’option/permissive-.Code conforme à toutes les versions de la norme, mais qui n’est plus considéré comme une meilleure pratique en C++moderne.
Pour identifier le code dans lequel les modifications sont recommandées, exécutez l’analyse du code.
Ouvrir et convertir un projet hérité
Si vos projets hérités sont basés sur une version antérieure de Visual Studio, vous pouvez toujours les charger dans une version plus récente et y travailler tout en conservant la compatibilité descendante avec l’ancienne version. Lorsque vous êtes prêt à passer définitivement à la nouvelle version de Visual Studio, vous pouvez recibler vos projets. Cela vous permet d’utiliser les derniers outils de génération et fonctionnalités de projet dans l’IDE, mais vous ne pourrez plus charger les projets reciblés dans l'ancienne version de Visual Studio.
Pour recibler des projets au format Visual Studio 2026, vous pouvez utiliser l’Assistant Configuration qui apparaît la première fois que vous ouvrez une solution contenant des projets plus anciens. Vous pouvez également y accéder en cliquant avec le bouton droit sur la solution dans l’Explorateur de solutions et en sélectionnant Retarget solution.
L’Assistant Configuration vous donne ensuite la possibilité de rester sur l’ancienne version et d’installer les outils de compilation manquants ou les kits Windows SDK nécessaires pour compiler, ou bien de recibler les projets afin de les mettre à niveau. Vous pouvez choisir le reciblage pour chaque projet de la solution ou sélectionner Recibler tout>Appliquer pour mettre à jour.
Pour plus d’informations, consultez Mettre à niveau des projets C++ à partir de versions antérieures de Visual Studio.
Liste d’erreurs
Après avoir défini la norme de langage C++ souhaitée et toutes les autres options du compilateur (>Propriétés>du projet Général), appuyez sur Ctrl+Maj+B pour compiler votre projet. Vous pouvez vous attendre à voir certaines erreurs et avertissements sous la forme d’équiggles rouges à différents endroits dans le code. Les erreurs apparaissent également dans la liste des erreurs. Pour plus d’informations sur une erreur spécifique, cliquez sur le code d’erreur pour accéder à la page d’aide de la documentation. Les codes d’erreur commençant par un « C » sont des erreurs de compilateur. Les codes commençant par « MSB » sont des erreurs MSBuild qui indiquent un problème avec la configuration du projet.
Indicateur d’intégrité du document
L’indicateur d’intégrité du document en bas de l’éditeur affiche le nombre d’erreurs et d’avertissements dans le document actif et vous permet de naviguer directement d’un avertissement/d’une erreur à l’autre.
Dans de nombreux cas, vous trouverez plus d’informations sur une erreur spécifique dans la documentation sur l’historique des modifications de Visual Studio et les améliorations de conformité.
- Améliorations de la conformité C++
- Historique des modifications Visual C++ 2003 - 2015
- Vue d’ensemble des problèmes de mise à niveau potentiels
Utiliser l’analyse du code pour moderniser votre code
Lors de la mise à niveau, nous vous recommandons d’exécuter l’analyse du code sur votre projet afin que le code soit conforme au minimum aux règles recommandées par Microsoft Native. Ces règles sont une combinaison de règles définies par Microsoft et d’un sous-ensemble des instructions de base C++. En vous conformant à ceux-ci, vous réduisez ou éliminerez considérablement les sources courantes de bogues, et en même temps, rendre votre code plus lisible et donc plus facile à gérer. L’analyse du code à l’aide des règles recommandées Microsoft Native est activée par défaut. Vous pouvez activer des règles supplémentaires sous Analyse du code des propriétés>>. Le code qui enfreint l’une des règles est marqué comme un avertissement et est souligné avec une bascule verte dans l’éditeur de code. Pointez sur le bouton bascule pour afficher une info-bulle QuickInfo qui décrit le problème.
Cliquez sur l’icône de filtre dans la colonne Code pour choisir les avertissements affichés.
Les erreurs et avertissements d’analyse du code apparaissent également dans la liste d’erreurs , tout comme les erreurs du compilateur.
Vous pouvez modifier les règles actives et créer des ensembles de règles personnalisés. Pour plus d’informations sur l’utilisation de l’analyse du code, consultez la vue d’ensemble de l’analyse du code pour C/C++.
Utiliser des actions rapides pour moderniser le code
L’éditeur de code fournit des actions rapides pour certaines recommandations courantes. Lorsque l’icône d’ampoule s’affiche, vous pouvez cliquer dessus pour afficher les actions rapides disponibles.
Convertir des macros en fonctions constexpr
L’image suivante montre l’utilisation de macro appelée AVERAGE, qui a la colorisation sémantique par défaut. L’image montre également l’info-bulle QuickInfo qui s’affiche lorsque le curseur de la souris pointe sur celui-ci :
Étant donné que l’utilisation de macros est déconseillée en C++moderne, Visual Studio facilite la conversion de macros constexpr en fonctions :
Cliquez avec le bouton droit sur
AVERAGEet choisissez Atteindre la définition.Cliquez sur l’icône de tournevis et choisissez Convertir une macro en constexpr
La macro est convertie comme indiqué ci-dessous :
Et l’appel à est AVERAGE désormais colorisé en tant qu’appel de fonction, et l’info-bulle Info rapide affiche le type déduit de la fonction :
Initialiser les variables
Les variables non initialisées peuvent contenir des valeurs aléatoires qui entraînent des bogues graves. L’analyse du code signale ces instances et l’éditeur fournit une action rapide :
Convertir en littéral de chaîne brut
Les littéraux de chaîne brutes sont moins sujets aux erreurs et plus pratiques à taper que les chaînes avec des caractères d’échappement incorporés. Cliquez avec le bouton droit sur une chaîne et choisissez Actions rapides pour la convertir en littéral de chaîne brute.
La chaîne est convertie en : R"(C:\Users\bjarnes\demo\output.txt)".