Herunterladen, Installieren und Einrichten der Linux-WorkloadDownload, install, and set up the Linux workload

Linux-Projekte werden von Visual Studio 2017 und höher unterstützt.Linux projects are supported in Visual Studio 2017 and later. Wenn die Dokumentation für diese Versionen angezeigt werden soll, legen Sie das Steuerelement für die Auswahl der Version von Visual Studio für diesen Artikel auf Visual Studio 2017 oder Visual Studio 2019 fest.To see the documentation for these versions, set the Visual Studio Version selector control for this article to Visual Studio 2017 or Visual Studio 2019. Es befindet sich am Anfang des Inhaltsverzeichnisses auf dieser Seite.It's found at the top of the table of contents on this page.

Sie können die IDE von Visual Studio unter Windows verwenden, um C++-Projekte zu erstellen, zu bearbeiten und zu debuggen, die auf einem Linux-Remotesystem, einem virtuellen Computer oder im Windows-Subsystem für Linux ausgeführt werden.You can use the Visual Studio IDE on Windows to create, edit, and debug C++ projects that execute on a remote Linux system, virtual machine, or the Windows Subsystem for Linux.

Sie können an Ihrer bestehenden Codebasis arbeiten, die CMake nutzt, ohne sie in ein Visual Studio-Projekt konvertieren zu müssen.You can work on your existing code base that uses CMake without having to convert it to a Visual Studio project. Wenn Ihre Codebasis plattformübergreifend ist, können Sie sowohl Windows als auch Linux in Visual Studio als Ziel verwenden.If your code base is cross-platform, you can target both Windows and Linux from within Visual Studio. Sie können Ihren Code unter Windows beispielsweise mithilfe von Visual Studio bearbeiten, erstellen und debuggen.For example, you can edit, build, and debug your code on Windows using Visual Studio. Verwenden Sie dann als neues Ziel für das Projekt einfach Linux, um es in einer Linux-Umgebung zu erstellen und zu debuggen.Then, quickly retarget the project for Linux to build and debug in a Linux environment. Headerdateien unter Linux werden automatisch auf Ihren lokalen Computer kopiert.Linux header files are automatically copied to your local machine. Visual Studio verwendet sie, um vollständige IntelliSense-Unterstützung bieten zu können, d. h. z. B. Anweisungsvervollständigung und „Gehe zu Definition“.Visual Studio uses them to provide full IntelliSense support (Statement Completion, Go to Definition, and so on).

Für jedes dieser Szenarios ist die Workload Linux-Entwicklung mit C++ erforderlich.For any of these scenarios, the Linux development with C++ workload is required.

Setup von Visual StudioVisual Studio setup

  1. Geben Sie „Visual Studio Installer“ in das Windows-Suchfeld ein:Type "Visual Studio Installer" in the Windows search box:

    Windows-Suchfeld

  2. Suchen Sie in den Ergebnissen unter Apps nach dem Installer, und doppelklicken Sie auf ihn.Look for the installer under the Apps results and double-click it. Wenn der Installer geöffnet wird, wählen Sie Ändernaus, und klicken Sie dann auf die Registerkarte Workloads. Scrollen Sie nach unten zu Andere Toolsets, und wählen Sie die Workload Linux Entwicklung mit C++ aus.When the installer opens, choose Modify, and then click on the Workloads tab. Scroll down to Other toolsets and select the Linux development with C++ workload.

    Workload „Visual C++ für Linux-Entwicklung“

  3. Wenn Sie für IoT- oder eingebettete Plattformen entwickeln, wechseln Sie im rechten Bereich zu Installationsdetails.If you're targeting IoT or embedded platforms, go to the Installation details pane on the right. Erweitern Sie unter Linux-Entwicklung mit C++ den Eintrag Optionale Komponenten, und wählen Sie die benötigten Komponenten.Under Linux development with C++, expand Optional Components, and choose the components you need. CMake-Unterstützung für Linux ist standardmäßig ausgewählt.CMake support for Linux is selected by default.

  4. Klicken Sie auf Ändern, um mit der Installation fortzufahren.Click Modify to continue with the installation.

Optionen zum Erstellen einer Linux-UmgebungOptions for creating a Linux environment

Wenn Sie noch keinen Linux-Computer besitzen, können Sie einen virtuellen Linux-Computer in Azure erstellen.If you don't already have a Linux machine, you can create a Linux Virtual Machine on Azure. Weitere Informationen finden Sie unter Schnellstart: Erstellen eines virtuellen Linux-Computers im Azure-Portal.For more information, see Quickstart: Create a Linux virtual machine in the Azure portal.

