Настройка vs code для c linux

Обновлено: 03.07.2024

Рекомендуемой средой разработки для программирования на C++ в CPTR 124 и CPTR 318 в этом семестре является Visual Studio Code (VSCode) от Microsoft. VSCode доступен бесплатно для Microsoft Windows, Apple macOS и Linux. Для этих платформ существует множество других прекрасных интегрированных сред разработки C++, но каждая из них имеет свой особый способ настройки проектов для редактирования, сборки, отладки и выполнения программ C++. Процесс настройки проекта C++ с использованием внешних библиотек и других зависимостей иногда может усложниться, а диагностика и исправление ошибок конфигурации во множестве различных систем разработки может оказаться утомительной. Учащиеся, использующие VSCode, могут быть уверены, что получат своевременную поддержку, если что-то пойдет не так.

VSCode — это редактор программирования в сочетании с облегченной системой управления проектами. Сам VSCode включает инструменты, необходимые для компиляции и отладки C++. Вы должны установить инструменты разработки C++ (компилятор, компоновщик и отладчик) отдельно, а затем настроить VSCode для использования этих инструментов. К счастью, установить инструменты C++ и VSCode и настроить все для работы в наших целях относительно легко в Windows, macOS и Linux.

В этом документе объясняется, как установить и настроить необходимые средства разработки C++ и VSCode в Windows, macOS и Linux.

Мы будем использовать слегка расширенную версию дистрибутива Stephan T. Lavavej для компилятора MinGW C++. На веб-сайте Стефана есть его текущий микс MinGW, но вам следует скачать и разархивировать MinGW-124.zip. Этот ремикс имеет дополнительную графическую библиотеку (GLUT) и слегка измененный пакетный файл консоли для лучшей интеграции с VSCode. Этот пакет MinGW содержит все инструменты, необходимые для разработки из командной строки на C++ под Windows.

Настройка VSCode для разработки на C++

Ниже описаны необходимые шаги для установки среды VSCode для разработки на C++:

  1. Установите инструменты MinGW C++.
    1. Загрузите файл MinGW-124.zip.
    2. В окне проводника Windows щелкните файл правой кнопкой мыши и выберите «Извлечь все». В появившемся диалоговом окне обязательно введите C:\ в текстовом поле, указывающем папку, в которую будут извлечены файлы.< /p>

    Снимок экрана \

    (Часть C:\MinGW> предоставляется консолью, и вы вводите только следующую часть.)

    В ответ окно консоли должно напечатать примерно следующее:

    Использование встроенных спецификаций. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/7.2.0/lto-wrapper.exe Цель: x86_64-w64-mingw32 Настроено с помощью: ../src/configure --enable-languages=c,c++ --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --disable-multilib --prefix=/c/temp/ gcc/dest --with-sysroot=/c/temp/gcc/dest --disable-libstdcxx-pch --disable-libstdcxx-verbose --disable-nls --disable-shared --disable-win32-registry -- with-tune=haswell --enable-threads=posix --enable-libgomp Модель потока: posix gcc версии 7.2.0 (GCC) C:\MinGW>

    Если вместо этого вы видите

    'g++' не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл. C:\MinGW>

    тогда что-то пошло не так, и вам следует обратиться за помощью, чтобы исправить это, прежде чем продолжить выполнение следующих шагов.

    На этом установка набора инструментов MinGW C++ завершена.

    Мы не совсем готовы приступить к программированию на C++, но почти готовы.

    На этом установка VSCode завершена.

    На данный момент в нашей установке VSCode отсутствует ряд функций, поддерживающих разработку на C++. Нам нужно добавить некоторые готовые файлы конфигурации, чтобы позволить VSCode правильно подсвечивать синтаксис и отлаживать исходный код C++. Загрузите файл vscode-mingw.zip. Разархивируйте этот файл куда угодно, но помните, куда вы его положили. Он распаковывается в папку с именем .vscode. Эта папка содержит файлы конфигурации, которые позволяют VSCode правильно управлять кодом C++. Держите эту папку в удобном месте, так как вы будете использовать ее для всех своих ранних проектов C++ (для более поздних проектов, использующих графику, может потребоваться другая папка .vscode).

    1. Загрузите заархивированный образец проекта C++, firstprogram.zip. Разархивируйте файл firstprogram.zip. Это создает папку с именем FirstProgram, и в этой папке вы найдете два файла и подпапку:
      • starter.cpp содержит исходный код очень простой программы на C++.
      • Makefile – это файл конфигурации, в котором указывается, как создать исполняемую программу из исходного файла.
      • .vscode — это папка, содержащая несколько файлов, которые позволяют VSCode правильно работать с набором инструментов MinGW C++.

    Файл starter.cpp содержит следующую программу C++:

    1. Удерживая нажатыми клавиши Shift и Ctrl, нажмите клавишу C. Откроется окно консоли.
    2. В окне консоли введите команду make run . C:\MinGW> запустить

    --> Эта команда попытается собрать исполняемую программу из исходного файла и, в случае успеха, запустит программу.

    1. Разархивируйте пользовательский архив MinGW.zip в папку C:\
    2. Установите VSCode
    3. Получить копию существующей рабочей папки проекта VSCode C++

    Эти три шага настройки нужно выполнить только один раз.

    Это все, что нужно для настройки VSCode для разработки на C++. Далее мы рассмотрим типичный рабочий процесс создания нового проекта C++.

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

    После того как вы создали свой первый проект C++, создать еще один очень просто. Чтобы увидеть, насколько это просто, давайте создадим новый проект VSCode C++ и предоставим нашу собственную программу C++.

    Вы будете выполнять шаги, аналогичные приведенным ниже, каждый раз, когда захотите написать программу на C++ с помощью VSCode:

      Скопируйте папку и ее содержимое из существующего проекта VSCode C++. Поскольку в настоящее время у нас есть только один проект VSCode C++ (FirstProgram), используйте Window Explorer, чтобы сделать копию папки FirstProgram. Для этого упражнения назовите его SecondProgram .

    (Этот шаг технически необязателен. Поскольку каждый исходный файл C++ будет находиться в собственной папке проекта, все исходные файлы могут иметь одно и то же имя. Например, program.cpp в папке проекта Project1 может быть совершенно другим. программы, чем в файле program.cpp в папке проекта Project2.)

    (Обратите внимание, что в этом шаге нет необходимости, если вы не переименовали исходный файл на предыдущем шаге.)

    Обзор

    1. Разархивируйте пользовательский архив MinGW.zip в папку C:\
    2. Установите VSCode
    3. Получить копию существующей рабочей папки проекта VSCode C++

    Эти три шага настройки нужно выполнить только один раз.

    1. Скопируйте существующий рабочий проект VSCode C++
    2. Переименуйте исходный файл C++ (необязательно, но желательно)
    3. Отредактируйте первую строку Makefile, чтобы она отражала новое имя исходного файла C++ (не обязательно, если вы пропустили шаг 2)
    4. Отредактируйте исходный файл C++, чтобы реализовать нужную программу

    Вы выполняете эти четыре шага каждый раз, когда хотите написать новую программу с помощью VSCode.

    Удерживая нажатыми клавиши Ctrl и Shift, нажмите клавишу C. Это вызывает окно консоли. Введите команду

    Сначала, если вы еще этого не сделали, установите расширение C/C++, доступное в Microsoft.

    Также обратите внимание, что, поскольку на компьютерах Mac используется ОС *nix, большую часть этого можно применить и для настройки на Mac, за возможным исключением некоторых путей.

    Я также рекомендую установить Code Runner — он не такой гибкий, как описанный ниже, но очень удобен для многих других языков. Я только начал использовать его для JavaScript, и здорово иметь возможность запускать и тестировать файлы прямо в редакторе без использования браузера.

    После установки расширения C/C++ вам потребуется создать рабочую область для настройки и запуска задач компиляции. Я бы рекомендовал создать родительскую папку верхнего уровня для хранения всех ваших проектов C, а затем использовать подпапки для каждого проекта (хорошо, если вы выполняете учебные упражнения). Другой вариант — создать тестовую папку, чтобы освоиться с этой настройкой, а затем создать папки реального проекта и настроить их как собственные рабочие области, что приведет к более организованной окончательной настройке.
    После создания папки выберите «Файл»> «Добавить рабочую область в рабочую область». Затем сохраните рабочую область из меню «Файл» или после закрытия редактора вам будет предложено сохранить ее. Когда вы освоитесь с настройкой компилятора, вы также можете создать отдельную рабочую область для каждой папки проекта вместо использования родительской папки верхнего уровня, если вы предпочитаете организовать ее таким образом.

    После этого используйте Ctrl + Shift + P, чтобы открыть палитру команд, введите «c/c++» и выберите «изменить интерфейс конфигурации» из списка. В открывшемся окне прокрутите вниз и щелкните раскрывающийся список «Путь к компилятору». Мой автоматически обнаружил установленные компиляторы и перечислил их в раскрывающемся списке, но если ваш по какой-то причине этого не сделал, вы всегда можете найти путь и добавить его вручную. Каждая Linux-система обычно поставляется с компилятором C, поэтому вы можете найти свой через Google или в терминале попробовать команду what и имя распространенных компиляторов: gcc, clang, llvm. Затем введите путь в поле «Путь к компилятору». Мои были в /usr/bin/clang и /usr/bin/gcc. Скорее всего и у вас.
    Если по какой-то причине поле ввода пользователя не отображается, возможно, вам придется нажать кнопку "Добавить конфигурацию" в разделе выше. Просто дайте ему имя (например, по умолчанию для Linux) и нажмите OK, после чего должно (надеюсь) появиться раскрывающееся меню пути к компилятору.

    Затем прокрутите вниз до раздела «Режим Intellisense» и убедитесь, что выбран либо $, либо выбран правильный режим, соответствующий компилятору и архитектуре ПК (например, при использовании компилятора clang установите для режима Intellisense значение clangx64). если вы используете 64-битный ПК). Если выбрано значение по умолчанию, должно быть выбрано правильное.

    И все! Очень легко. Теперь настройки должны быть сохранены в файле c_cpp_properties.json.

    Теперь, если вы хотите скомпилировать файлы, просто используйте Ctrl + Shift + B или выберите «Запустить задачу сборки» в меню терминала вверху. Это должно запустить компилятор.

    Если вы хотите настроить файл как для компиляции, так и для запуска, мне пришлось несколько раз попробовать сделать это правильно, поэтому вот как это сделать:
    После того, как вы ввели все информации выше, теперь у вас должен быть файл задачи сборки по умолчанию, который сообщит редактору, что делать, когда вы используете Ctrl + Shift + B. Вы можете открыть его, перейдя в «Терминал»> «Настроить задачу сборки по умолчанию» (или выполните поиск в палитре команд) . Он откроет файл tasks.json.
    Данные здесь должны быть заполнены после настройки пользовательского интерфейса конфигурации (он сохраняется в этом файле, когда вы вносите изменения), но если это не так, обязательно отредактируйте его, чтобы он выглядел примерно так, как показано ниже:

    Выйти из полноэкранного режима

    Обратите внимание, что я использую компилятор gcc, поэтому аргументы могут отличаться, если вы используете другой компилятор (здесь вам поможет Google). Большинство Linux-систем поставляются с компилятором gcc, поэтому, возможно, вы можете просто скопировать и вставить приведенное выше в свой файл, если хотите просто сделать это и вернуться к кодированию.

    Важно убедиться, что команда верна и что аргументы заполнены. Чтобы файл запускался сразу после сборки, обязательно добавьте следующее в конец списка аргументов (какие Я изо всех сил пытался понять, что вам нужно поместить '&&' в качестве отдельного аргумента):

    Выйти из полноэкранного режима

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

    Что касается использования Code Runner, вы также можете использовать его для автоматической компиляции и запуска с помощью Alt + Ctrl + N, но я обнаружил, что он немного менее гибок, когда речь идет о файлах C. Если вы знаете, что файл должен работать без проблем, и просто хотите быстро увидеть результат, это также хороший вариант.

    Если вы хотите проверить это очень быстро, вы можете скопировать и вставить приведенный ниже код в файл с расширением .c, сохранить его, а затем использовать Ctrl + Shift + B и убедиться, что текст печатается в ваш экран.

    Выйти из полноэкранного режима

    РЕДАКТИРОВАТЬ: Поскольку этот пост привлекает много внимания, я добавил небольшое разъяснение по рабочим пространствам, приведенному выше тестовому коду и решил добавить его в свою серию статей об изучении C, так как я думаю, что это будет полезно для тех, кто изучает язык. Как только появится возможность управлять порядком серии, я перенесу ее наверх (rn это основано на дате публикации AFAICT).

    Visual Studio Code вместе с расширением Remote — WSL позволяет использовать WSL в качестве постоянной среды разработки непосредственно из VS Code. Вы можете:

    • разработка в среде на базе Linux
    • использовать наборы инструментов и утилит для Linux
    • запускайте и отлаживайте приложения для Linux, не выходя из Windows, сохраняя при этом доступ к таким инструментам повышения производительности, как Outlook и Office
    • используйте встроенный терминал VS Code для запуска выбранного вами дистрибутива Linux
    • воспользуйтесь преимуществами функций VS Code, таких как автодополнение кода Intellisense, линтинг, поддержка отладки, фрагменты кода и модульное тестирование
    • легко управлять контролем версий благодаря встроенной поддержке Git в VS Code
    • выполнять команды и расширения VS Code непосредственно в проектах WSL
    • редактировать файлы в вашей файловой системе Linux или смонтированной файловой системе Windows (например, /mnt/c), не беспокоясь о проблемах с путями, совместимости двоичных файлов или других проблемах, связанных с разными ОС

    Установите VS Code и расширение Remote WSL

    Перейдите на страницу установки VS Code и выберите 32- или 64-разрядную версию программы установки. Установите Visual Studio Code в Windows (не в вашей файловой системе WSL).

    Когда во время установки будет предложено выбрать дополнительные задачи, обязательно установите флажок «Добавить в PATH», чтобы можно было легко открыть папку в WSL с помощью команды кода.

    Установите пакет расширения удаленной разработки. Этот пакет расширений включает расширение Remote-WSL в дополнение к расширениям Remote-SSH и Remote-Containers, что позволяет открывать любую папку в контейнере, на удаленном компьютере или в WSL.

    Чтобы установить расширение Remote-WSL, вам потребуется майская версия 1.35 или более поздняя версия VS Code. Мы не рекомендуем использовать WSL в VS Code без расширения Remote-WSL, так как вы потеряете поддержку автозаполнения, отладки, линтинга и т. д. Интересный факт: это расширение WSL установлено в $HOME/.vscode/extensions (введите команда 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

    Вы также можете получить доступ к дополнительным параметрам VS Code Remote, используя сочетание клавиш CTRL+SHIFT+P в VS Code, чтобы вызвать палитру команд. Если вы затем наберете Remote-WSL, вы увидите список доступных параметров VS Code Remote, что позволит вам повторно открыть папку в удаленном сеансе, указать, в каком дистрибутиве вы хотите открыть, и т. д.

    VS Code

    Расширения внутри VS Code Remote

    Расширение Remote-WSL разделяет VS Code на архитектуру «клиент-сервер», когда клиент (пользовательский интерфейс) работает на вашем компьютере с Windows, а сервер (ваш код, Git, плагины и т. д.) работает удаленно.< /p>

    При запуске VS Code Remote при выборе вкладки "Расширения" отображается список расширений, разделенных между вашим локальным компьютером и дистрибутивом WSL.

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

    Некоторые расширения, такие как расширение Python или все, что обрабатывает такие вещи, как линтинг или отладка, должны быть установлены отдельно в каждом удаленном дистрибутиве WSL. VS Code отобразит значок предупреждения ⚠ вместе с зеленой кнопкой «Установить в WSL», если у вас локально установлено расширение, которое не установлено на вашем WSL Remote.

    VS Code с удаленным — расширения 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 Terminal.

    Ваш запрос в службу поддержки создан и отправлен вам по электронной почте. Мы рассмотрим ваше сообщение и вскоре свяжемся с вами по электронной почте.

    Пожалуйста, повторите попытку позже

    Приложенные файлы не загружены из-за недопустимых файлов

    1. Главная
    2. Каталог статей
    3. Кодирование и тестирование приложений Linux в Windows с использованием WSL и VS Code


    Кодирование и тестирование приложений Linux в Windows с использованием WSL и VS Code


    Необходимые знания — знание Windows, инструментов разработчика, таких как make, JVM и базовое понимание использования консоли Linux

    Введение

    В этой статье я поделюсь своим опытом использования подсистемы Windows для Linux вместе с Visual Studio Code для базового кодирования и тестирования на C++ и Java. Хотя я буду использовать некоторые примеры из наших SDK Real-time SDK, приведенные ниже примечания должны быть применимы к общей разработке на C++ и Java.

    Я начну с

    • обзор некоторых важных функций WSL + VS Code, которые я обнаружил
    • затем подробно описаны шаги, которые я выполнил, чтобы иметь возможность редактировать, компилировать и запускать примеры C++ и Java в среде WSL.

    Несгибаемый Windows!

    Большую часть своей карьеры я был разработчиком Windows. Я начал с разработки для MS-DOS, а затем быстро перешел к разработке для Windows. Я мог взаимодействовать с системами SQL Server или Oracle на протяжении многих лет, но это всегда было через интерфейс/утилиту на базе Windows.

    Когда я пришел в Reuters в 2004 году, я обнаружил, что наши API-интерфейсы для потоковой передачи данных в реальном времени поставляются как в версиях для Windows, так и в Linux, а большинство приложений для работы с данными в реальном времени наших клиентов были развернуты в Linux, что вполне логично, так как повысилась производительность и стабильность. по сравнению с Windows (конечно, тогда).

    Поэтому мне пришлось адаптироваться и начать знакомиться с Linux. Но для того, кто провел большую часть своей трудовой жизни с Windows и MS-DOS, это далось нелегко. Я серьезно боролся - радости Vi, значительная разница между cmd.exe и различными оболочками Linux и т. Д. Когда это было возможно, я всегда писал код или пытался воссоздать проблему клиента в Windows. Если бы все работало нормально в Windows, я бы перенес его в Linux или попытался воссоздать проблему в Linux по мере необходимости. Мне приходилось полагаться на такие инструменты, как WinSCP и PuTTY, для передачи файлов и доступа к нашим тестовым машинам Linux.

    Не то чтобы я не хотел изучать Linux — просто нечастое использование и нехватка времени означали, что я так и не добился сколько-нибудь разумного прогресса.

    С продуктами виртуализации, такими как VMWare и VirtualBox, все стало немного проще, что позволило мне использовать графический интерфейс с Linux и прибегать к оболочке Linux только в случае крайней необходимости. Однако всегда существовала проблема снижения производительности и головной боли, связанной с обслуживанием ВМ, настройкой сетевых параметров и т. д., а также ВМ, которые таинственным образом перестали работать.

    Некоторые из вас могут спросить А как насчет Docker? мы опубликовали несколько образов контейнеров Docker для наших SDK Real-Time (см. ссылки ниже), которые я считаю полезными для базового тестирования. Однако лично я не нашел, что Docker предлагает мне ту же гибкость и интеграцию, которые подходят для моего рабочего процесса.

    Подсистема Windows для Linux

    Можете себе представить мою надежду, когда я впервые услышал о великих обещаниях, которые Microsoft давала в отношении своей новой подсистемы Windows для Linux.

    Мои первые эксперименты с WSL заключались в простом копировании версий наших SDK для Linux, попытке их сборки и запуска. Любое кодирование/редактирование по-прежнему выполнялось в Windows, а файлы/изменения копировались туда и обратно между Windows и Linux по мере необходимости.

    Сначала я вводил длинные командные строки, например:

    cp /mnt/c/Refinitiv/RTSDK-2.0.2.L1.win.rrg/Cpp-C/Ema/Examples/Training/Consumer/100_Series/100_MP_Streaming/Consumer.cpp .

    прежде чем обнаружить интеграцию WSL File Explorer.

    Интеграция работает очень хорошо: вы можете получить доступ к структуре каталогов WSL из Проводника Windows, перейдя в Сеть->wsl$. Если вы не видите общий ресурс wsl$, просто введите wsl$ в адресную строку, а затем выбрав требуемую установку WSL (ниже вы заметите, что я увлекся и установил четыре версии WSL):

    Читайте также: