- Настройка проекта Linux на основе MSBuild C++ в Visual Studio
- Общие параметры
- Настройки удаленной системы
- Копирование источников (только для удаленных систем)
- События сборки
- IntelliSense для заголовков в удаленных системах
- Языковой стандарт целевого объекта Linux
- приступая к работе с Visual Studio Code с подсистема Windows для Linux
- установка VS Code и расширения Remote WSL
- Обновление дистрибутива Linux
- Откройте проект WSL в Visual Studio Code
- Из командной строки
- Из VS Code
- расширения в VS Code Remote
- Установка Git (необязательно)
- Установка Терминала Windows (необязательно)
- Дополнительные ресурсы
Настройка проекта Linux на основе MSBuild C++ в Visual Studio
Поддержка Linux реализована в Visual Studio версии 2017 и выше.
В этой статье показано, как настроить проект Linux на основе MSBuild, который описан в статье Создание проекта Linux на основе MSBuild C++ в Visual Studio. Сведения о проектах Linux CMake см. в разделе Создание и настройка проекта Linux CMake.
Вы можете настроить проект Linux для физического компьютера или виртуальной машины Linux, а также для подсистемы Windows для Linux (WSL).
Visual Studio 2019 версии 16.1
Если в качестве целевой платформы используется WSL, можно избежать операций копирования, необходимых для сборки и получения компонентов IntelliSense для целевой удаленной системы Linux.
Можно указать отдельные целевые объекты Linux для сборки и отладки.
Общие параметры
Чтобы просмотреть параметры настройки, выберите Проект > Свойства или щелкните правой кнопкой мыши проект в обозревателе решений и выберите Свойства в контекстном меню. Появятся параметры Общие.
По умолчанию создается исполняемый файл (с расширением .out). Чтобы создать статическую или динамическую библиотеку либо использовать существующий файл Makefile, используйте параметр Тип конфигурации.
Если вы выполняете сборку для подсистемы Windows для Linux (WSL) версии 1, количество параллельных процессов компиляции будет ограничено 64. Это ограничение контролируется параметром Максимальное количество параллельных заданий компиляции в разделе Свойства конфигурации > C/C++ > Общие.
Независимо от версии WSL, если планируется использовать более 64 параллельных процессов компиляции, рекомендуется выполнять сборку с помощью Ninja, что в большинстве случаев будет быстрее и надежнее. Чтобы выполнить сборку с помощью Ninja, используйте параметр Включить инкрементное построение в разделе Свойства конфигурации > Общие.
См. подробнее о параметрах на страницах свойств в справочнике по страницам свойств проекта Linux.
Настройки удаленной системы
Изменить параметры для удаленного компьютера Linux можно в окне Общие.
Чтобы указать целевой удаленный компьютер Linux, используйте запись Компьютер удаленной сборки. Это позволит выбрать одно из подключений, созданных ранее. Чтобы создать новую запись, см. раздел Подключение к удаленному компьютеру Linux.
Visual Studio 2019 версии 16.7. Чтобы выбрать подсистему Windows для Linux (WSL), задайте в раскрывающемся списке Набор инструментов платформы значение GCC для подсистемы Windows для Linux. Другие параметры удаленного взаимодействия исчезнут. Вместо них отобразится путь к оболочке WSL по умолчанию:
Если у вас есть параллельные установки WSL, можно указать другой путь. См. подробнее об управлении и настройке и администрировании подсистемы Windows для разных дистрибутивов Linux.
Вы можете указать другой целевой объект для отладки на странице Свойства конфигурации > Отладка.
Параметр Корневой каталог удаленной сборки определяет корневой каталог, где выполняется сборка проекта на удаленном компьютере Linux. По умолчанию это
/projects, пока не будет изменено.
Каталог проекта удаленной сборки — это место, где будет выполняться сборка этого конкретного проекта на удаленном компьютере Linux. По умолчанию это каталог $(RemoteRootDir)/$(ProjectName) , который будет развернут в каталог с именем текущего проекта в корневом каталоге, заданном выше.
Изменить компиляторы C и C++ или компоновщик и архиватор, которые используются для сборки проекта по умолчанию, можно в соответствующих записях в разделе C/C++ > Общие и разделе Компоновщик > Общие. Например, можно указать определенную версию GCC и Clang. Дополнительные сведения см. в статьях Свойства C/C++ (Linux C++) и Свойства компоновщика (Linux C++).
Копирование источников (только для удаленных систем)
При использовании WSL этот раздел можно пропустить.
Во время сборки в удаленных системах исходные файлы на компьютере разработки копируются на компьютер Linux и компилируются там. По умолчанию все источники в проекте Visual Studio копируются в расположения, заданные в параметрах выше. Однако можно также добавить в список дополнительные источники или полностью отключить копирование источников, что используется по умолчанию для проекта Makefile.
Параметр Источники для копирования определяет, какие источники копируются на удаленный компьютер. По умолчанию @(SourcesToCopyRemotely) применяется ко всем файлам исходного кода в проекте, за исключением файлов ресурсов (например, изображений).
Копирование источников можно включать и отключать, чтобы разрешать или запрещать копирование исходных файлов на удаленный компьютер.
Параметр Дополнительные источники для копирования позволяет добавлять дополнительные исходные файлы, которые будут скопированы в удаленную систему. Вы можете задать список файлов, разделенных точкой с запятой, или использовать синтаксис : = , чтобы указать локальное и удаленное имя:
События сборки
Так как вся компиляция происходит на удаленном компьютере (или в WSL), в раздел «События сборки» свойства проекта добавляются некоторые дополнительные события сборки. Это удаленное событие перед сборкой, удаленное событие перед компоновкой и удаленное событие после сборки, которые будут возникать на удаленном компьютере перед или после отдельных этапов процесса.
IntelliSense для заголовков в удаленных системах
При добавлении нового подключения в диспетчере подключений Visual Studio автоматически обнаруживает каталоги включения (include) для компилятора на удаленной системе. Затем Visual Studio архивирует с помощью zip и копирует эти файлы в каталог на локальном компьютере Windows. После этого при каждом использовании данного соединения в проекте Visual Studio или CMake заголовки в этих каталогах используются для обеспечения поддержки технологии IntelliSense.
В Visual Studio 2019 версии 16.5 и более поздних удаленное копирование заголовков было оптимизировано. Заголовки теперь копируются по запросу при открытии проекта Linux или настройке CMake для целевого объекта Linux. Копирование выполняется в фоновом режиме для каждого проекта на основе указанных в проекте компиляторов. Дополнительные сведения см. в статье Улучшения точности и производительности IntelliSense в Linux.
Для использования этой возможности необходимо, чтобы на компьютере Linux был установлен zip. Для установки zip можно использовать следующую команду пакетного менеджера apt-get:
Для управления кэшем заголовка перейдите в меню Сервис > Параметры, кроссплатформенный > Диспетчер соединений > Диспетчер удаленных заголовков IntelliSense. Для обновления кэша заголовка после внесения изменений на компьютере Linux выберите удаленное подключение и нажмите Обновить. Нажмите Удалить, чтобы удалить заголовки, не удаляя само подключение. Выберите Проводник, чтобы открыть локальный каталог, в проводнике. К этой папке необходимо относиться как к папке только для чтения. Чтобы скачать заголовки для существующего подключения, созданного в Visual Studio 2017 до версии 15.3, выберите подключение и щелкните Скачать.
«Диспетчер подключений» > «Диспетчер удаленных заголовков IntelliSense»» data-linktype=»relative-path»>
«Диспетчер подключений»» data-linktype=»relative-path»>
Вы можете включить ведение журнала для устранения проблем:
Языковой стандарт целевого объекта Linux
Языковые параметры Visual Studio не распространяются на целевые объекты Linux, так как Visual Studio не управляет установленными пакетами и не настраивает их. Сообщения, отображаемые в окне Вывод, например ошибки сборки, отображаются с использованием языка и языкового стандарта целевого объекта Linux. Вам потребуется настроить целевые объекты Linux для требуемого языкового стандарта.
Источник
приступая к работе с Visual Studio Code с подсистема Windows для Linux
Visual Studio Code, вместе с расширением Remote-WSL, позволяет использовать WSL в качестве среды разработки для полной времени непосредственно из VS Code. Вы можете выполнить следующие действия:
- Разработка в среде под управлением Linux
- Использование цепочек инструментов и служебных программ для Linux
- запускайте и отлаживать приложения Linux с помощью Windows и сохраняя доступ к средствам повышения производительности, таким как Outlook и Office
- использование встроенного терминала VS Code для запуска дистрибутива Linux по выбору
- воспользуйтесь преимуществами VS Code функций, таких как завершение кода Intellisense, linting, поддержка отладки, фрагменты кодаи модульное тестирование .
- простота управления версиями с помощью встроенной поддержки Git VS Code
- выполнение команд и VS Code расширений непосредственно в проектах WSL
- изменение файлов в Linux или смонтированной Windows файловой системе (например,/мнт/к) без беспокойства о проблемах с путями, двоичной совместимости или других трудностей между операционными системами
установка VS Code и расширения Remote WSL
перейдите на страницу установки VS Code и выберите двоичный установщик 32 или 64. установите Visual Studio Code на Windows (а не в файловую систему WSL).
При появлении запроса на Выбор дополнительных задач во время установки обязательно установите флажок Добавить в путь , чтобы можно было легко открыть папку в WSL с помощью команды Code.
Установите Пакет расширений для удаленной разработки. Этот пакет расширений включает расширение Remote-WSL в дополнение к расширениям Remote-SSH и Remote-Container, что позволяет открывать любую папку в контейнере, на удаленном компьютере или в WSL.
Чтобы установить расширение Remote-WSL, потребуется версия 1,35 или более поздняя VS Code. не рекомендуется использовать WSL в VS Code без расширения Remote-WSL, так как будет потеряна поддержка автоматического завершения, отладки, linting и т. д. Забавный факт. это расширение WSL устанавливается в $HOME/.вскоде/екстенсионс (введите команду ls $HOME\.vscode\extensions\ в PowerShell).
Обновление дистрибутива Linux
в некоторых дистрибутивах WSL Linux отсутствуют библиотеки, необходимые для запуска сервера VS Code. Вы можете добавить дополнительные библиотеки в дистрибутив Linux с помощью диспетчера пакетов.
Например, чтобы обновить Debian или Ubuntu, используйте:
Чтобы добавить wget (для получения содержимого с веб-серверов) и CA-Certificates (чтобы разрешить приложениям на основе SSL проверять подлинность SSL-соединений), введите:
Откройте проект WSL в Visual Studio Code
Из командной строки
Чтобы открыть проект из дистрибутива WSL, откройте командную строку распространения и введите: code .
Из VS Code
кроме того, можно получить доступ к дополнительным VS Code удаленным параметрам с помощью ярлыка: CTRL+SHIFT+P в VS Code, чтобы открыть палитру команд. если затем ввести, Remote-WSL вы увидите список доступных VS Code удаленных параметров, что позволит повторно открыть папку в удаленном сеансе, указать, какое распространение следует открыть в, и многое другое.
расширения в VS Code Remote
расширение Remote-WSL разделяет VS Code в архитектуру «клиент-сервер» с помощью клиента (пользовательского интерфейса), работающего на компьютере Windows, и сервера (код, Git, подключаемые модули и т. д.), запускаемые удаленно.
при запуске VS Code удаленно на вкладке «расширения» отобразится список расширений, разделенных между локальным компьютером и дистрибутивом WSL.
Установка локального расширения, например темы, должна быть установлена только один раз.
Некоторые расширения, такие как расширение Python или все, что обрабатывает такие действия, как linting или Отладка, должны устанавливаться отдельно на каждом удаленном распределении WSL. VS Code отобразит значок предупреждения ⚠ , а также зеленую кнопку «установить в WSL», если установлено локальное расширение, которое не установлено на удаленном компьютере WSL.
дополнительные сведения см. в VS Code документах:
при запуске VS Code Remote в WSL сценарии запуска оболочки запускаться не будут. Дополнительные сведения о выполнении дополнительных команд или изменении среды см. в этой статье о сценариях расширенной настройки среды .
возникли проблемы при запуске VS Code из командной строки WSL? В этом руководство по устранению неполадок содержатся советы по изменению переменных пути, устранению ошибок расширения, связанных с отсутствием зависимостей, устранению проблем с завершением строк Git, установке локального VSIX на удаленном компьютере, запуску окна браузера, порту localhost для блокировки, веб-сокеты не работают, ошибки при хранении данных расширения и многое другое.
Установка Git (необязательно)
Если вы планируете работать совместно с другими пользователями или размещать проект на сайте с открытым исходным кодом (например, GitHub), примите во внимание, что VS Code поддерживает управление версиями с помощью Git. Вкладка системы управления версиями в VS Code отслеживает все изменения и содержит общие команды Git (добавление, фиксация, принудительная отправка, извлечение) прямо в пользовательском интерфейсе.
Установка Терминала Windows (необязательно)
новая Терминал Windows включает несколько вкладок (быстро переключаться между дистрибутивами командной строки, PowerShell или несколькими установочными областями Linux), пользовательскими привязками клавиш (создайте собственные сочетания клавиш для открытия и закрытия вкладок, копирования и вставки и т. д.), эмодзи ☺ и пользовательских тем (цветовые схемы, стили и размеры шрифтов, фоновое изображение, размытие и прозрачность). дополнительные сведения см. в Терминал Windows документах.
Скачайте Терминал Windows из Microsoft Store: При установке через магазин обновления выполняются автоматически.
После установки откройте Терминал Windows и щелкните Параметры, чтобы настроить Терминал использовать файл profile.json .
Дополнительные ресурсы
К дополнительным рекомендуемым расширениям относятся следующие:
- Раскладки клавиатуры других редакторов — эти расширения позволят использовать необходимую раскладку при переходе в другой текстовый редактор (например, Atom, Sublime, Vim, eMacs, Notepad++ и т. п.).
- Расширение синхронизации параметров — позволяет синхронизировать параметры VS Code в разных установках, используя GitHub. Если вы работаете на разных компьютерах, это обеспечит согласованность среды между ними.
- Отладчик для Chrome: после завершения разработки на стороне сервера с Linux необходимо разработать и протестировать клиентскую часть. Это расширение интегрирует редактор VS Code со службой отладки браузера Chrome, что увеличивает эффективность выполнения операций.
—>
Источник