Unter Windows 10 können Sie Ihre bevorzugte Linux-Distribution im WSL (Windows-Subsystem für Linux) installieren und als Ziel verwenden.On Windows 10, you can install and target your favorite Linux distro on the Windows Subsystem for Linux (WSL). Weitere Informationen finden Sie unter Windows-Subsystem für Linux – Installationsleitfaden für Windows 10.For more information, see Windows Subsystem for Linux Installation Guide for Windows 10. Wenn Sie nicht auf den Microsoft Store zugreifen können, können Sie das WSL-Distributionspaket manuell herunterladen.If you're unable to access the Windows Store, you can manually download the WSL distro packages. WSL ist eine praktische Konsolenumgebung, die jedoch nicht für grafische Anwendungen empfohlen wird.WSL is a convenient console environment, but it's not recommended for graphical applications.

Linux-Projekte in Visual Studio erfordern die Installation der folgenden Abhängigkeiten in Ihrem Linux-Remotesystem oder WSL:Linux projects in Visual Studio require the following dependencies to be installed on your remote Linux system or WSL:

  • Compiler: Visual Studio 2019 bietet vollständige Unterstützung für GCC und Clang.A compiler - Visual Studio 2019 has full support for GCC and Clang.
  • gdb: Visual Studio startet gdb automatisch auf dem Linux-System und nutzt das Front-End des Visual Studio-Debuggers, um unter Linux Funktionen für zuverlässiges Debuggen zu bieten.gdb - Visual Studio automatically launches gdb on the Linux system, and uses the front end of the Visual Studio debugger to provide a full-fidelity debugging experience on Linux.
  • rsync und zip: Die Einbindung von rsync und zip ermöglicht Visual Studio das Extrahieren von Headerdateien aus Ihrem Linux-System in das Windows-Dateisystem zur Verwendung durch IntelliSense.rsync and zip - the inclusion of rsync and zip allows Visual Studio to extract header files from your Linux system to the Windows filesystem for use by IntelliSense.
  • makemake
  • openssh-server (nur Linux-Remotesysteme): Visual Studio und Linux-Remotesysteme werden über eine sichere SSH-Verbindung miteinander verbunden.openssh-server (remote Linux systems only) - Visual Studio connects to remote Linux systems over a secure SSH connection.
  • CMake (nur CMake-Projekte): Sie können statisch verknüpfte CMake-Binärdateien für Linux von Microsoft installieren.CMake (CMake projects only) - You can install Microsoft's statically linked CMake binaries for Linux.
  • ninja-build (nur CMake-Projekte): Ninja ist der Standardgenerator für Linux- und WSL-Konfigurationen in Visual Studio 2019, Version 16.6 oder höher.ninja-build (CMake projects only) - Ninja is the default generator for Linux and WSL configurations in Visual Studio 2019 version 16.6 or later.

Die folgenden Befehle gehen davon aus, dass Sie g++ anstelle von Clang verwenden.The following commands assume you're using g++ instead of clang.

Linux-Projekte in Visual Studio erfordern die Installation der folgenden Abhängigkeiten in Ihrem Linux-Remotesystem oder WSL:Linux projects in Visual Studio require the following dependencies to be installed on your remote Linux system or WSL:

  • gcc: Visual Studio 2017 bietet vollständige Unterstützung für GCC.gcc - Visual Studio 2017 has full support for GCC.
  • gdb: Visual Studio startet gdb automatisch auf dem Linux-System und nutzt das Front-End des Visual Studio-Debuggers, um unter Linux Funktionen für zuverlässiges Debuggen zu bieten.gdb - Visual Studio automatically launches gdb on the Linux system and uses the front end of the Visual Studio debugger to provide a full-fidelity debugging experience on Linux.
  • rsync und zip: Die Einbindung von rsync und zip ermöglicht Visual Studio das Extrahieren von Headerdateien aus Ihrem Linux-System in das Windows-Dateisystem zur Verwendung durch IntelliSense.rsync and zip - the inclusion of rsync and zip allows Visual Studio to extract header files from your Linux system to the Windows filesystem to use for IntelliSense.
  • makemake
  • openssh-server: Visual Studio und Linux-Remotesysteme werden über eine sichere SSH-Verbindung miteinander verbunden.openssh-server - Visual Studio connects to remote Linux systems over a secure SSH connection.
  • CMake (nur CMake-Projekte): Sie können statisch verknüpfte CMake-Binärdateien für Linux von Microsoft installieren.CMake (CMake projects only) - You can install Microsoft's statically linked CMake binaries for Linux.

Linux-Setup: Ubuntu im WSLLinux setup: Ubuntu on WSL

Wenn Sie für WSL entwickeln, ist es nicht erforderlich, eine Remoteverbindung hinzuzufügen oder SSH zu konfigurieren, um einen Build zu erstellen und zu debuggen.When you're targeting WSL, there's no need to add a remote connection or configure SSH to build and debug. zip und rsync sind zur automatischen Synchronisierung von Linux-Headern mit Visual Studio für die IntelliSense-Unterstützung erforderlich.zip and rsync are required for automatic syncing of Linux headers with Visual Studio for Intellisense support. ninja-build ist nur für CMake-Projekte erforderlich.ninja-build is only required for CMake projects. Wenn die erforderlichen Anwendungen noch nicht vorhanden sind, können Sie sie mithilfe dieses Befehls installieren:If the required applications aren't already present, you can install them using this command:

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

Ubuntu auf Linux-RemotesystemenUbuntu on remote Linux systems

Auf dem Linux-Zielsystem muss openssh-server, g++ , gdb und make installiert sein.The target Linux system must have openssh-server, g++, gdb, and make installed. ninja-build ist nur für CMake-Projekte erforderlich.ninja-build is required for CMake projects only. Der ssh-Daemon muss ausgeführt werden.The ssh daemon must be running. zip und rsync sind zur Unterstützung von IntelliSense für die automatische Synchronisierung von Remoteheadern mit Ihrem lokalen Computer erforderlich.zip and rsync are required for automatic syncing of remote headers with your local machine for Intellisense support. Wenn diese Anwendungen noch nicht vorhanden sind, können Sie sie wie folgt installieren:If these applications aren't already present, you can install them as follows:

  1. Führen Sie bei einer Shelleingabeaufforderung auf dem Linux-Computer Folgendes aus:At a shell prompt on your Linux computer, run:

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

    Möglicherweise werden Sie dazu aufgefordert, Ihr Stammkennwort einzugeben, um den sudo-Befehl auszuführen.You may be prompted for your root password to run the sudo command. Ist dies der Fall, geben Sie es ein und setzen den Vorgang fort.If so, enter it and continue. Nach Abschluss dieses Vorgangs sind die erforderlichen Dienste und Tools installiert.Once complete, the required services and tools are installed.

  2. Stellen Sie sicher, dass der SSH-Dienst auf dem Linux-Computer ausgeführt wird, indem Sie Folgendes ausführen:Ensure the ssh service is running on your Linux computer by running:

    sudo service ssh start
    

    Mit diesem Befehl wird der Dienst im Hintergrund gestartet und ausgeführt, sodass Verbindungen akzeptiert werden können.This command starts the service and runs it in the background, ready to accept connections.

Fedora auf dem WSLFedora on WSL

Fedora verwendet den dnf-Paket-Installer.Fedora uses the dnf package installer. Führen Sie den folgenden Befehl aus, um g++ , gdb, make, rsync, ninja-build und zip herunterzuladen:To download g++, gdb, make, rsync, ninja-build, and zip, run:

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

zip und rsync sind zur automatischen Synchronisierung von Linux-Headern mit Visual Studio für die IntelliSense-Unterstützung erforderlich.zip and rsync are required for automatic syncing of Linux headers with Visual Studio for Intellisense support. ninja-build ist nur für CMake-Projekte erforderlich.ninja-build is only required for CMake projects.

Fedora auf Linux-RemotesystemenFedora on remote Linux systems

Der Zielcomputer, auf dem Fedora ausgeführt wird, verwendet den Dnf-Paket-Installer.The target machine running Fedora uses the dnf package installer. Um openssh-server, g++ , gdb, make, ninja-build, rsync und zip herunterzuladen und den ssh-Daemon neu zu starten, befolgen Sie diese Anweisungen.To download openssh-server, g++, gdb, make, ninja-build, rsync, and zip, and restart the ssh daemon, follow these instructions. ninja-build ist nur für CMake-Projekte erforderlich.ninja-build is only required for CMake projects.

  1. Führen Sie bei einer Shelleingabeaufforderung auf dem Linux-Computer Folgendes aus:At a shell prompt on your Linux computer, run:

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

    Möglicherweise werden Sie dazu aufgefordert, Ihr Stammkennwort einzugeben, um den sudo-Befehl auszuführen.You may be prompted for your root password to run the sudo command. Ist dies der Fall, geben Sie es ein und setzen den Vorgang fort.If so, enter it and continue. Nach Abschluss dieses Vorgangs sind die erforderlichen Dienste und Tools installiert.Once complete, the required services and tools are installed.

  2. Stellen Sie sicher, dass der SSH-Dienst auf dem Linux-Computer ausgeführt wird, indem Sie Folgendes ausführen:Ensure the ssh service is running on your Linux computer by running:

    sudo systemctl start sshd
    

    Mit diesem Befehl wird der Dienst im Hintergrund gestartet und ausgeführt, sodass Verbindungen akzeptiert werden können.This command starts the service and runs it in the background, ready to accept connections.

Nächste SchritteNext Steps

Jetzt können Sie ein Linux-Projekt erstellen oder öffnen und es so konfigurieren, dass es auf dem Zielsystem ausgeführt wird.You're now ready to create or open a Linux project and configure it to run on the target system. Weitere Informationen finden Sie unter:For more information, see: