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 sur ces versions, définissez le contrôle de sélection de version de Visual Studio pour cet article sur Visual Studio 2017 ou Visual Studio 2019. Il se trouve en haut de la table des matières de cette page.

Vous pouvez utiliser l’IDE Visual Studio dans 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 utiliser votre base de code CMake existante 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 afin de le générer et le déboguer dans un environnement Linux. Les fichiers d’en-tête Linux sont automatiquement copiés sur votre machine locale. Visual Studio les utilise pour fournir une prise en charge complète d’IntelliSense (Saisie semi-automatique des instructions, Atteindre 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 :

    Screenshot of the Windows search box which contains the text: 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’à Autres ensembles d’outils et sélectionnez la charge de travail Développement Linux avec C++.

    Screenshot highlighting the Visual C++ for Linux Development workload item in Visual Studio Installer.

    La charge de travail pour le développement sous Linux est sélectionnée. Le volet Détails de l’installation est mis en surbrillance et répertorie les éléments inclus dans la charge de travail. Cela inclut les fonctionnalités principales de Visual Studio C++, le runtime universel C Windows, Visual C++ pour le développement Linux. Un composant facultatif est également sélectionné : outils Visual C++ pour CMake et Linux.

  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, puis 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 favorite 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 n’est pas recommandé pour les applications graphiques.

Les projets Linux dans Visual Studio requièrent l’installation des dépendances suivantes 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 Clang.
  • gdb : Visual Studio lance automatiquement gdb sur le système Linux et utilise le serveur frontal du débogueur Visual Studio pour offrir une expérience de débogage d’une fidélité optimale 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 pour une utilisation par IntelliSense.
  • make
  • openssh-server (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 de fichiers binaires CMake liés statiquement pour Linux de Microsoft.
  • ninja-build (projets CMake uniquement) : Ninja est le générateur par défaut pour les configurations Linux et WSL dans Visual Studio 2019 versions 16.6 ou ultérieures.

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

Les projets Linux dans Visual Studio requièrent l’installation des dépendances suivantes 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 offrir une expérience de débogage d’une fidélité optimale 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 pour une utilisation par IntelliSense.
  • make
  • openssh-server : Visual Studio se connecte aux systèmes Linux distants via une connexion SSH sécurisée.
  • CMake (projets CMake uniquement) : vous pouvez installer de fichiers binaires CMake liés statiquement pour Linux de Microsoft.

Installation Linux : Ubuntu sur WSL

Lorsque vous ciblez WSL, il n’est pas nécessaire d’ajouter une connexion à distance ou de configurer SSH pour compiler 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 n’est requis que pour des projets CMake. Si les applications requises sont absentes, vous pouvez les installer à l’aide de la commande suivante :

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

Ubuntu sur les systèmes Linux distants

Opensh-server, g++, gdb et make doivent être installés sur le système Linux cible. ninja-build n’est requis que pour des projets CMake. 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 machine locale pour la prise en charge d’Intellisense. Si ces applications sont absentes, 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é à indiquer votre mot de passe racine pour 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 qui s’exécute en arrière-plan, prêt à accepter des 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 n’est requis que pour des 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 openssh-server, g++, gdb, make, ninja-build, rsync et zip, puis redémarrer le démon ssh, suivez ces instructions. ninja-build n’est requis que pour des 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é à indiquer votre mot de passe racine pour 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 qui s’exécute en arrière-plan, prêt à accepter des connexions.

Étapes suivantes

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