Загрузка, установка и настройка рабочей нагрузки Linux

Проекты Linux поддерживаются в Visual Studio версии 2017 и выше. Чтобы увидеть документацию для этих версий, установите в данной статье селектор Версия Visual Studio в Visual Studio 2017 или Visual Studio 2019. Он находится в верхней части оглавления на этой странице.

Вы можете использовать интегрированную среду разработки Visual Studio в Windows для создания, редактирования и отладки проектов C++, которые выполняются в удаленной системе Linux, на виртуальной машине или в подсистеме Windows для Linux.

Вы можете работать с имеющейся базой кода, где CMake не требуется преобразовывать в проект Visual Studio. Если база кода является кроссплатформенной, в Visual Studio можно создавать решения как для Windows, так и для Linux. Например, с помощью Visual Studio можно редактировать, выполнять сборку и отлаживать свой код в Windows. Затем можно быстро перенацелить проект для Linux на сборку и отладку в среде Linux. Файлы заголовков Linux автоматически копируются на ваш локальный компьютер. Visual Studio использует их для обеспечения полной поддержки технологии IntelliSense (завершение операторов, переход к определению и т. д.).

Чтобы использовать любой из этих сценариев, требуется рабочая нагрузка Разработка для Linux на C++.

Установка Visual Studio

  1. В поле поиска Windows введите "Visual Studio Installer":

    Screenshot of the Windows search box which contains the text: visual studio installer.

  2. Найдите установщик в разделе Приложения и дважды щелкните его. Когда откроется установщик, нажмите кнопку "Изменить" и перейдите на вкладку "Рабочие нагрузки". Прокрутите вниз до других наборов инструментов и выберите разработку Linux с помощью рабочей нагрузки C++.

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

    Выбрана рабочая нагрузка разработки Linux. Выделена область сведений об установке, в которой перечислены сведения, включенные в рабочую нагрузку. В состав которых входят основные функции Visual Studio C++, среда выполнения Windows Universal C, разработка Visual C++ для Linux. Также выбран дополнительный компонент: средства Visual C++ для CMake и Linux.

  3. Если вы используете внедренную платформу или платформу Интернета вещей, перейдите в панель Сведения об установке, которая находится справа. В разделе Разработка для Linux на C ++ разверните узел Необязательные компоненты и выберите нужные компоненты. Поддержка CMake для Linux включена по умолчанию.

  4. Для продолжения установки нажмите кнопку Изменить.

Варианты создания среды Linux

Если у вас нет компьютера Linux, можно создать виртуальную машину Linux в Azure. Дополнительные сведения см. в статье Краткое руководство. Создание виртуальной машины под управлением Linux на портале Azure.

В Windows 10 и более поздних версий можно установить и настроить использование определенного дистрибутива Linux в подсистеме Windows для Linux (WSL). См. подробнее руководство по установке подсистемы Windows для Linux в Windows 10. Если не удается получить доступ к Microsoft Store, можете вручную скачать пакеты дистрибутивов WSL. WSL — это удобная консольная среда, но ее не рекомендуется использовать для графических приложений.

Для проектов Linux в Visual Studio необходимо установить следующие зависимости в удаленной системе Linux или WSL:

  • Компилятор — Visual Studio 2019 и более поздних версий полностью поддерживает GCC и Clang.
  • gdb — Visual Studio автоматически запускает gdb в системе Linux и использует интерфейс отладчика Visual Studio для обеспечения всех возможностей отладки в Linux.
  • rsync и zip — благодаря включению rsync и zip Visual Studio может извлекать файлы заголовков из системы Linux в файловую систему Windows для использования технологией IntelliSense.
  • make
  • openssh-server (только удаленные системы Linux) — Visual Studio подключается к удаленным системам Linux через безопасное SSH-соединение.
  • CMake (только для проектов CMake) — вы можете установить статически связанные двоичные файлы CMake для Linux.
  • ninja-build (только для проектов CMake) — Ninja является генератором по умолчанию для конфигураций Linux и WSL в Visual Studio 2019 версии 16.6 или более поздней версии.

В следующих командах предполагается, что вы используете g++ вместо clang.

Для проектов Linux в Visual Studio необходимо установить следующие зависимости в удаленной системе Linux или WSL:

  • gcc — Visual Studio 2017 полностью поддерживает GCC.
  • gdb — Visual Studio автоматически запускает gdb в системе Linux и использует интерфейс отладчика Visual Studio для обеспечения всех возможностей отладки в Linux.
  • rsync и zip — благодаря включению rsync и zip Visual Studio может извлекать файлы заголовков из системы Linux в файловую систему Windows для использования технологией IntelliSense.
  • make
  • openssh-server — Visual Studio подключается к удаленным системам Linux через защищенное SSH-соединение.
  • CMake (только для проектов CMake) — вы можете установить статически связанные двоичные файлы CMake для Linux.

Настройка Linux: Ubuntu в WSL

Если вы используете WSL, для сборки и отладки не требуется добавлять удаленное подключение или настраивать SSH. Использование zip и rsync является обязательным для автоматической синхронизации заголовков Linux в Visual Studio и включения поддержки Intellisense. ninja-build требуется только для проектов CMake. Если необходимые приложения отсутствуют, их можно установить с помощью следующей команды:

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

Использование Ubuntu в удаленных системах Linux

В целевой системе Linux должны быть установлены openssh-server, g++, gdb и make. ninja-build требуется только для проектов CMake. Должна быть запущена управляющая программа ssh. Использование zip и rsync необходимо для автоматической синхронизации удаленных заголовков на локальном компьютере, чтобы обеспечить поддержку Intellisense. Если этих приложений еще нет, их можно установить следующим образом.

  1. В командной строке оболочки на компьютере Linux выполните следующую команду:

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

    Возможно, вам будет предложено ввести корневой пароль, чтобы выполнить sudo команду. Введите его и продолжите. После завершения будут установлены требуемые службы и средства.

  2. Запустите службу ssh на компьютере Linux, выполнив следующую команду:

    sudo service ssh start
    

    Эта команда запускает службу в фоновом режиме и в состоянии готовности к принятию подключений.

Использование Fedora в WSL

В Fedora используются установщик пакетов dnf. Чтобы скачать g++, gdb, make, rsync, ninja-build и zip, выполните следующую команду:

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

Использование zip и rsync является обязательным для автоматической синхронизации заголовков Linux в Visual Studio и включения поддержки Intellisense. ninja-build требуется только для проектов CMake.

Использование Fedora в удаленных системах Linux

На целевой машине под управлением Fedora используются установщик пакетов dnf. Чтобы скачать openssh-server, g++, gdb, make, ninja-build, rsync и zip, а затем перезапустить управляющую программу ssh, сделайте следующее: ninja-build требуется только для проектов CMake.

  1. В командной строке оболочки на компьютере Linux выполните следующую команду:

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

    Возможно, вам будет предложено выполнить команду sudo для корневого пароля. Введите его и продолжите. После завершения будут установлены требуемые службы и средства.

  2. Запустите службу ssh на компьютере Linux, выполнив следующую команду:

    sudo systemctl start sshd
    

    Эта команда запускает службу в фоновом режиме и в состоянии готовности к принятию подключений.

Дальнейшие действия

Теперь вы можете создать или открыть проект Linux, а также настроить его для выполнения в целевой системе. Дополнительные сведения см. в разделе: