Télécharger, installer et configurer la charge de travail Linux

Les projets Linux sont pris en charge dans Visual Studio 2017 et ultérieur. Pour afficher la documentation de ces versions, définissez le contrôle sélecteur de version Visual Studio pour cet article sur Visual Studio 2017 ou Visual Studio 2019. Elle se trouve en haut de la table des matières de cette page.

Vous pouvez utiliser l’IDE Visual Studio sur Windows pour créer, modifier et déboguer des projets C++ qui s’exécutent sur un système Linux distant, une machine virtuelle ou le Sous-système Windows pour Linux.

Vous pouvez travailler sur votre base de code existante qui utilise CMake sans avoir à la convertir en projet Visual Studio. Si votre base de code est multiplateforme, vous pouvez cibler Windows et Linux à partir de Visual Studio. Par exemple, vous pouvez modifier, générer et déboguer votre code sur Windows à l’aide de Visual Studio. Ensuite, reciblez rapidement le projet pour Linux pour générer et déboguer dans un environnement Linux. Les fichiers d’en-tête Linux sont automatiquement copiés sur votre ordinateur local. Visual Studio les utilise pour fournir une prise en charge complète d’IntelliSense (Achèvement de l’instruction, Accéder à la définition, etc.).

Tous ces scénarios nécessitent la charge de travail de développement Linux en C++.

Installation Visual Studio

  1. Tapez « Visual Studio Installer » dans la zone de recherche Windows :

    Capture d’écran de la zone de recherche Windows qui contient le texte : visual studio installer.

  2. Recherchez le programme d’installation dans les résultats situés sous Applications, puis double-cliquez dessus. Lorsque le programme d’installation s’ouvre, choisissez Modifier, puis cliquez sur l’onglet Charges de travail . Faites défiler jusqu’à d’autres ensembles d’outils et sélectionnez le développement Linux avec la charge de travail C++ .

    Capture d’écran mettant en évidence l’élément de charge de travail De développement Visual C++ pour Linux dans Visual Studio Installer.

  3. Si vous ciblez des plateformes IoT ou incorporées, accédez au volet Détails de l’installation à droite. Sous Développement Linux avec C++, développez composants facultatifs et choisissez les composants dont vous avez besoin. La prise en charge de CMake pour Linux est sélectionnée par défaut.

  4. Cliquez sur Modifier pour continuer l’installation.

Options pour la création d’un environnement Linux

Si vous n’avez pas encore de machine Linux, vous pouvez créer une Machine virtuelle Linux sur Azure. Pour plus d’informations, consultez Guide de démarrage rapide : Créer une machine virtuelle Linux sur le Portail Azure.

Sur Windows 10 et versions ultérieures, vous pouvez installer et cibler votre distribution Linux préférée sur le Sous-système Windows pour Linux (WSL). Pour plus d’informations, consultez Guide d’installation du sous-système Windows pour Linux pour Windows 10. Si vous ne parvenez pas à accéder au Windows Store, vous pouvez télécharger manuellement les packages de distribution WSL. WSL est un environnement de console pratique, mais il n’est pas recommandé pour les applications graphiques.

Les projets Linux dans Visual Studio nécessitent que les dépendances suivantes soient installées sur votre système Linux distant ou WSL :

  • Un compilateur - Visual Studio 2019 et versions ultérieures ont une prise en charge complète de GCC et de Clang.
  • gdb - Visual Studio lance automatiquement gdb sur le système Linux et utilise le serveur frontal du débogueur Visual Studio pour fournir une expérience de débogage de fidélité complète sur Linux.
  • rsync et zip : l’inclusion de rsync et zip permet à Visual Studio d’extraire des fichiers d’en-tête de votre système Linux vers le système de fichiers Windows à utiliser par IntelliSense.
  • Faire
  • ouvre le serveur (systèmes Linux distants uniquement) : Visual Studio se connecte aux systèmes Linux distants via une connexion SSH sécurisée.
  • CMake (projets CMake uniquement) : vous pouvez installer les fichiers binaires CMake liés statiquement à Microsoft pour Linux.
  • ninja-build (projets CMake uniquement) - Ninja est le générateur par défaut pour les configurations Linux et WSL dans Visual Studio 2019 version 16.6 ou ultérieure.

Les commandes suivantes supposent que vous utilisez g++ au lieu de clang.

Les projets Linux dans Visual Studio nécessitent que les dépendances suivantes soient installées sur votre système Linux distant ou WSL :

  • gcc - Visual Studio 2017 offre une prise en charge complète de GCC.
  • gdb - Visual Studio lance automatiquement gdb sur le système Linux et utilise le serveur frontal du débogueur Visual Studio pour fournir une expérience de débogage de fidélité complète sur Linux.
  • rsync et zip : l’inclusion de rsync et zip permet à Visual Studio d’extraire des fichiers d’en-tête de votre système Linux vers le système de fichiers Windows à utiliser pour IntelliSense.
  • Faire
  • ouvreh-server - Visual Studio se connecte aux systèmes Linux distants via une connexion SSH sécurisée.
  • CMake (projets CMake uniquement) : vous pouvez installer les fichiers binaires CMake liés statiquement à Microsoft pour Linux.

Configuration linux : Ubuntu sur WSL

Lorsque vous ciblez WSL, il n’est pas nécessaire d’ajouter une connexion distante ou de configurer SSH pour générer et déboguer. zip et rsync sont nécessaires pour la synchronisation automatique des en-têtes Linux avec Visual Studio en vue de la prise en charge d’Intellisense. ninja-build est uniquement nécessaire pour les projets CMake. Si les applications requises ne sont pas déjà présentes, vous pouvez les installer à l’aide de cette commande :

sudo apt-get install g++ gdb make ninja-build rsync zip

Ubuntu sur les systèmes Linux distants

Le système Linux cible doit avoir ouvert le serveur, g++, gdb et installer . ninja-build est requis pour les projets CMake uniquement. Le démon ssh doit être en cours d’exécution. zip et rsync sont requis pour la synchronisation automatique des en-têtes distants avec votre ordinateur local pour la prise en charge d’IntelliSense. Si ces applications ne sont pas déjà présentes, vous pouvez les installer comme suit :

  1. À l’invite de commandes du shell sur votre ordinateur Linux, exécutez :

    sudo apt-get install openssh-server g++ gdb make ninja-build rsync zip
    

    Vous pouvez être invité à demander à votre mot de passe racine d’exécuter la commande sudo. Dans ce cas, entrez-la et continuez. Quand vous avez terminé, les outils et services obligatoires sont installés.

  2. Vérifiez que le service ssh est en cours d’exécution sur votre ordinateur Linux en exécutant :

    sudo service ssh start
    

    Cette commande démarre le service et l’exécute en arrière-plan, prête à accepter les connexions.

Fedora sur WSL

Fedora utilise le programme d’installation du package dnf. Pour télécharger g++, gdb, make, rsync, ninja-build et zip, exécutez :

sudo dnf install gcc-g++ gdb rsync ninja-build make zip

zip et rsync sont nécessaires pour la synchronisation automatique des en-têtes Linux avec Visual Studio en vue de la prise en charge d’Intellisense. ninja-build est uniquement nécessaire pour les projets CMake.

Fedora sur les systèmes Linux distants

L’ordinateur cible exécutant Fedora utilise le programme d’installation de package fnd. Pour télécharger opensh-server, g++, gdb, make, ninja-build, rsync et zip, puis redémarrez le démon ssh, suivez ces instructions. ninja-build est uniquement nécessaire pour les projets CMake.

  1. À l’invite de commandes du shell sur votre ordinateur Linux, exécutez :

    sudo dnf install openssh-server gcc-g++ gdb ninja-build make rsync zip
    

    Vous pouvez être invité à demander à votre mot de passe racine d’exécuter la commande sudo. Dans ce cas, entrez-la et continuez. Quand vous avez terminé, les outils et services obligatoires sont installés.

  2. Vérifiez que le service ssh est en cours d’exécution sur votre ordinateur Linux en exécutant :

    sudo systemctl start sshd
    

    Cette commande démarre le service et l’exécute en arrière-plan, prête à accepter les connexions.

Étapes suivantes

Vous êtes maintenant prêt à créer ou à ouvrir un projet Linux et à le configurer pour s’exécuter sur le système cible. Pour plus d'informations, consultez les pages suivantes :