Visual studio code как пользоваться c: Как настроить Visual Studio Code для компиляции кода C++?

Содержание

Как настроить Visual Studio Code для компиляции кода C++?

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

  1. Общая поддержка языка C++ для редактора. Обычно это делается с помощью ms-vscode.cpptools, который большинство людей ожидают также обрабатывать много других вещей, таких как поддержка сборки. Позвольте мне сэкономить вам немного времени: это не так. Тем не менее, вы, вероятно, захотите этого в любом случае.

  2. Создание, очистка и перестройка задач. Именно здесь ваш выбор системы сборки становится огромным делом. Вы найдете плагины для таких вещей, как CMake и Autoconf (да поможет вам Бог), но если вы используете что-то вроде Meson и Ninja, вам придется написать несколько вспомогательных скриптов и настроить пользовательский файл "tasks.json" для их обработки. Microsoft полностью изменила все об этом файле за последние несколько версий, вплоть до того, как он должен называться, и места (да, placeS), куда он может пойти, не говоря уже о полном изменении формата. Хуже того, они вроде как сохранили обратную совместимость, чтобы обязательно использовать ключ "version", чтобы указать, какой вариант вы хотите. Подробности смотрите здесь:

https:/ / code.visualstudio.com / документы/редактор / задачи

... но обратите внимание на конфликты с:

https://code.visualstudio.com/документы/языки/КПП

WARNING: ВО ВСЕХ ПРИВЕДЕННЫХ НИЖЕ ОТВЕТАХ ВСЕ, ЧТО НАЧИНАЕТСЯ С ТЕГА "VERSION" НИЖЕ 2.0.0, УСТАРЕЛО.

Вот самое близкое, что у меня есть на данный момент. Обратите внимание, что я сбрасываю большую часть тяжелого подъема на Скрипты, это на самом деле не дает мне никаких записей меню, с которыми я могу жить, и нет никакого хорошего способа выбрать между отладкой и выпуском, не сделав здесь еще три явных записи. (.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } } } ]

}

Обратите внимание, что теоретически этот файл должен работать, если вы поместите его в корень рабочей области, чтобы не застрять при проверке файлов в скрытых каталогах (.vscode) в вашей системе контроля версий. Я еще не видел, чтобы это действительно работало; протестируйте его, но если он потерпит неудачу, поместите его в файл .vscode. В любом случае, IDE будет сука, если его там все равно не будет. (Да, на данный момент это означает, что я был вынужден проверить .vscode в subversion, что меня не устраивает.) Обратите внимание, что мои скрипты сборки (не показаны) просто создают (или воссоздают) каталог DEBUG, используя, в моем случае, meson, и строят внутри него (используя, в моем случае, ninja).

  1. Запуск, отладка, присоединение, остановка. Это еще один набор задач, определенный в "launch.json". Или, по крайней мере, так было раньше. Microsoft сделала такую hash из документации, что я даже больше не уверен.

подробный гайд по настройке и установке плагинов

Visual Studio Code – это один из наиболее популярных редакторов кода, разработанный корпорацией Microsoft. Он распространяется в бесплатном доступе и поддерживается всеми актуальными операционными системами: Windows, Linux и macOS. VS Code представляет собой обычный текстовый редактор с возможностью подключения различных плагинов, что дает возможность работать со всевозможными языками программирования для разработки любого IT-продукта.

Несмотря на столь высокую популярность программы, ее функционал до сих пор остается не таким очевидным, из-за чего многие пользователи предпочитают продукт конкурента, нежели VS Code. Чтобы решить все проблемы, возникающие при работе с Visual Studio Code, рекомендую ознакомиться с подробным гайдом по настройке этого редактора кода. В нем я покажу, что VS Code – это мощный инструмент, которым может пользоваться каждый.

Установка Visual Studio Code

С установкой среды не должно возникнуть никаких проблем, но давайте все же проведем небольшой ликбез. Выполним несколько действий:

  1. Переходим на официальный сайт и загружаем установочный файл.
  2. Следующим шагом запускаем установочник и ставим редактор кода на компьютер. В блоке «Выберите дополнительные задачи» рекомендую отметить два пункта, позволяющие запускать файлы через выпадающее меню – так вы сможете быстро открыть код в VS Code.

На этом установка завершена. Теперь мы можем использовать редактор кода по назначению. Обычно с этим не должно возникнуть никаких проблем, однако на слабых машинах запуск утилиты часто прерывается. Вылечить такой недуг можно с помощью добавления нового значения к пути ярлыка. Для этого откроем его свойства через правый клик мыши и в графе «Объект» пропишем --disable-gpu.

Готово! Теперь программа должна работать на любом компьютере.

Интерфейс Visual Studio Code

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

Запустить файл с кодом мы можем через правый клик мыши -> Открыть с помощью Code. Файл можно открыть и в программе: для этого в верхнем правом углу выбираем «File» и жмем «Open File…». После этого переходим в нужную директорию и выбираем файл.

В результате перед нами отобразится окно с кодом из файла. Давайте визуально разделим интерфейс на блоки и рассмотрим каждый из них более детально.

Первое, что бросается в глаза, – это блок кода, для которого отведено больше всего места. Название функций и прочее подсвечено разными цветами. Здесь же указан путь до файла, а чуть выше расположены вкладки-файлы, по которым можно перемещаться. С помощью них мы можем добавлять не просто один файл с кодом, а целый проект.

Следующий блок – левая панель управления, включающая в себя 5 основных вкладок: «Проводник», «Поиск», «Система управления версиями», «Запуск кода» и «Расширения». Первая предоставляет пользователю возможность просматривать содержимое проекта и быстро перемещаться внутри него.

Вторая вкладка – поиск. Используется для нахождения слов в документе. Он также может быть запущен с помощью комбинации клавиш «CTRL+SHIFT+F». Алгоритм использования довольно прост – вводим название в поиск и смотрим результат.

Система управления версиями – предназначена для взаимодействия с git.

Запустить и проверить работоспособность кода мы можем в следующей вкладке:

Еще одна важная вкладка, с помощью которой из Visual Studio Code можно сделать функциональную утилиту, это «Расширения». В ней находятся установочники для всех популярных инструментов, используемых разработчиками.

Следующий блок – нижний статус-бар. В нем отображается общая информация о состоянии программы. Обратите внимание, что VS Code автоматически определяет язык программирования и информирует нас об этом.

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

Как видите, если пройтись по интерфейсу программы, то она уже не кажется такой сложной. Чтобы сделать все еще проще, давайте проведем русификацию всех элементов интерфейса. О том, как это сделать, поговорим далее.

Русификация Visual Studio Code

Чтобы провести русификацию программы, открываем вкладку с расширениями и прописываем запрос vscode-language-pack-ru. В результате будет отображен новый элемент с кнопкой «Install» – кликаем по ней и ожидаем завершения установки.

Перезагружаем программу и смотрим, что язык интерфейса был изменен на русский:

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

Внешний вид

Мы можем полностью изменить цветовую схему утилиты. Чтобы это сделать, воспользуемся комбинацией клавиш «CTRL+SHIFT+P» и введем запрос «theme». В отобразившемся списке выберем «Параметры: Цветовая тема».

В результате отобразится список возможных тем – для примера возьмем солнечную тему.

После применения темы интерфейс примет следующий вид:

Обратите внимание, что это не весь список тем – вы можете установить и другие. Для этого пролистайте в самый низ списка и выберите «Установить дополнительные цветовые темы…». После этого в левой части отобразится дополнительный блок с доступными цветовыми решениями.

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

Смотрите также: Лучшие плагины и темы для VS Code

Управление проектами

По умолчанию Visual Studio Code поддерживает работу с несколькими проектами, однако перемещаться между ними не очень удобно. Для удобства обычно используют плагин под названием Project Manager. С его помощью открывается возможность перемещения между рабочими областями всего в один клик. Установка проходит через магазин расширений, о котором мы говорили ранее. После того как менеджер проектов будет установлен, в левой панели управления появится новая вкладка для работы с плагином.

Теперь работа с проектами не должна вызывать никаких трудностей.

Автоформатирование кода

Один из важных этапов программирования – умение приводить все к единому виду с правильными отступами. Для таких задач в VS Code есть специальные плагины, позволяющие форматировать весь текстовый документ. Это такие расширения, как PHP-CS-Fixer для PHP, Prettier для JS/HTML/CSS и другие.

Рассмотрим, как форматируется код, написанный на JavaScript:

  1. Возьмем для примера функцию, отступы в которой выстроены случайным образом.
  2. Устанавливаем плагин Prettier через магазин расширений и открываем документ, который нужно отформатировать. Зажимаем комбинацию клавиш «CTRL+SHIFT+P» и вводим запрос «Format Document».
  3. Смотрим на код и видим, что он преобразился и принял аккуратный вид.

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

Автодополнение

В популярных программах, подобных Visual Studio, встроена функция автодополнения, помогающая завершить код. Например, вы пишите строчку кода, а среда подсказывает, как ее завершить. С помощью этой опции можно не только вспомнить нужную функцию, но и быстро написать код.

По умолчанию функция автодополнения в Visual Studio Code доступна только для некоторых языков. Для прочих языков программирования существуют дополнительные пакеты с окончанием «intellisense».

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

Рекомендую установить PHP Intellisense, CSS Intellisense и Path Intellisense.

Управление Vim

Vim – это свободный текстовый редактор, работающий на основе vi. По умолчанию он установлен на каждой операционной системе семейства Unix. Кроме того, он доступен и в Visual Studio Code. Для работы с ним потребуется установить расширение с аналогичным названием:

Теперь мы можем перемещаться по файлу клавишами h, j, k, l, использовать Esc и сохранять файл командой

:w.

Отладка кода

Для того чтобы запустить код в VS Code, нам нужно воспользоваться одним из расширений. Например, для JavaScript подойдет Debugger for Chrome. Узнать, какое расширение необходимо для конкретного языка, можно через «Выполнить» -> «Установить дополнительные отладчики…».

В результате в левой части окна будет отображен список доступных плагинов – найдите в нем подходящий для вас и следуйте инструкции.

После того как нужный плагин будет установлен, можно запускать отладку кода. Для этого достаточно открыть пункт «Выполнить» и нажать на кнопку «Запустить отладку». Также это можно сделать с помощью клавиши «F5».

С помощью плагинов мы можем отладить код, написанный на любом языке программирования.

Заключение

Сегодня мы разобрали функционал инструмента Visual Studio Code. Данная среда хороша не только для профессионалов, но и для новичков, изучающих основы программирования. Одно из преимуществ программы – это минимальное требование к железу: запустить программу можно практически на любом компьютере.

Надеюсь, что работа в VS Code больше не будет для вас проблемой, а активные проекты ждет успех. Удачи!

Как в Visual Studio Code компилировать код Си? — Хабр Q&A

1. компиляция на Code — нудный процесс, ибо нужно использовать компилятор из вне, для самой отладки нужно создать launch.json (и в нём прописать пути для GDB и настроить файл который будет компилироваться и всё это нужно лишь для отладки, да и не обязательно), а для компиляции ...
Ссылка
Note: The C/C++ extension does not include a C++ compiler or debugger. You will need to install these tools or use those already installed on your computer. Popular C++ compilers are mingw-w64 for Windows, Clang for XCode for macOS, and GCC on Linux. Make sure your compiler executable is in your platform path so the extension can find it. The extension also supports the Windows Subsystem for Linux.

... создаёте c_cpp_properties.json, в вашем воркспэйсе и прописываете:
{
    "name": "Win32",
    "includePath": [
        "${workspaceFolder}"
    ],
    "defines": [
        "_DEBUG",
        "UNICODE"
    ],
    "compilerPath": "C:\\mingw-w64\\bin\\gcc.exe",
    "intelliSenseMode": "clang-x64",
    "browse": {
        "path": [
            "${workspaceFolder}"
        ],
        "limitSymbolsToIncludedHeaders": true,
        "databaseFilename": ""
    }
}

Предварительно скачав mingw-w64/GCC.
Думаю вас это не устроит, но этого мало, нужен tasks.json примерно такого вида:
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build hello world",
            "type": "shell",
            "command": "g++",
            "args": [
                "-g", "helloworld.cpp"
            ]
        }
    ]
}

А параметры для вашего компилятора думаю найдёте сами, из хода выполнения в DevC`и++, "command" это обычное выполнение в cmd, на сколько знаю для "C`и" будет нужен gcc.exe, параметры будут содержать в себе пути к стандартным библиотекам и тип компилируемого приложения по типу консольное или оконное.

2. Обычный проект C++ пустой, ручкой создаёшь файл с расширением "*.c", и в параметрах проекта поставить компилятор gcc или Си (что-то такое)

Как пользоваться Visual Studio Code

Хочу порекомендовать VPS хостинг от профессионалов с самой лучшей технической поддержкой, на котором работает этот веб-сайт. У них есть VPS и выделеные серверы под любые нужды. Регистрируйтесь и получите скидку 25% на первый платеж для любого SSD VPS при оплате на один, три или шесть месяцев.

Visual Studio Code - это среда разработки от компании Microsoft, созданная совсем недавно с использованием новых технологий (например Node.js). В отличие от полного пакета Visual Studio, эта среда представляет собой текстовый редактор с возможностью подключения огромного количества плагинов. Она предназначена для разработки на различных языках программирования и для разных платформ. Поддерживаются не только Windows, но и Linux, а также MacOS.

По умолчанию среда - это всего лишь очень продвинутый текстовый редактор. Поэтому для полноценной работы её предстоит настроить. В этой статье я расскажу, как пользоваться Visual Studio Code и как настроить полноценное окружение для веб-разработки. А если быть более точным - для беэкнд разработки. Поговорим про внешний вид, русификацию и, конечно же, полезные расширения.

Содержание статьи:

Как пользоваться Visual Studio Code

В отличие от предыдущих статей на эту тему, я не буду рассказывать про установку. Об этом есть полноценная статья, поэтому посмотрите там. Программа без труда ставится с официального сайта или из snap-пакета в любом дистрибутиве, основанном на Debian или RedHat. Первым делом остановимся на интерфейсе программы. Причём будет рассмотрена именно работа Visual Studio Code для начинающих. Если вы уже опытный разработчик, вряд-ли вы найдёте для себя что-то новое.

1. Интерфейс Visual Studio Code

Интерфейс программы типичен для многих редакторов кода. Но есть и свои особенности. Условно главное окно программы можно разделить на семь частей:

Именно этими участками вы будете пользоваться во время работы с VS Code:

  1. Главное меню программы - можно использовать для доступа к настройкам, открытия проектов и папок и многого другого;
  2. Левая панель - эта панель есть только в VS Code, она позволяет переключаться между просмотром дерева каталогов, поиском, отладкой и окном установки дополнений. Сюда же некоторые расширения добавляют свои меню, например Docker, Git и расширение для управления проектами.
  3. Проводник - по умолчанию здесь отображается дерево каталогов, но тут же вы обнаружите настройки отладки или доступные для установки расширения, если выбран соответствующий пункт на боковой панели.
  4. Рабочая область - здесь выполняется редактирование файла.
  5. Мини карта - позволяет быстро ориентироваться по открытому исходнику.
  6. Нижняя панель - здесь отображается вывод программы при выполнении, консоль самой Visual Code, а также здесь есть встроенный терминал.
  7. Статус бар - отображается общая информация о состоянии программы.

2. Русификация Visual Studio Code

По умолчанию среда устанавливается на английском языке. Лучше так всё и оставить: большинство информации по программированию в интернете на английском языке, и, если вы привыкните к такому формату, вам будет проще во всём этом ориентироваться. Но если вас интересует, как русифицировать Visual Studio Code, то делается это очень просто. На боковой панели кликните по значку с квадратиками, который отвечает за установку дополнений, и наберите в поле поиска vscode-language-pack-ru; утилита найдёт только один пакет, нажмите Install, чтобы установить его:

Для выбора языка нажмите Ctrl+Shift+P и начните набирать Config, в предложенном списке выберите Configure Display Language:

Затем выберите ru и перезапустите программу. Всё. После этого интерфейс программы станет русским.

3. Внешний вид

Одна из важных вещей для среды разработки - её внешний вид и тема оформления. Чтобы изменить тему оформления, надо нажать сочетание Ctrl+Shift+P и набрать Theme. Затем в меню надо выбрать Color Theme:

Затем в открывшемся меню осталось выбрать нужную тему стрелками и нажать Enter. По умолчанию доступно несколько тёмных и светлых тем:

Скачать новые темы можно с официального сайта Visual Studio Code. Здесь же можно настроить тему иконок.

4. Управление проектами

Очень часто бывает, что приходится переключаться между несколькими проектами во время работы. По умолчанию в VS Code для этого надо открывать рабочую папку проекта через меню. Но есть выход. Это расширение Project Manager. С его помощью вы можете сохранять проекты и переключаться между ними в один клик. Установите Project Manager как было описано выше, затем кликните на боковой панели по значку с папкой.

Здесь отображается список доступных проектов. Чтобы запомнить текущую папку в качестве проекта, кликните по значку с дискетой и введите имя проекта:

После этого вы сможете очень просто управлять своими проектами.

5. Авто-форматирование кода

Один из самых важных моментов в работе с кодом - это его однообразие. Приводить код к одному виду вручную не всегда удобно - для этого и были придуманы различные расширения. Это PHP-CS-Fixer для PHP и Prettier для JS/HTML/CSS. Установите их через меню установки дополнений, а затем используйте сочетание клавиш Ctrl+Shift+F в Windows или Ctrl+Shift+I в Linux, для того чтобы выполнять выравнивание кода Visual Studio Code.

6. Автодополнение

Очень сильно помогает в разработке автоматическое дополнение кода. Вы пишите начало слова, а среда сама вам подсказывает, чем его можно завершить. Пакеты, которые позволяют выполнять автодополнение, называются *-intellisense. Рекомендуется установить PHP IntellisenseCSS Intellisense и Path Intellisense для автодополнения путей к файлам. Для разных фреймворков существуют свои расширения автоматического дополнения кода, например, для Laravel есть Laravel Extra Intellisense. Подсветка синтаксиса обычно уже встроена в VS Code для многих языков, однако если её нет, тоже ищите расширение.

7. Управление Vim

Я привык к редактору Vim и хочу использовать его стиль везде, даже в Visual Studio Code. Если вы тоже хотите, для нас с вами есть расширение Vim, которое переносит все сочетания клавиш и режимы работы Vim в редактор Visual Studio. После его установки вы сможете перемещаться по файлу кнопками h, j, k, l, использовать Esc и сохранять файл командой :w.

8. Отладка кода

В Visual Code есть интерфейс, с помощью которого выполняется отладка кода, но прежде, чем вы его сможете использовать для PHP, его придётся настроить. Для отладки кода на PHP используется отладчик Xdebug, поэтому необходимо установить дополнение PHP Debug. Далее кликните по треугольнику со значком жука на боковой панели. Если вы раньше ничего не отлаживали в этом проекте, то программа предложит вам создать файл launch.json. Кликните по этой ссылке. В открывшемся списке выберите PHP:

В полученном файле надо обратить внимание только на поле port. Он должен быть такой же, как и значение переменной xdebug.remote_port в php.ini. У меня это 9008. Сохраните изменения и нажмите зелёный треугольник для начала отладки.

Возможно, программа ещё спросит путь к папке с файлами проекта. Если это локальный компьютер, то проблем возникнуть не должно. Затем нужно выбрать точки остановки. Эти точки ставятся в самой левой части области редактора напротив строчки, в которой вы хотите остановится:

Последний шаг: надо открыть отлаживаемую страницу в браузере, но при этом для Chrome надо использовать расширение Xdebug Helper, которое включает необходимый флаг и сообщает Xdebug, что этот код надо отлаживать. Для этого надо выбрать режим Debug в расширении:

Затем Xdebug подключается к VS Code по выбранному нами порту и передаёт туда всю необходимую информацию. Только после этого вы сможете смотреть переменные и выполнять код пошагово:

9. Терминал

В завершении поговорим о чём-то более простом. Одно из преимуществ VS Code перед другими редакторами - это встроенный терминал, который позволяет выполнять команды в системной оболочке Linux или в выбранной оболочке Windows. Если терминал ещё не открыт, вы можете сделать это с помощью Ctrl+Shift+P или из меню Терминал -> Создать терминал:

10. Использование Git

Ещё одна очень полезная возможность в Visual Studio Code - это интеграция с Git. Она работает по умолчанию, и вам даже не надо ничего дополнительно устанавливать. Достаточно только, чтобы в директории с проектом уже был инициализирован Git-репозиторий. Все новые или изменённые файлы будут подсвечены в проводнике.

Кроме того, вы можете делать фиксацию изменений (коммиты) и отправлять изменения на сервер прямо в графическом интерфейсе. Сначала надо добавить файлы в коммит: кликните по значку разветвления на боковой панели. Здесь отображаются все изменённые файлы. Нажмите + напротив файлов, которые надо добавить:

Для того чтобы зафиксировать изменения, наберите пояснение к комиту в текстовой строке, затем нажмите Ctrl+Enter или галочку над текстовым полем:

Теперь осталось отправить изменения в репозиторий, для этого используйте кнопку в статус-баре со значком обновления. Смотрите на предыдущем снимке.

Выводы

В этой статье мы рассмотрели, как работать в Visual Studio Code для программирования на PHP и других языках программирования, предназначенных для веб-разработки. Как видите, эта среда намного лучше подготовлена по умолчанию, чем тот же Atom и то, что приходится настраивать там, здесь уже есть "из коробки". А какой средой разработки пользуетесь вы? Напишите в комментариях!

Visual Studio Code. Настройка и применение. Часть 1 | by p1t1ch

Синхронное добавление модификаторов элементам списка через множественный курсор

Теперь сконцентрируемся на главной функции редактора кода — непосредственно написании кода. ” и очень редко использую оператор соседства “+”, т.к. в этих случаях проще развернуть то, что есть, и, не заморачиваясь, написать следующую часть с нуля.

Emmet также можно использовать с CSS, но лично я им при написании стилей не пользуюсь, т.к. мне хватает автосаджеста. К тому же нужно запоминать сокращения в отличие от HTML, где построение сокращений естественно, т.к. выводится из CSS-селекторов. Хотя я знаю, что некоторые разработчики находят эту возможность полезной. Так что для протокола пример применения в CSS:

m0!

переводится в

margin: 0 !important;

P.S. Кстати, не используйте !important 💩

Множественный курсор

VSCode поддерживает всю ту магию с множественным курсором, которой когда-то покорил меня Sublime Text. Вообще говоря, множественные курсоры проставляются на Alt + Click, но я этим не пользуюсь. Приведу примеры более практичного применения этой возможности.

Если нужно внести идентичные правки в нескольких местах файла, то разумно выделить сразу все эти места и изменять их параллельно. Для этого выделяем первое вхождение и через Ctrl + D выделяем последующие.

Ctrl + D — выбор следующего вхождения.

Можно выделить и сразу все:

Ctrl + F2 — выбор всех вхождений.

Однако, если цель — заменить имя цельной сущности в js, то лучше отдать предпочтение переименованию на F2 — она умнее, чем обычная текстовая замена, и как раз предназначена для таких целей (подробнее о символьных манипуляциях в следующей главе). Также замену можно произвести через Ctrl + H (про текстовый поиск опять же поговорим в следующей главе), но когда применяешь Ctrl + D цель всё-таки несколько другая — расположить множественные курсоры, чтобы параллельно изменять код в нескольких местах.

Пример применения: есть JSON-файл с тысячей вхождений поля “order” с различными значениями. Мы сочли, что такое поле нам больше не нужно. Соответственно, выделяем “”order”:”, Ctrl + F2, курсор проставляется в 1000 строк, End — переходим в конец выделенных строк, Shift + Home — выделяем строку, Backspace — стираем выделенный текст, Backspace — убираем пустые строки. Без множественного курсора мы бы провозились с этими правками довольно долго, а теперь же, расправившись с этой задачей like a boss, можем спокойно пойти выпить чая 😎

Бывает, что у нас есть несколько идентичных строк, идущих подряд, и нам нужно в каждую из них дописать что-то ещё. Для этой цели подойдёт колоночное выделение:

Alt + Shift + (Drag mouse) — колоночное выделение.

С помощью колоночного выделения можно, например, перевести разбитые на отдельные строки 10 значений в единую строку — для этого выделяем начало всех нужных строк и прожимаем Backspace и “, “. Теперь значения идут одно за другим в одну строку через запятую.

Манипуляция строками

В отдельную группу выделю управление строками через Alt и стрелки. Здесь всего 2 комбинации, которые стоит запомнить.

Нажатие стрелок с зажатым Alt перемещает строку. Порой бывает удобно перенести выделенный участок, не переключаясь на мышь. По сути то же самое, что выделить блок мышью, и прожать Ctrl + X Ctrl + V, только быстрее, если привыкнуть. Если нужно перенести только одну строку, то выделять ничего не нужно, достаточно стоящего на строке курсора.

Alt + Arrow — перемещение строки.

Если повторить ту же комбинацию с зажатым Shift, строка вместо перемещения начнёт копироваться. Допустим, у вас есть некоторая строка и вам нужно размножить её до 20 вхождений, чтобы иметь базу, в которой вы будете потом вручную изменять отдельные фрагменты. Это можно сделать, выделив строку, нажав Ctrl + C, и ещё 19 раз прожав Enter и Ctrl + V. Создаёт видимость работы, конечно, но то же самое можно сделать, зажав Shift + Alt и стрелку вниз, и отпустив стрелку, когда строк станет достаточно. Вы можете возразить, что можно скопировать строку сразу с переносом, а Ctrl + V просто зажать. Ну вообще можно, да, и это уже похоже по трудозатратам на то, что мы делаем через Alt. Просто раньше я замечал за собой именно первый вариант, так что, полагаю, что он достаточно распространён.

Shift + Alt + Arrow — копирование строки.

Комментарии

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

Ctrl + / — вставка строчного комментария.

Тип комментариев подбирается на основании языка. Для js будет применён //, для css /* */, для html <!-- -->, для hbs {{!-- --}} и т.д. Для написания стилей я пользуюсь PostCSS, и здесь важно, что для при этом комментарии определяются верно. В Sublime Text я ставил ассоциацию .pcss файлов c SCSS, в результате чего подсветка синтаксиса была примерно корректная, но комментарий вставлялся, как в SASS одинарный, что для PostCSS вызывало ошибку, т.к. в CSS должны быть блочные комментарии.

Лично я придерживаюсь такого стиля написания комментариев в скриптах, что выделение участка кода, который временно отключён, идёт через //, временные пометки в конце строк также идут через //, но пояснения пишутся через блочные комментарии /* */ на отдельных строках. Так можно визуально отделить “work in progress” участки кода, которые потом можно будет удалить, от вшитых сопровождающих пояснений работы блока, да и смотрятся блочные комментарии более аккуратно. Для вставки блочного комментария в VSCode предназначен шорткат:

Shift + Alt + A — вставка блочного комментария.

Для этого сначала прожимаем комбинацию, курсор сразу оказывается внутри комментария и вписываем внутрь нужный комментарий. Также можно пойти от обратного и сначала прописать текст комментария, потом выделить написанный текст и прожать комбинацию. В отличие от строчных комментариев здесь нужно уже выделить полную область. Со строчными можно ничего не выделять, если речь идёт об одной строке, либо небрежно затронуть нужные строки для многострочного комментирования.

c++ - Как настроить Visual Studio Code на работу с С++?

Уважаемый usernameusername,

примерно год назад я точно так же не мог с первого раза настроить VS Code.

Как справедливо указали в комментариях - есть прекрасная официальная документация по настройке. Тем не менее, я оставлю свой ответ, так как он более детальный в некоторых моментах. А в других моментах - менее детальный 🙂

Чтобы настроить VSC, хорошо бы научиться компилировать и запускать Вашу программу из командной строки. А потом настройки, котрые для этого понадобились, добавить в правильные места в файлах конфигурации VS code.

Труднность этого процесса именно в "зоопарке" разных возможностей. На этого не стоит пугаться.

Кроме того, настройка немного отличатся для разных систем (Linux, windows, macos), а Вы не указали, какая система у вас.

Я приведу пример настройки для компилятора gcc под Win64. Можно повторить мои шаги, а когда получится - сделать самостотельную настройку, например, на другой компилятор.

  1. Устанавливаем msys2. Я установил его в C:\Programs\msys64. При этом сам msys2 позаботился о том, чтобы путь к его директории C:\Programs\msys64\mingw64\bin оказался в path. Проверить это можно, выполнив в консоли команду path

  2. Устанавливаем компилятор и дебаггер. Я делаю это с помощью пакета msys2, выполнив в окне, котрое открывает msys2, ровно три команды:

     pacman -Sy
     pacman -S mingw-w64-x86_64-gcc
     pacman -S mingw-w64-x86_64-gdb
    

Теперь в Вашей системе есть компилятор и дебаггер. Проверить это просто: открываем новое окно консоли, пишем g++ --version

Если ответом не является версия - надо поискать, что пошло не так. Проверить path, возможно, отредактировать его вручную.

Такую же проверку хорошо бы сделат для дебаггера: gdb --version

  1. Пишем hello world. Это позволит нам окончательно убедиться, что компилятор работает. в любой директории созадем файл hello.cpp с текстом

     #include <iostream>
     int main() {
         std::cout << "Hello world!" << std::endl;
         return 0;
     };
    

потом в этой папке в командной строке компилируем командой g++ hello.cpp -o hello.exe Если появился файл hello.exe, и он запускается и вывоит строчку - ок, этот шаг завершен.

  1. А вот теперь можно поставить VSC. Обратите внимание, что редакций есть несколько, во первых для 32 и 64 битных систем, а во вторых - то, что назывется "User Installer" и "System Installer". Выбираем 64 битный System Installer на странице загрузки

  2. В VSC ставим расширение для работы с C++, оно называется C/C++ for Visual Studio Code и написано Microsoft

  3. Теперь запустим VSC в папке Вашего проекта. Пусть это будет папка C:\Projects\. Делается это так: запускам консоль. Переходим в консоли в папку (cd C:\Projects\). Запускаем VSC командой code ..

Важно то, что при этом создаётся папка настроек VSC, котрые находятся по пути C:\Projects\.vscode. В этой папке нужно создать 4 файла, я приведу их в минимальном варианте. Пути - для моей системы, где msys2 установлен в C:\Programs\msys64\.

Файл tasks.json - отвечает за то, чтобы работала комбинация клавиш Ctrl+shift+B для сборки программы:

    {
        "version": "2.0.0",
        "tasks": [
            {
                "type": "shell",
                "label": "g++.exe build active file",
                "command": "C:/Programs/msys64/mingw64/bin/g++.exe",
                "args": [
                    "-std=c++17",
                    "-g",
                    "${file}",
                    "-o",
                    "${fileDirname}\\${fileBasenameNoExtension}. exe"
                ],
                "options": {
                    "cwd": "C:\\Programs\\msys64\\mingw64\\bin"
                },
                "problemMatcher": [
                    "$gcc"
                ],
                "group": {
                    "kind": "build",
                    "isDefault": true
                }

            }
        ]
    }

Файл launch.json - отвечает за работу дебаггера:

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "g++.exe build and debug active file",
                "type": "cppdbg",
                "request": "launch",
                "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}",
                "environment": [],
                "externalConsole": false,
                "MIMode": "gdb",
                "miDebuggerPath": "C:\\Programs\\msys64\\mingw64\\bin\\gdb.exe",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ],
                "preLaunchTask": "g++.exe build active file",
                "internalConsoleOptions": "neverOpen"
            }
        ]
    }

Файл settings.json - как то отвечает за файловые ассоциации, возможно даже, что он не особо нужен. Но лишним не будет:

    {
        "files.associations": {
            "ostream": "cpp",
            "iostream": "cpp",
            "iomanip": "cpp",
            "chrono": "cpp",
            "iosfwd": "cpp",
            "thread": "cpp",
            "array": "cpp",
            "string_view": "cpp",
            "initializer_list": "cpp",
            "utility": "cpp",
            "valarray": "cpp",
            "optional": "cpp",
            "sstream": "cpp"
        }
    }

Файл c_cpp_properties. json - отвечает за расположение include - файлов:

    {
        "configurations": [
            {
                "name": "Win32",
                "includePath": [
                    "${workspaceFolder}/**", 
                    "C:/Programs/msys64/mingw64/include/**"
                ],
                "defines": [
                    "_DEBUG",
                    "UNICODE",
                    "_UNICODE"
                ],
                "windowsSdkVersion": "8.1",
                "compilerPath": "C:\\Programs\\msys64\\mingw64\\bin\\g++.exe",
                "cStandard": "c11",
                "cppStandard": "c++17",
                "intelliSenseMode": "gcc-x86"
            }
        ],
        "version": 4
    }

Если Вы создадите эти файлы, а потом заново запустите в этой директории VSC - то всё уже должно работать. То есть, программы на C++ будут компилироваться, запускаться в отладке (по F5) и показывать значения переменных в окне отладчика.

Теперь - самое важное. Как только заработает - Вам нужно эту папку .vscode копировать к корень каждой папки с проектом на C++. Это позволит VSC запускаться с Вашими настройками.

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

Успехов!

Приступая к работе с VS Code с подсистемой Windows для Linux

  • Чтение занимает 4 мин

В этой статье

Visual Studio Code, вместе с расширением Remote-WSL, позволяет использовать WSL в качестве среды разработки для полной времени непосредственно из VS Code.Visual Studio Code, along with the Remote - WSL extension, enables you to use WSL as your full-time development environment directly from VS Code. Вы можете:You can:

  • Разработка в среде под управлением Linuxdevelop in a Linux-based environment
  • Использование цепочек инструментов и служебных программ для Linuxuse Linux-specific toolchains and utilities
  • Запуск и отладка приложений Linux с помощью Windows с сохранением доступа к средствам повышения производительности, таким как Outlook и Officerun and debug your Linux-based applications from the comfort of Windows while maintaining access to productivity tools like Outlook and Office
  • Использование встроенного терминала VS Code для запуска дистрибутива Linux по выборуuse the VS Code built-in terminal to run your Linux distribution of choice
  • Воспользуйтесь преимуществами VS Code функций, таких как завершение кода IntelliSense, linting, Поддержка отладки, фрагменты кодаи модульное тестирование .take advantage of VS Code features like Intellisense code completion, linting, debug support, code snippets, and unit testing
  • Простота управления версиями с помощью встроенной поддержки Git VS Codeeasily manage your version control with VS Code's built-in Git support
  • выполнение команд и VS Code расширений непосредственно в проектах WSLrun commands and VS Code extensions directly on your WSL projects
  • Измените файлы в Linux или смонтированной файловой системе Windows (например,/МНТ/к), не беспокоясь о проблемах с путями, двоичной совместимости или других задачах, связанных с разными операционными системами.edit files in your Linux or mounted Windows filesystem (for example /mnt/c) without worrying about pathing issues, binary compatibility, or other cross-OS challenges

Установка VS Code и расширения Remote WSLInstall VS Code and the Remote WSL extension

  • Перейдите на страницу установки VS Code и выберите двоичный установщик 32 или 64.Visit the VS Code install page and select the 32 or 64 bit installer. Установите Visual Studio Code в Windows (не в файловой системе WSL).Install Visual Studio Code on Windows (not in your WSL file system).

  • При появлении запроса на Выбор дополнительных задач во время установки обязательно установите флажок Добавить в путь , чтобы можно было легко открыть папку в WSL с помощью команды Code.When prompted to Select Additional Tasks during installation, be sure to check the Add to PATH option so you can easily open a folder in WSL using the code command.

  • Установите Пакет расширений для удаленной разработки.Install the Remote Development extension pack. Этот пакет расширений включает расширение Remote-WSL в дополнение к расширениям Remote-SSH и Remote-Container, что позволяет открывать любую папку в контейнере, на удаленном компьютере или в WSL.This extension pack includes the Remote - WSL extension, in addition to the Remote - SSH, and Remote - Containers extensions, enabling you to open any folder in a container, on a remote machine, or in WSL.

Важно!

Чтобы установить расширение Remote-WSL, потребуется версия 1,35 или более поздняя VS Code.In order to install the Remote-WSL extension, you will need the 1.35 May release version or later of VS Code. Не рекомендуется использовать WSL в VS Code без расширения Remote-WSL, так как будет потеряна поддержка автоматического завершения, отладки, linting и т. д. Забавный факт. это расширение WSL устанавливается в $HOME/.вскоде/екстенсионс (введите команду ls $HOME\.vscode\extensions\ в PowerShell).We do not recommend using WSL in VS Code without the Remote-WSL extension as you will lose support for auto-complete, debugging, linting, etc. Fun fact: this WSL extension is installed in $HOME/.vscode/extensions (enter the command ls $HOME\.vscode\extensions\ in PowerShell).

Обновление дистрибутива LinuxUpdate your Linux distribution

В некоторых дистрибутивах WSL Linux отсутствуют библиотеки, необходимые для запуска сервера VS Code.Some WSL Linux distributions are lacking libraries that are required by the VS Code server to start up. Вы можете добавить дополнительные библиотеки в дистрибутив Linux с помощью диспетчера пакетов.You can add additional libraries into your Linux distribution by using its package manager.

Например, чтобы обновить Debian или Ubuntu, используйте:For example, to update Debian or Ubuntu, use:

sudo apt-get update

Чтобы добавить wget (для получения содержимого с веб-серверов) и CA-Certificates (чтобы разрешить приложениям на основе SSL проверять подлинность SSL-соединений), введите:To add wget (to retrieve content from web servers) and ca-certificates (to allow SSL-based applications to check for the authenticity of SSL connections), enter:

sudo apt-get install wget ca-certificates

Откройте проект WSL в Visual Studio CodeOpen a WSL project in Visual Studio Code

Из командной строкиFrom the command-line

Чтобы открыть проект из дистрибутива WSL, откройте командную строку распространения и введите: code .To open a project from your WSL distribution, open the distribution's command line and enter: code .

Из VS CodeFrom VS Code

Кроме того, можно получить доступ к дополнительным VS Code удаленным параметрам с помощью ярлыка: CTRL+SHIFT+P в VS Code, чтобы открыть палитру команд.You can also access more VS Code Remote options by using the shortcut: CTRL+SHIFT+P in VS Code to bring up the command palette. Если затем ввести, Remote-WSL вы увидите список доступных VS Code удаленных параметров, что позволит повторно открыть папку в удаленном сеансе, указать, какое распространение следует открыть в, и многое другое.If you then type Remote-WSL you will see a list of the VS Code Remote options available, allowing you to reopen the folder in a remote session, specify which distribution you want to open in, and more.

Расширения в VS Code RemoteExtensions inside of VS Code Remote

Расширение Remote-WSL разделяет VS Code в архитектуру "клиент-сервер" с помощью клиента (пользовательского интерфейса), работающего на компьютере Windows, и сервера (код, Git, подключаемые модули и т. д.), запускаемые удаленно.The Remote-WSL extension splits VS Code into a “client-server” architecture, with the client (the user interface) running on your Windows machine and the server (your code, Git, plugins, etc) running remotely.

При запуске VS Code удаленно на вкладке "расширения" отобразится список расширений, разделенных между локальным компьютером и дистрибутивом WSL.When running VS Code Remote, selecting the 'Extensions' tab will display a list of extensions split between your local machine and your WSL distribution.

Установка локального расширения, например темы, должна быть установлена только один раз.Installing a local extension, like a theme, only needs to be installed once.

Некоторые расширения, такие как расширение Python или все, что обрабатывает такие действия, как linting или Отладка, должны устанавливаться отдельно на каждом удаленном распределении WSL.Some extensions, like the Python extension or anything that handles things like linting or debugging, must be installed separately on each remote WSL distributions. VS Code отобразит значок предупреждения ⚠ , а также зеленую кнопку "установить в WSL", если установлено локальное расширение, которое не установлено на удаленном компьютере WSL.VS Code will display a warning icon ⚠, along with a green "Install in WSL" button, if you have an extension locally installed that is not installed on your WSL Remote.

Дополнительные сведения см. в VS Code документах:For further information, see the VS Code docs:

  • При запуске VS Code Remote в WSL сценарии запуска оболочки запускаться не будут.When VS Code Remote is started in WSL, no shell startup scripts are run. Дополнительные сведения о выполнении дополнительных команд или изменении среды см. в этой статье о сценариях расширенной настройки среды .See this advanced environment setup script article for more info on how to run additional commands or modify the environment.

  • Возникли проблемы при запуске VS Code из командной строки WSL?Having problems launching VS Code from your WSL command line? В этом руководство по устранению неполадок содержатся советы по изменению переменных пути, устранению ошибок расширения, связанных с отсутствием зависимостей, устранению проблем с завершением строк Git, установке локального VSIX на удаленном компьютере, запуску окна браузера, порту localhost для блокировки, веб-сокеты не работают, ошибки при хранении данных расширения и многое другое. This troubleshooting guide includes tips on changing path variables, resolving extension errors about missing dependencies, resolving Git line ending issues, installing a local VSIX on a remote machine, launching a browser window, blocker localhost port, web sockets not working, errors storing extension data, and more.

Установка Git (необязательно)Install Git (optional)

Если вы планируете работать совместно с другими пользователями или размещать проект на сайте с открытым исходным кодом (например, GitHub), примите во внимание, что VS Code поддерживает управление версиями с помощью Git.If you plan to collaborate with others, or host your project on an open-source site (like GitHub), VS Code supports version control with Git. Вкладка системы управления версиями в VS Code отслеживает все изменения и содержит общие команды Git (добавление, фиксация, принудительная отправка, извлечение) прямо в пользовательском интерфейсе.The Source Control tab in VS Code tracks all of your changes and has common Git commands (add, commit, push, pull) built right into the UI.

Сведения об установке Git см. в статье Настройка Git для работы с подсистемой Windows для Linux.To install Git, see set up Git to work with Windows Subsystem for Linux.

Установка Терминала Windows (необязательно)Install Windows Terminal (optional)

Новый терминал Windows включает несколько вкладок (для быстрого переключения между командной строкой, PowerShell или несколькими дистрибутивами Linux), настраиваемыми пользовательскими привязками клавиш (создайте собственные сочетания клавиш для открытия и закрытия вкладок, копирования и вставки и т. д.), эмодзи ☺ и пользовательские темы (цветовые схемы, стили и размеры шрифтов, фоновое изображение, размытие и прозрачность).The new Windows Terminal enables multiple tabs (quickly switch between Command Prompt, PowerShell, or multiple Linux distributions), custom key bindings (create your own shortcut keys for opening or closing tabs, copy+paste, etc. ), emojis ☺, and custom themes (color schemes, font styles and sizes, background image/blur/transparency). Дополнительные сведения см. в документации по терминалу Windows.Learn more in the Windows Terminal docs.

  1. Скачайте Терминал Windows из Microsoft Store: При установке через магазин обновления выполняются автоматически.Get Windows Terminal in the Microsoft Store: By installing via the store, updates are handled automatically.

  2. После установки откройте Терминал Windows и щелкните Параметры, чтобы настроить Терминал использовать файл profile.json.Once installed, open Windows Terminal and select Settings to customize your terminal using the profile.json file.

Дополнительные ресурсыAdditional Resources

К дополнительным рекомендуемым расширениям относятся следующие:A few additional extensions you may want to consider include:

  • Раскладки клавиатуры других редакторов — эти расширения позволят использовать необходимую раскладку при переходе в другой текстовый редактор (например, Atom, Sublime, Vim, eMacs, Notepad++ и т. п.).Keymaps from other editors: These extensions can help your environment feel right at home if you're transitioning from another text editor (like Atom, Sublime, Vim, eMacs, Notepad++, etc).
  • Расширение синхронизации параметров — позволяет синхронизировать параметры VS Code в разных установках, используя GitHub.Settings Sync: Enables you to synchronize your VS Code settings across different installations using GitHub. Если вы работаете на разных компьютерах, это обеспечит согласованность среды между ними.If you work on different machines, this helps keep your environment consistent across them.
  • Отладчик для Chrome: после завершения разработки на стороне сервера с Linux необходимо разработать и протестировать клиентскую часть.Debugger for Chrome: Once you finish developing on the server side with Linux, you'll need to develop and test the client side. Это расширение интегрирует редактор VS Code со службой отладки браузера Chrome, что увеличивает эффективность выполнения операций.This extension integrates your VS Code editor with your Chrome browser debugging service, making things a bit more efficient.

Программирование на C ++ с помощью Visual Studio Code

Поддержка

C / C ++ для Visual Studio Code обеспечивается расширением Microsoft C / C ++, позволяющим кроссплатформенную разработку на C и C ++ в Windows, Linux и macOS.

Установить расширение

  1. Открытый код VS.
  2. Щелкните значок представления расширений на панели действий или воспользуйтесь сочетанием клавиш (⇧⌘X (Windows, Linux Ctrl + Shift + X)).
  3. Найдите 'C ++' .
  4. Выберите Установить .

После установки расширения при открытии или создании файла * .cpp у вас будет выделение синтаксиса (раскрашивание), интеллектуальное завершение и наведение курсора (IntelliSense), а также проверка ошибок.

Установить компилятор

C ++ - это скомпилированный язык, что означает, что исходный код вашей программы должен быть переведен (скомпилирован) перед запуском на вашем компьютере. VS Code - это, прежде всего, редактор, который использует инструменты командной строки для выполнения большей части рабочего процесса разработки.Расширение C / C ++ не включает компилятор или отладчик C ++. Вам нужно будет установить эти инструменты или использовать те, которые уже установлены на вашем компьютере.

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

На некоторых платформах, например Linux или macOS, уже установлен компилятор C ++. В большинстве дистрибутивов Linux установлена ​​коллекция компиляторов GNU (GCC), а пользователи macOS могут получить инструменты Clang с XCode.

Проверьте, установлен ли у вас компилятор.

Убедитесь, что исполняемый файл компилятора находится в пути к вашей платформе (% PATH в Windows, $ PATH в Linux и macOS), чтобы расширение C / C ++ могло его найти. Вы можете проверить доступность ваших инструментов C ++, открыв интегрированный терминал (⌃` (Windows, Linux Ctrl + `)) в VS Code и попытавшись напрямую запустить компилятор.

Проверка компилятора GCC g ++ :

  g ++ - версия  

Проверка компилятора Clang clang :

  clang - версия  

Примечание : Если вы предпочитаете полную интегрированную среду разработки (IDE) со встроенными шаблонами компиляции, отладки и проекта («Файл»> «Новый проект»), существует множество доступных вариантов, например, версия Visual Studio Community.

Если у вас не установлен компилятор, в приведенном ниже примере мы описываем, как установить минималистичные инструменты GNU для Windows (MinGW) C ++ (компилятор и отладчик).MinGW - популярный бесплатный набор инструментов для Windows. Если вы используете VS Code на другой платформе, вы можете прочитать руководства по C ++, в которых рассматриваются конфигурации C ++ для Linux и macOS.

Пример: установка MinGW-x64

Мы установим Mingw-w64 через сайт SourceForge. Вы можете использовать эту ссылку Mingw-w64, чтобы загрузить установщик Windows Mingw-w64.

  1. Запустите программу установки, которая должна называться mingw-w64-install.exe в папке загрузки.

  2. Для архитектуры выберите x86_64 , а затем выберите Далее .

  3. На странице Папка установки используйте расположение по умолчанию для папки назначения . Скопируйте местоположение, так как оно вам понадобится позже.

  4. Выберите Далее , чтобы начать установку.

Добавьте компилятор MinGW в свой путь

Добавьте путь к папке Mingw-w64 bin в переменную среды Windows PATH , выполнив следующие действия:

  1. В строке поиска Windows введите «настройки», чтобы открыть настройки Windows.
  2. Найдите Измените переменные среды для своей учетной записи .
  3. Выберите переменную Path , а затем выберите Edit .
  4. Выберите New и добавьте путь к папке назначения Mingw-w64 с добавлением \ mingw64 \ bin к системному пути. Точный путь зависит от того, какую версию Mingw-w64 вы установили и где вы ее установили. Если вы использовали указанные выше настройки для установки Mingw-w64, добавьте это в путь: C: \ Program Files \ mingw-w64 \ x86_64-8.1.0-posix-seh-rt_v6-rev0 \ mingw64 \ bin .
  5. Выберите ОК , чтобы сохранить обновленную ПУТЬ. Вам нужно будет повторно открыть все окна консоли, чтобы новое местоположение PATH стало доступным.

Проверьте установку MinGW

Чтобы убедиться, что ваши инструменты Mingw-w64 правильно установлены и доступны, откройте новую командную строку и введите:

  g ++ --версия
gdb - версия  

Если вы не видите ожидаемого вывода или g ++ или gdb не распознанная команда, проверьте свою установку (Панель управления Windows > Программы > Программы и компоненты ) и убедитесь, что ваша запись PATH совпадает с двоичным расположением Mingw-w64, в котором расположены инструменты компилятора.

Привет, мир

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

Создайте папку с именем «HelloWorld» и откройте VS Code в этой папке (код . открывает VS Code в текущей папке):

  мкдир HelloWorld
компакт-диск HelloWorld
код.  

Теперь создайте новый файл с именем helloworld.cpp , нажав кнопку New File в проводнике или команду File > New File .

Добавить исходный код Hello World

Теперь вставьте этот исходный код:

  #include 

используя пространство имен std;

int main ()
{
    cout << "Hello World" << endl;
}  

Теперь нажмите ⌘S (Windows, Linux Ctrl + S), чтобы сохранить файл. Вы также можете включить автосохранение для автоматического сохранения изменений файла, установив флажок Автосохранение в главном меню Файл .

Сборка Hello World

Теперь, когда у нас есть простая программа на C ++, приступим к ее построению. Выберите команду Terminal > Run Build Task (⇧⌘B (Windows, Linux Ctrl + Shift + B)) в главном меню.

Появится раскрывающийся список с различными параметрами задачи компилятора. Если вы используете набор инструментов GCC, например MinGW, вы должны выбрать C / C ++: g ++. Exe build active file .

Это скомпилирует helloworld.cpp и создайте исполняемый файл с именем helloworld.exe , который появится в проводнике.

Запустите Hello World

Теперь из командной строки или нового интегрированного терминала VS Code вы можете запустить свою программу, набрав «. \ Helloworld».

Если все настроено правильно, вы должны увидеть вывод «Hello World».

Это очень простой пример, который поможет вам начать разработку на C ++ в VS Code.Следующий шаг - попробовать одно из руководств, перечисленных ниже, на вашей платформе (Windows, Linux или macOS) с предпочитаемым набором инструментов (GCC, Clang, Microsoft C ++) и узнать больше о языковых функциях расширения Microsoft C / C ++, таких как IntelliSense. , навигация по коду, конфигурация сборки и отладка.

Учебники

Начните работу с C ++ и VS Code с помощью руководств для вашей среды:

Документация

Дополнительную документацию по использованию расширения Microsoft C / C ++ можно найти в разделе C ++ на веб-сайте VS Code, где вы найдете темы по:

Удаленная разработка

VS Code и расширение C ++ поддерживают удаленную разработку, позволяя работать через SSH на удаленном компьютере или виртуальной машине, внутри контейнера Docker или в подсистеме Windows для Linux (WSL).

Для установки поддержки удаленной разработки:

  1. Установите пакет расширений удаленной разработки VS Code.
  2. Если удаленные исходные файлы размещены в WSL, используйте расширение Remote - WSL .
  3. Если вы подключаетесь к удаленному компьютеру с помощью SSH, используйте расширение Remote - SSH .
  4. Если удаленные исходные файлы размещены в контейнере (например, Docker), используйте расширение Remote - Containers .

Обратная связь

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

13.12.2020

Настроить код Visual Studio для компиляции и запуска C / C ++ | Луис Герреро

https://code.visualstudio.com/docs/languages/cpp

Некоторое время назад мой друг попросил меня порекомендовать ей IDE для компиляции и запуска кода C и C ++, потому что она устала от использования XCode, и я не виню ее, Xcode похож на убийство мухи из пушки, если вам нужно делать только простые вещи.

Как постоянный пользователь VSC, это было первое, что мне пришло в голову, но потом я вспомнил, что VSC - это не IDE как таковая, а редактор кода, который использует расширения, чтобы вести себя как IDE, я также вспомнил, что У меня было много времени без программирования на этих языках, и когда я это сделал, я использовал блокнот ++ и терминал.

Моя цель и тема этого поста - узнать, как настроить VSC для работы как C / C ++ IDE.

Заявление об отказе от ответственности: этот пост основан на macOS, но, поскольку VSC доступен в других ОС, не должно сильно отличаться от упомянутых здесь шагов.

Прежде всего, нам, конечно же, нужно скачать и установить Visual Studio Code.

Как я сказал в начале поста, VSC использует расширения, чтобы вести себя как IDE, поэтому следующим шагом будет установка расширений, которые помогут нам в нашей цели.

Первое полезное расширение, которое нам понадобится, называется C / C ++ , это расширение поможет нам с Intellisense, например, с автозавершением кода, информацией о параметрах, краткой информацией и т. Д. Мы можем установить его отсюда, нажав кнопку «Установить», оно откроет VSC и установит его автоматически.Или мы можем открыть VSC, перейти в Code> Preferences> Extensions (также используя сочетание клавиш shift + cmd + X), набрать C ++ и нажать install.

c / c ++

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

code runner

Это расширение выполняет команду терминала, используя компилятор, установленный на нашем компьютере, в случае macOS использует gcc, который уже установлен, но если у вас его нет, вам нужно будет установить команду Инструменты линии для Xcode.

После того, как мы установили эти два расширения, мы готовы попробовать. Напишем простой Hello World.

 #include  
с использованием пространства имен std;
int main ()
{
cout << "Привет, мир!";
возврат 0;
}

Для запуска этого кода у нас есть три варианта:

  • Использование cmd + alt + n .
  • Используя fn + F1 и введите код запуска.
  • Щелкните правой кнопкой мыши редактор и выберите «Выполнить код».
Меню Run Code

Любая из этих опций покажет результат на вкладке OUTPUT в нижней части VSC.

Вкладка ВЫВОД

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

Пока здесь все выглядит нормально, но поскольку вкладка OUTPUT предназначена только для чтения, мы не можем взаимодействовать с нашим кодом, если это необходимо. Для этого нам нужно указать расширению Code Runner запустить нашу программу на TERMINAL вместо вкладки OUTPUT , выполнив следующие шаги:

  • Перейдите в меню Code> Preferences> Settings .
  • На вкладке «Пользователь» на левой панели разверните раздел « Extensions ».
  • Найдите и выберите Конфигурация кода запуска .
  • Найдите и установите флажок Выполнить в Терминале .
Пользовательские настройки Запустить в Терминале

Теперь наша программа будет работать на вкладке ТЕРМИНАЛ , и мы сможем вводить данные, если нам нужно.

Вот и все, следуя этим шагам, вы сможете компилировать и запускать код на C / C ++ с помощью Visual Studio Code.

Настройка VSCode для запуска и отладки кода C / C ++

К концу этого краткого руководства вы сможете запускать, отлаживать и получать файлы IntelliSense для C / C ++ в VSCode. Хотя это руководство ориентировано на платформу Windows, но может быть распространено на Mac и Linux с некоторыми незначительными изменениями.

Я широко использовал C и C ++ в своем конкурентном программировании лет и хотел улучшить поддержку отладки и IntelliSense. Единственные доступные варианты были Dev-C ++ (устаревший) и исходный "Mammoth" Visual Studio.Недавно я нашел VSCode и влюбился в него (первой любовью был Atom). Я настроил его и настроил как полную IDE для небольших проектов C, C ++, особенно ориентированы на соревновательное программирование.

Создайте образец проекта C / C ++

  1. Откройте / создайте пустую папку в VSCode.
  2. Создайте внутри него файл new.cpp , как показано ниже:
  #include 
используя пространство имен std;
int main ()
{
 cout << "Hello World" << endl;
 
 
 возврат 0;
}
  
  1. Установите рекомендованное расширение C / C ++ в VSCode и перезагрузите.
Официальное расширение C / C ++ для VSCode

Установить компилятор C / C ++

Расширение C / C ++ не включает компилятор C ++. Итак, вам нужно будет установить один или использовать тот, который уже установлен на вашем компьютере.

Windows: Загрузите MinGW64.zip (последний выпуск) и распакуйте его на диск C.

Mac: XCode

Linux: GCC

Кроме того, не забудьте добавить PATH компилятора C ++ в переменную среды вашей платформы.Для Windows MinGW64 добавьте: C: \ MinGW64 \ bin

Запуск и отладка кода C / C ++

Вы заметите, что в вашем примере проекта есть папка .vscode . Чтобы настроить отладочную конфигурацию , необходимы 2 файла launch. json и tasks.json внутри папки .vscode .

VSCode может создавать и автоматически настраивать эти файлы, если мы пытаемся выполнить отладку в первый раз. Для этого откройте файл C ++ в VSCode и либо нажмите F5 , либо перейдите в Debug -> Start Debugging и выберите C ++ (GDB / LLDB) , затем выберите g ++.exe, сборка и отладка активного файла .

Выберите C ++ (GDB / LLDB) Выберите g ++. Exe build и отладите активный файл

Это должно создать 2 файла launch.json и tasks.json в папке .vscode , которая должна выглядеть, как показано ниже (обновите путь MinGW64 если неверно)

Обратите внимание, что я добавил еще одну необязательную конфигурацию g ++ build & run active file в launch.json и g ++ build & run в файле tasks.json с целью также Running Код C / C ++ без отладки .Теперь вы можете выбрать, какую конфигурацию выбрать при запуске отладки. Вы можете удалить конфигурацию, если она вам не понадобится.

Запуск и отладка или Код только запуска

launch.json

  {
  "версия": "0.2.0",
  "конфигурации": [
    {
      "name": "g ++. exe сборка и отладка активного файла",
      "тип": "cppdbg",
      "запрос": "запуск",
      "program": "$ {fileDirname} \\ $ {fileBasenameNoExtension} .exe",
      "аргументы": [],
      "stopAtEntry": ложь,
      "cwd": "$ {workspaceFolder}",
      "среда": [],
      "externalConsole": ложь,
      "MIMode": "gdb",
      "miDebuggerPath": "C: \\ MinGW64 \\ bin \\ gdb.EXE",
      "setupCommands": [
        {
          "description": "Включить красивую печать для gdb",
          "text": "-enable-pretty-Printing",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "g ++. exe build active file"
    },
    {
      "name": "g ++ построить и запустить активный файл",
      "тип": "cppdbg",
      "запрос": "запуск",
      "program": "$ {fileDirname} \\ $ {fileBasenameNoExtension} . exe",
      "аргументы": [],
      "stopAtEntry": ложь,
      "cwd": "$ {workspaceFolder}",
      "среда": [],
      "externalConsole": ложь,
      "MIMode": "gdb",
      "miDebuggerPath": "C: \\ MinGW64 \\ bin \\ gdb.EXE",
      "setupCommands": [
        {
          "description": "Включить красивую печать для gdb",
          "text": "-enable-pretty-Printing",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "g ++ построить и запустить активный файл"
    }
}
  

tasks.json

  {
  "задачи": [
    {
      "тип": "оболочка",
      "label": "g ++. exe build active file" ;,
      «команда»: «C: \\ MinGW64 \\ bin \\ g ++. exe» ;,
      "аргументы": [
        "-грамм",
        "$ {file}",
        "-о",
        "$ {fileDirname} \\ $ {fileBasenameNoExtension}.EXE"
      ] ;,
      "параметры": {
        "cwd": "C: \\ MinGW64 \\ bin"
      }
    },
    {
      "тип": "оболочка",
      "label": "g ++ построить и запустить активный файл",
      "команда": "C: \\ MinGW64 \\ bin \\ g ++. exe",
      "аргументы": [
        "$ {file}",
        "-о",
        "$ {fileDirname} \\ $ {fileBasenameNoExtension} .exe"
      ],
      "параметры": {
        "cwd": "C: \\ MinGW64 \\ bin"
      }
    }
  ],
  "версия":
}
  

externalConsole в launch.json может быть установлено значение true, чтобы вместо этого видеть вывод кода в cmd.

Перезапустите VSCode , чтобы применить новые добавленные пути компилятора.

Откройте любой файл C / C ++, установите несколько точек останова (или нет) и нажмите большую зеленую кнопку воспроизведения.

(Ярлык для отладки: F5)

Выберите сборку g ++. Exe и отладите активный файл

Совет : Чтобы скрыть файлы * .exe в боковом проводнике VSCode, откройте настройки и вставьте конфигурацию ниже:

  "files.exclude": {
 "* . exe": правда
 }
  

Спасибо за чтение.Хотелось бы услышать ваши мысли по этому поводу. Свяжитесь со мной в Twitter и LinkedIn.

Cpp - vscode

Поддержка

C / C ++ для Visual Studio Code обеспечивается расширением Microsoft C / C ++, позволяющим кроссплатформенную разработку на C и C ++ с использованием VS Code в Windows, Linux и macOS. Расширение все еще находится в стадии предварительного просмотра, и наше внимание уделяется поддержке редактирования кода, навигации и отладки для кода C и C ++ везде, где выполняется VS Code.

Если вам нужен легкий инструмент для редактирования файлов C ++, Visual Studio Code - отличный выбор, но если вы хотите получить наилучшие возможности для существующих проектов Visual C ++ или отладки в Windows, мы рекомендуем вам использовать такую ​​версию Visual Studio, как как сообщество Visual Studio.

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

Примечание для пользователей Linux : Расширение C / C ++ работает в 64-битных дистрибутивах Linux, на которых установлена ​​glibc 2.18 или новее.

Начало работы

Для установки расширения Microsoft C / C ++:

  • Откройте код VS.
  • Щелкните значок «Просмотр расширений» на боковой панели.
  • Найдите c ++ .
  • Щелкните Установить , затем щелкните Перезагрузить .

Установив расширение C / C ++, откройте папку, содержащую исходный код C / C ++. VS Code поместит различные файлы настроек в подпапку .vscode .

Примечание : Расширение C / C ++ не включает компилятор C ++ или отладчик. Вам нужно будет установить эти инструменты или использовать те, которые уже установлены на вашем компьютере.Популярные компиляторы C ++ - MinGW для Windows, XCode для macOS и GCC для Linux. Также убедитесь, что исполняемый файл вашего компилятора находится на пути к вашей платформе, чтобы VS Code мог его найти.

IntelliSense

Чтобы включить автозавершение кода и навигацию, вам необходимо создать файл c_cpp_properties.json :

  • Найдите любую зеленую волнистую линию в исходном файле (например, оператор #include) и установите курсор на строку.
  • Щелкните лампочку, которая появляется в левом желобе.
  • Щелкните Обновить параметр «browse.path» .

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

Ниже вы можете видеть, что путь включения MinGW C ++ был добавлен в обзор .путь для Windows:

  {
    "name": "Win32",
    "includePath": [
        "$ {workspaceRoot}"
    ],
    "определяет": [
        "_ОТЛАЖИВАТЬ",
        "UNICODE"
    ],
    "intelliSenseMode": "msvc-x64",
    "browse": {
        "дорожка": [
            "$ {workspaceRoot}",
            "C: \\ MinGW \\ lib \\ gcc \\ mingw32 \\ 6.3.0 \\ include \\ c ++"
        ],
        "limitSymbolsToIncludedHeaders": true,
        "databaseFilename": ""
    }
}
  

Примечание: Вы также можете сгенерировать или отредактировать c_cpp_properties.json с помощью команды C / Cpp: Edit Configurations из палитры команд ( kb (workbench.action.showCommands) ).

Создание вашего кода

Если вы хотите создать свое приложение из VS Code, вам нужно будет сгенерировать файл tasks.json :

  • Откройте палитру команд ( КБ (workbench.action.showCommands) ).
  • Выберите «Задачи : Настроить средство запуска задач », и вы увидите список шаблонов средства запуска задач.
  • Выберите Others , чтобы создать задачу, запускающую внешнюю команду.
  • Измените команду на выражение командной строки, которое вы используете для сборки приложения (например, g ++ ).
  • Добавьте необходимые аргументы (например, -g для сборки для отладки).
  • Вы также можете изменить taskName , чтобы оно было более информативным.

Теперь вы должны увидеть файл tasks.json в рабочей области .папка vscode , которая выглядит примерно так:

  {
    "версия": "2.0.0",
    "задачи": [
        {
            "taskName": "построить привет мир",
            "тип": "оболочка",
            "команда": "g ++",
            "аргументы": [
                "-g", "helloworld.cpp"
            ]
        }
    ]
}
  

Если вы хотите создать свое приложение с помощью задач : запустите задачу сборки ( кб (workbench.action.tasks.build) ), вы можете добавить ее в группу build .

  {
    "версия": "2.0.0",
    "задачи": [
        {
            "taskName": "построить привет мир",
            "тип": "оболочка",
            "команда": "g ++",
            "аргументы": [
                "-g", "helloworld.cpp"
            ],
            "группа": {
                "вид": "строить",
                "isDefault": true
            }
        }
    ]
}

  

Для получения дополнительной информации о задачах см. Интеграция с внешними инструментами через задачи.

Отладка вашего кода

Чтобы включить отладку, вам нужно будет сгенерировать запуск .json файл:

  • Перейдите в представление «Отладка», щелкнув значок «Отладка» на боковой панели.
  • В представлении Debug щелкните значок Configure .
  • Выберите C ++ (GDB / LLDB) (для использования GDB или LLDB) или C ++ (Windows) (для использования отладчика Windows Visual Studio) из раскрывающегося списка Select Environment . Это создает файл launch.json для редактирования с двумя конфигурациями:
  • C ++ Launch определяет свойства для запуска вашего приложения при запуске отладки.
  • C ++ Attach определяет свойства для присоединения к уже запущенному процессу.
  • Обновите свойство программы , указав путь к отлаживаемой программе.
  • Если вы хотите, чтобы ваше приложение собиралось при запуске отладки, добавьте свойство preLaunchTask с именем задачи сборки, которую вы создали в tasks.json («build hello world» в примере выше).

Ниже приведен пример использования отладчика MinGW GDB:

  {
    "версия": "0.2,0 ",
    "конфигурации": [
        {
            "name": "(gdb) Launch",
            "тип": "cppdbg",
            "запрос": "запуск",
            "program": "$ {workspaceRoot} /a.exe",
            "аргументы": [],
            "stopAtEntry": ложь,
            "cwd": "$ {workspaceRoot}",
            "среда": [],
            "externalConsole": правда,
            "MIMode": "gdb",
            "miDebuggerPath": "C: \\ mingw \\ bin \\ gdb.exe",
            "setupCommands": [
                {
                    "description": "Включить красивую печать для gdb",
                    "text": "-enable-pretty-Printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "построить привет, мир"
        }
    ]
}
  

Подробнее см. Настройка запуска.json для отладки C / C ++.

Если вы отлаживаете с помощью GDB в Windows, см. Отладка Windows с помощью GDB.

Код редактирования

Форматирование кода

Расширение C / C ++ для Visual Studio Code поддерживает форматирование исходного кода с использованием формата clang, который включен в расширение.

Вы можете отформатировать весь файл с помощью Format Document ( kb (editor.action.formatDocument) ) или только текущего выделения с помощью Format Selection ( kb (editor.action.formatSelection) ) в контекстном меню, вызываемом правой кнопкой мыши. Вы также можете настроить автоформатирование со следующими параметрами:

  • C_Cpp.clang_format_formatOnSave - для форматирования при сохранении файла.
  • editor.formatOnType - для форматирования по мере ввода (запускается по символу kbstyle (;) ).

По умолчанию для стиля clang-формата установлено значение «file», что означает поиск файла .clang-формата внутри вашей рабочей области.Если обнаружен файл .clang-format , форматирование применяется в соответствии с настройками, указанными в файле. Если в вашей рабочей области не найден файл .clang-format , вместо этого применяется форматирование на основе стиля по умолчанию, указанного в настройке C_Cpp.clang_format_fallbackStyle . В настоящее время стиль форматирования по умолчанию - «Visual Studio». Использование форматирования «Visual Studio» гарантирует, что форматирование исходного кода будет совместимо как в VS Code, так и в Visual Studio Community.

Стиль clang-формата "Visual Studio" еще не является официальным стилем clang-формата OOTB, но подразумевает следующие настройки clang-формата:

  UseTab: (Текущая настройка VS Code)
IndentWidth: (текущая настройка VS Code)
BreakBeforeBraces: AllMan
AllowShortIfStatementsOnASingleLine: false
IndentCaseLabels: false
ColumnLimit: 0
  

Если вы хотите использовать другую версию clang-format, отличную от той, которая поставляется с расширением, вы можете использовать C_Cpp. clang_format_path и установите его значение равным пути, где установлен двоичный файл формата clang.

Например, на платформе Windows:

  "C_Cpp.clang_format_path": "C: \\ Program Files (x86) \\ LLVM \\ bin \\ clang-format.exe"
  

Нечеткое автозаполнение

Нечеткое автозаполнение основано на усовершенствованном подходе парсера тегов. Хотя предложения не основаны на семантическом анализе вашего кода, эта функция обеспечивает более широкий выбор совпадений, чем однофайловая технология IntelliSense, предоставляемая сегодня.

В частности, возможности этой функции дают хорошие возможности для кода C.

Код навигации

Функции навигации по исходному коду, предоставляемые расширением C / C ++, являются мощными инструментами для понимания и обхода вашей кодовой базы. Эти функции поддерживаются тегами, хранящимися в автономной базе данных символьной информации. При установленном расширении C / C ++ эта база данных создается всякий раз, когда папка, содержащая файлы исходного кода C ++, загружается в VS Code.Индикатор платформы (Win32 на рисунке ниже) становится красным и появляется рядом со значком пламени, пока анализатор тегов генерирует эту информацию.

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

Указание дополнительных каталогов Include для лучшей поддержки символов

Для обеспечения наилучшего взаимодействия расширение C / C ++ для VS Code должно знать, где он может найти каждый файл заголовка, на который имеется ссылка в вашем коде.По умолчанию расширение ищет текущий исходный каталог, его подкаталоги и некоторые зависящие от платформы местоположения. Если указанный заголовочный файл не может быть найден, VS Code отображает зеленую волнистую линию под каждой директивой #include, которая ссылается на него.

Чтобы указать дополнительные каталоги include для поиска, наведите курсор на любую директиву #include, отображающую зеленую волнистую линию, а затем щелкните действие с лампочкой, когда оно появится. Откроется файл c_cpp_properties.json для редактирования; здесь вы можете указать дополнительные подключаемые каталоги для каждой конфигурации платформы индивидуально, добавив дополнительные каталоги в его свойство includePath.

Поиск символов

Вы можете искать символы в текущем файле или рабочем пространстве, чтобы быстрее перемещаться по коду.

Для поиска символа в текущем файле нажмите kb (workbench.action.gotoSymbol) , затем введите имя символа, который вы ищете.Появится список потенциальных совпадений, который будет фильтроваться по мере ввода. Выберите из списка совпадений, чтобы перейти к его местоположению.

Чтобы найти символ в текущей рабочей области, начните с нажатия kb (workbench.action.showAllSymbols) вместо этого, затем введите имя символа. Список возможных совпадений появится, как и раньше. Если вы выберете совпадение, которое было найдено в файле, который еще не открыт, файл будет открыт до перехода к местоположению совпадения.

Кроме того, вы можете искать символы, открывая эти команды через палитру команд , если хотите. Используйте Quick Open ( kb (workbench.action.quickOpen) ), затем введите команду «@» для поиска в текущем файле или команду «#» для поиска в текущей рабочей области. kb (workbench.action.gotoSymbol) и kb (workbench.action.showAllSymbols) - это просто ярлыки для команд «@» и «#» соответственно, поэтому все работает одинаково.

Подглядывание за разрешением

Вы можете быстро посмотреть, как был определен символ, с помощью функции Peek Definition. Эта функция отображает несколько строк кода рядом с определением внутри обзорного окна, чтобы вы могли смотреть, не уходя от вашего текущего местоположения.

Чтобы просмотреть определение символа, поместите курсор на символ в любом месте исходного кода, а затем нажмите kb (editor.action.previewDeclaration) . Кроме того, вы можете выбрать Peek Definition из контекстного меню (щелкните правой кнопкой мыши, затем выберите Peek Definition ).

В настоящее время расширение C / C ++ не анализирует код таким образом, чтобы помочь ему различать конкурирующие определения в зависимости от того, как используется символ. Эти конкурирующие определения возникают, когда символ определяет разные вещи в разных контекстах, например, с перегруженными функциями, классами и их конструкторами и в других ситуациях. Когда это происходит, каждое из конкурирующих определений перечисляется в правой части окна просмотра, а исходный код текущего выбора отображается слева.

В открытом окне просмотра вы просматриваете список конкурирующих определений, чтобы найти то, которое вас интересует. Если вы хотите перейти к местоположению одного из определений, просто дважды щелкните нужное определение, или двойным щелчком в любом месте исходного кода, отображаемого в левой части окна просмотра.

Перейти к определению

Вы также можете быстро перейти к определению символа с помощью функции «Перейти к определению».

Чтобы перейти к определению символа, поместите курсор на символ в любом месте кода, а затем нажмите kb (editor.action.goToDeclaration) . В качестве альтернативы вы можете выбрать Перейти к определению из контекстного меню (щелкните правой кнопкой мыши, затем выберите Перейти к определению ). Когда есть только одно определение символа, вы перейдете непосредственно к его местоположению, в противном случае конкурирующие определения отображаются в окне просмотра, как описано в предыдущем разделе, и вы должны выбрать определение, к которому хотите перейти.

Отладка

После того, как вы настроили основы вашей среды отладки, как указано в Приступая к работе, вы можете узнать больше об отладке C / C ++ в этом разделе.

VS Code поддерживает следующие отладчики для C / C ++ в зависимости от используемой операционной системы:

  • Linux : GDB
  • macOS : LLDB или GDB
  • Windows : отладчик Windows Visual Studio или GDB (с использованием Cygwin или MinGW)

Отладка Windows с помощью GDB

Вы можете отлаживать приложения Windows, созданные с помощью Cygwin или MinGW, с помощью VS Code. Чтобы использовать функции отладки Cygwin или MinGW, путь отладчика должен быть установлен вручную в конфигурации запуска ( launch.json ). Для отладки приложения Cygwin или MinGW добавьте свойство miDebuggerPath и установите его значение в расположение соответствующего gdb.exe для среды Cygwin или MinGW.

Например:

  "miDebuggerPath": "c: \\ mingw \\ bin \\ gdb.exe"
  
Отладка

Cygwin / MinGW в Windows поддерживает сценарии отладки как с подключением, так и с запуском.

Условные точки останова

Условные точки останова позволяют прервать выполнение определенной строки кода только в том случае, если значение условия истинно.Чтобы установить условную точку останова, щелкните правой кнопкой мыши существующую точку останова и выберите Изменить точку останова . Это открывает небольшое окно обзора, где вы можете ввести условие, которое должно оцениваться как истинное, чтобы точка останова была достигнута во время отладки.

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

Точки останова функции

Точки останова функции позволяют прервать выполнение в начале функции, а не в определенной строке кода.Чтобы установить точку останова функции, на панели Debug щелкните правой кнопкой мыши в разделе Breakpoints , затем выберите Add Function Breakpoint и введите имя функции, выполнение которой вы хотите прервать.

Оценка выражений

VS Code поддерживает оценку выражений в нескольких контекстах:

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

Обратите внимание, что выражения в разделе Watch действуют в отлаживаемом приложении; выражение, изменяющее значение переменной, будет изменять эту переменную на время выполнения программы.

Многопоточная отладка

Расширение C / C ++ для VS Code позволяет отлаживать многопоточные программы.Все потоки и их стеки вызовов появляются в разделе Call Stack :

Отладка дампа памяти

Расширение C / C ++ для VS Code также может выполнять отладку дампов памяти. Чтобы отладить дамп памяти, откройте файл launch.json и добавьте свойство coreDumpPath (для GDB или LLDB) или dumpPath (для отладчика Windows Visual Studio) в конфигурацию C ++ Launch , установите его значение быть строкой, содержащей путь к дампу памяти.Это будет работать даже для программ x86, отлаживаемых на машине x64.

Дополнительные символы

Если есть дополнительные каталоги, в которых отладчик может найти файлы символов (например, файлы .pdb для отладчика Windows Visual Studio), их можно указать, добавив additionalSOLibSearchPath (для GDB или LLDB) или symbolSearchPath (для отладчика Windows Visual Studio).

Например:

  "additionalSOLibSearchPath": "/ путь / к / символам; / другому / пути / к / символам"
  

или

  "symbolSearchPath": "C: \\ путь \\ к \\ символам; C: \\ другой \\ путь \\ к \\ символам"
  

Найти исходные файлы

Местоположение исходного файла может быть изменено, если исходные файлы не находятся в месте компиляции.Это делается с помощью простых пар замены, добавленных в раздел sourceFileMap . Будет использовано первое совпадение в этом списке.

Например:

  "sourceFileMap": {
    "/build/gcc-4.8-fNUjSI/gcc-4.8-4.8.4/build/i686-linux-gnu/libstdc++-v3/include/i686-linux-gnu": "/ usr / include / i686-linux-gnu /c++/4.8 ",
    "/build/gcc-4.8-fNUjSI/gcc-4.8-4.8.4/build/i686-linux-gnu/libstdc++-v3/include": "/usr/include/c++/4.8"
}
  

Команды GDB, LLDB и MI (GDB / LLDB)

Для среды отладки C ++ (GDB / LLDB) вы можете выполнять команды GDB, LLDB и MI непосредственно через консоль отладки с помощью команды -exec , но будьте осторожны, выполнение команд непосредственно в консоли отладки не проверено и в некоторых случаях может привести к сбою VS Code.

Другие функции отладки

  • Безусловные точки останова
  • Окно просмотра
  • Стек вызовов
  • Шаг

Для получения дополнительной информации об отладке с помощью VS Code см. Это введение в отладку в VS Code.

Известные ограничения

Символы и навигация по коду

Всего платформ:

  • Поскольку расширение не анализирует тела функций, Peek Definition и Go to Definition не работают для символов, определенных внутри тела функции.

Отладка

Windows:

  • GDB на Cygwin и MinGW не может прервать запущенный процесс. Чтобы установить точку останова, когда приложение запущено (не остановлено под отладчиком), или приостановить отлаживаемое приложение, нажмите kbstyle (Ctrl-C) в терминале приложения.
  • GDB на Cygwin не может открывать дампы ядра.

Linux:

  • GDB требуются повышенные разрешения для подключения к процессу. При использовании присоединения к процессу вам необходимо предоставить свой пароль до начала сеанса отладки.

macOS:

  • LLDB:
    • При отладке с помощью LLDB, если окно терминала закрывается в режиме прерывания, отладка не останавливается. Отладку можно остановить, нажав кнопку Stop .
    • Когда отладка остановлена, окно Терминала не закрывается.
  • GDB:
    • Для использования GDB в macOS необходимо выполнить дополнительные действия по установке вручную. См. Ручная установка GDB для OS X в README.
    • При присоединении к процессу с помощью GDB отлаживаемое приложение не может быть прервано. GDB будет связывать только точки останова, установленные, когда приложение не запущено (либо до присоединения к приложению, либо пока приложение находится в остановленном состоянии). Это связано с ошибкой в ​​GDB.
    • Дампы ядра не могут быть загружены при отладке с помощью GDB, поскольку GDB не поддерживает формат дампа ядра, используемый в macOS.
    • При подключении к процессу с помощью GDB команда break all завершит процесс.

Следующие шаги

Читайте дальше, чтобы узнать о:

  • Базовое редактирование - узнайте о мощном редакторе VS Code.
  • Навигация по коду - быстро перемещайтесь по исходному коду.
  • Задачи - используйте задачи для создания своего проекта и многое другое
  • Отладка - узнайте, как использовать отладчик с вашим проектом

Общие вопросы

В: Мой проект не загружается.

A: VS Code в настоящее время не поддерживает файлы проектов C ++, вместо этого он считает выбранный вами каталог рабочей областью вашего проекта.Файлы исходного кода внутри этого каталога и его подкаталогов являются частью рабочей области.

Q: Как мне собрать / запустить мой проект?

A: VS Code поддерживает задачи, которые можно настроить для создания приложения, и изначально понимает выходные данные MSBuild, CSC и XBuild. Для получения дополнительной информации см. Документацию по Задачам.

Если у вас есть другие вопросы или вы столкнетесь с какими-либо проблемами, напишите о проблеме на GitHub.

Настроить код VS для Clang / LLVM на macOS

В этом руководстве вы настраиваете Visual Studio Code в macOS для использования компилятора и отладчика Clang / LLVM.

После настройки VS Code вы скомпилируете и отладите простую программу на C ++ в VS Code. В этом руководстве не рассказывается о Clang или языке C ++. По этим предметам в Интернете доступно множество хороших ресурсов.

Если у вас возникли проблемы, не стесняйтесь сообщать о проблеме для этого руководства в репозиторий документации VS Code.

Предварительные требования

Чтобы успешно пройти это руководство, вы должны сделать следующее:

  1. Установите код Visual Studio на macOS.

  2. Установите расширение C ++ для VS Code. Вы можете установить расширение C / C ++, выполнив поиск «c ++» в представлении «Расширения» (⇧⌘X (Windows, Linux Ctrl + Shift + X)).

Убедитесь, что Clang установлен

Clang может быть уже установлен на вашем Mac. Чтобы убедиться, что это так, откройте окно терминала macOS и введите следующую команду:

  clang - версия  
  1. Если Clang не установлен, введите следующую команду для установки инструментов разработчика командной строки:
  xcode-select - установить  

Создать Hello World

В терминале macOS создайте пустую папку с именем projects , в которой вы можете хранить все свои проекты VS Code, затем создайте подпапку с именем helloworld , перейдите в нее и откройте VS Code в этой папке, введя следующие команды:

  мкдир проектов
CD проекты
mkdir helloworld
cd helloworld
код. 

Код . Команда открывает VS Code в текущей рабочей папке, которая становится вашей «рабочей областью». По мере прохождения обучения вы создадите три файла в папке .vscode в рабочей области:

  • tasks.json (настройки сборки компилятора)
  • launch.json (настройки отладчика)
  • c_cpp_properties.json (путь к компилятору и настройки IntelliSense)

Добавить файл исходного кода hello world

В строке заголовка проводника выберите Новый файл и назовите файл helloworld.cpp .

Вставьте следующий исходный код:

  #include 
#include <вектор>
#include <строка>

используя пространство имен std;

int main ()
{
    vector  msg {"Hello", "C ++", "World", "from", "VS Code", "и расширение C ++!"};

    for (константная строка и слово: сообщение)
    {
        cout << word << "";
    }
    cout << endl;
}  

Теперь нажмите ⌘S (Windows, Linux Ctrl + S), чтобы сохранить файл.Обратите внимание, что ваши файлы перечислены в представлении проводника (⇧⌘E (Windows, Linux Ctrl + Shift + E)) на боковой панели VS Code:

Вы также можете включить автосохранение для автоматического сохранения изменений файла, установив флажок Автосохранение в главном меню Файл .

Панель активности на краю Visual Studio Code позволяет открывать различные представления, такие как Search , Source Control и Run . Вы увидите представление Run позже в этом руководстве.Вы можете узнать больше о других представлениях в документации по пользовательскому интерфейсу VS Code.

Примечание : при сохранении или открытии файла C ++ вы можете увидеть уведомление от расширения C / C ++ о доступности инсайдерской версии, которое позволяет вам тестировать новые функции и исправления. Вы можете проигнорировать это уведомление, выбрав X ( Очистить уведомление ).

Изучите IntelliSense

В helloworld.cpp , наведите указатель мыши на вектор или на строку , чтобы увидеть информацию о типе. После объявления переменной msg начните вводить msg. , как при вызове функции-члена. Вы должны сразу увидеть список завершения, который показывает все функции-члены, и окно, которое показывает информацию о типе для объекта msg :

Вы можете нажать клавишу TAB, чтобы вставить выбранный элемент. Затем, когда вы добавите открывающую скобку, вы увидите информацию об аргументах, которые требуются функции.

Сборка helloworld.cpp

Затем вы создадите файл tasks.json , чтобы сообщить VS Code, как построить (скомпилировать) программу. Эта задача вызовет компилятор Clang C ++ для создания исполняемого файла из исходного кода.

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

В главном меню выберите Терминал > Настроить задачу сборки по умолчанию .Появится раскрывающийся список со списком различных предопределенных задач сборки для компиляторов, которые VS Code нашел на вашем компьютере. Выберите C / C ++ clang ++ build active file , чтобы создать файл, который в данный момент отображается (активен) в редакторе.

Это создаст файл tasks.json в папке .vscode и откроет его в редакторе.

Замените содержимое этого файла следующим:

  {
  // Смотрите https: // go.microsoft.com/fwlink/?LinkId=733558
  // для документации по формату tasks.json
  "версия": "2.0.0",
  "задачи": [
    {
      "тип": "оболочка",
      "label": "clang ++ построить активный файл",
      "команда": "/ usr / bin / clang ++",
      "аргументы": [
        "-std = c ++ 17",
        "-stdlib = libc ++",
        "-грамм",
        "$ {file}",
        "-о",
        "$ {fileDirname} / $ {fileBasenameNoExtension}"
      ],
      "параметры": {
        "cwd": "$ {workspaceFolder}"
      },
      "проблемаМэтчер": ["$ gcc"],
      "группа": {
        "вид": "строить",
        "isDefault": true
      }
    }
  ]
}  

Приведенный выше JSON отличается от шаблона JSON по умолчанию следующим образом:

  • "args" обновлен для компиляции с C ++ 17, потому что наш helloworld.cpp использует возможности языка C ++ 17.
  • Изменяет директиву текущего рабочего каталога ( "cwd" ) на папку, в которой находится helloworld.cpp .

Команда Параметр указывает программу для запуска. В этом случае "clang ++" - это драйвер, который заставляет компилятор Clang ожидать код C ++ и связываться со стандартной библиотекой C ++.

Массив args определяет аргументы командной строки, которые будут переданы clang ++.Эти аргументы должны быть указаны в порядке, ожидаемом компилятором.

Эта задача указывает компилятору C ++ скомпилировать активный файл ( $ {file} ) и создать выходной файл (ключ -o ) в текущем каталоге ( $ {fileDirname} ) с тем же именем, что и активный файл ( $ {fileBasenameNoExtension} ), в результате получается helloworld для нашего примера.

Ярлык Значение - это то, что вы увидите в списке задач.Назовите это как хотите.

Значение problemMatcher выбирает выходной синтаксический анализатор, который будет использоваться для поиска ошибок и предупреждений в выходных данных компилятора. Для clang ++ вы получите наилучшие результаты, если используете средство сопоставления задач $ gcc .

Значение "isDefault": true в объекте группы указывает, что эта задача будет запущена при нажатии ⇧⌘B (Windows, Linux Ctrl + Shift + B). Это свойство предназначено только для удобства; если вы установите для него значение false , вы все равно можете выполнить сборку из меню терминала с помощью Terminal> Run Build Task .

Примечание : Вы можете узнать больше о переменных tasks.json в справочнике по переменным.

Запуск сборки

  1. Вернуться на helloworld.cpp . Поскольку мы хотим собрать helloworld.cpp , важно, чтобы этот файл был активным в редакторе на следующем шаге.

  2. Чтобы запустить задачу сборки, которую вы определили в tasks.json, нажмите ⇧⌘B (Windows, Linux Ctrl + Shift + B) или в главном меню Terminal выберите Run Build Task .

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

  4. Создайте новый терминал с помощью кнопки + , и у вас будет новый терминал с папкой helloworld в качестве рабочего каталога.Запустите ls , и теперь вы должны увидеть исполняемый файл helloworld вместе с файлом отладки ( helloworld.dSYM ).

  5. Вы можете запустить helloworld в терминале, набрав ./helloworld .

Изменение tasks.json

Вы можете изменить свой tasks.json для создания нескольких файлов C ++, используя аргумент типа "$ {workspaceFolder} / *.cpp " вместо $ {file} . Это создаст все файлы .cpp в вашей текущей папке. Вы также можете изменить имя выходного файла, заменив " $ {fileDirname} / $ {fileBasenameNoExtension} " на жестко заданное имя файла (например, "$ {workspaceFolder} /myProgram.out" ).

Отладка helloworld.cpp

Затем вы создадите файл launch.json для настройки VS Code для запуска отладчика LLDB при нажатии клавиши F5 для отладки программы.

В главном меню выберите Выполнить > Добавить конфигурацию ... , а затем выберите C ++ (GDB / LLDB) .

Затем вы увидите раскрывающийся список для предопределенных конфигураций отладки. Выберите сборку clang ++ и отладьте активный файл .

VS Code создает файл launch.json , открывает его в редакторе, создает и запускает helloworld. Ваш файл launch.json будет выглядеть примерно так:

  {
  // Используйте IntelliSense, чтобы узнать о возможных атрибутах.// Наведите указатель мыши, чтобы просмотреть описания существующих атрибутов.
  // Для получения дополнительной информации посетите: https://go.microsoft.com/fwlink/?linkid=830387
  "версия": "0.2.0",
  "конфигурации": [
    {
      "name": "clang ++ - Создать и отладить активный файл",
      "тип": "cppdbg",
      "запрос": "запуск",
      "program": "$ {fileDirname} / $ {fileBasenameNoExtension}",
      "аргументы": [],
      "stopAtEntry": правда,
      "cwd": "$ {workspaceFolder}",
      "среда": [],
      "externalConsole": ложь,
      "MIMode": "lldb",
      "preLaunchTask": "clang ++ построить активный файл"
    }
  ]
}  

Программа Настройка указывает программу, которую нужно отлаживать.Здесь это активная файловая папка $ {fileDirname} и активное имя файла $ {fileBasenameNoExtension} , то есть, если helloworld.cpp является активным файлом, будет helloworld .

По умолчанию расширение C ++ не будет добавлять точки останова в исходный код, а для значения stopAtEntry установлено значение false .

Измените значение stopAtEntry на true , чтобы отладчик останавливался на основном методе при запуске отладки.

Убедитесь, что значение preLaunchTask соответствует метке задачи сборки в файле tasks.json .

Начать сеанс отладки

  1. Вернитесь к helloworld.cpp , чтобы он стал активным файлом в редакторе. Это важно, потому что VS Code использует активный файл для определения того, что вы хотите отлаживать.
  2. Нажмите F5 или в главном меню выберите Выполнить> Начать отладку . Прежде чем приступить к пошаговому рассмотрению исходного кода, давайте заметим несколько изменений в пользовательском интерфейсе:
  • Интегрированный терминал появляется в нижней части редактора исходного кода.На вкладке Debug Output вы видите выходные данные, указывающие, что отладчик запущен и работает.

  • Редактор выделяет первый оператор в методе main . Это точка останова, которую расширение C ++ автоматически устанавливает для вас:

  • В представлении «Выполнить» слева отображается отладочная информация. Вы увидите пример позже в руководстве.

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

Введите код

Теперь вы готовы приступить к пошаговому выполнению кода.

  1. Щелкните или нажмите значок Step over на панели управления отладкой, чтобы выделить оператор for (const string & word: msg) .

    Команда Step Over пропускает все внутренние вызовы функций в классах vector и string , которые вызываются при создании и инициализации переменной msg .Обратите внимание на изменение в окне Variables . Содержимое сообщения msg видно, потому что этот оператор завершен.

  2. Нажмите Перейдите по еще раз, чтобы перейти к следующему оператору (пропуская весь внутренний код, который выполняется для инициализации цикла). Теперь в окне Variables отображается информация о переменной цикла.

  3. Нажмите Перейдите по еще раз, чтобы выполнить оператор cout . Примечание Начиная с версии расширения от марта 2019 года, выходные данные не будут отображаться в КОНСОЛИ ОТЛАДКИ до завершения последнего cout .

Установить часы

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

  1. Поместите точку вставки внутрь петли. В окне Watch щелкните знак «плюс» и в текстовом поле введите слово , которое является именем переменной цикла.Теперь просмотрите окно Watch по мере прохождения цикла.

  2. Чтобы быстро просмотреть значение любой переменной во время приостановки выполнения, вы можете навести на нее указатель мыши.

Конфигурация C / C ++

Для большего контроля над расширением C / C ++ создайте файл c_cpp_properties.json , который позволяет изменять такие параметры, как путь к компилятору, включая пути, для которых стандарт C ++ компилируется (например, C ++ 17 ), и больше.

Просмотрите пользовательский интерфейс конфигурации C / C ++, выполнив команду C / C ++: Edit Configurations (UI) из палитры команд (⇧⌘P (Windows, Linux Ctrl + Shift + P)).

Откроется страница конфигураций C / C ++ .

Visual Studio Code помещает эти параметры в .vscode / c_cpp_properties.json . Если вы откроете этот файл напрямую, он должен выглядеть примерно так:

  {
  "конфигурации": [
    {
      "name": "Mac",
      "includePath": ["$ {workspaceFolder} / **"],
      "определяет": [],
      "macFrameworkPath": [
        "/ Библиотека / Разработчик / CommandLineTools / SDK / MacOSX.SDK / Система / Библиотека / Фреймворки "
      ],
      "compilerPath": "/ usr / bin / clang",
      "cStandard": "c11",
      "cppStandard": "c ++ 17",
      "intelliSenseMode": "clang-x64"
    }
  ],
  «версия»: 4
}  

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

Путь к компилятору

compilerPath - важный параметр конфигурации.Расширение использует его для определения пути к файлам заголовков стандартной библиотеки C ++. Когда расширение знает, где найти эти файлы, оно может предоставить полезные функции, такие как интеллектуальное завершение и навигация Go to Definition .

Расширение C / C ++ пытается заполнить compilerPath местоположением компилятора по умолчанию в зависимости от того, что оно находит в вашей системе. Порядок поиска compilerPath :

  • Ваш ПУТЬ для имен известных компиляторов.Порядок, в котором компиляторы появляются в списке, зависит от вашего PATH.
  • Затем ищутся жестко заданные пути XCode, например /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/

Путь к платформе Mac

На экране «Конфигурация C / C ++» прокрутите вниз и разверните Advanced Settings и убедитесь, что Mac framework path указывает на файлы заголовков системы. Например: / Библиотека / Разработчик / CommandLineTools / SDK / MacOSX.SDK / Система / Библиотека / Фреймворки

Повторное использование конфигурации C ++

VS Code теперь настроен на использование Clang в macOS. Конфигурация применяется к текущему рабочему пространству. Чтобы повторно использовать конфигурацию, просто скопируйте файлы JSON в папку .vscode в новой папке проекта (рабочей области) и при необходимости измените имена исходного файла (ов) и исполняемого файла.

Поиск и устранение неисправностей

Ошибки компилятора и компоновки

Наиболее частая причина ошибок (например, undefined _main или попытка связи с файлом, созданным для неизвестного неподдерживаемого формата файла и т. Д.) Возникает, когда helloworld.cpp не является активным файлом при запуске сборки или отладки. Это связано с тем, что компилятор пытается скомпилировать что-то, что не является исходным кодом, например файл launch.json , tasks.json или c_cpp_properties.json .

Если вы видите ошибки сборки с упоминанием «Расширения C ++ 11», возможно, вы не обновили задачу сборки tasks.json для использования аргумента clang ++ --std = c ++ 17 . По умолчанию clang ++ использует стандарт C ++ 98, который не поддерживает инициализацию, используемую в helloworld.cpp . Обязательно замените все содержимое файла tasks.json на блок кода, указанный в разделе Build helloworld.cpp.

Терминал не запускается Для ввода

В macOS Catalina и более поздних версиях у вас может возникнуть проблема, когда вы не можете ввести ввод даже после установки «externalConsole»: true . Открывается окно терминала, но на самом деле оно не позволяет вводить какие-либо данные.

Проблема отслеживается # 5079.

Обходной путь заключается в том, чтобы VS Code запускал терминал один раз.Вы можете сделать это, добавив и запустив эту задачу в своем tasks.json :

  {
  "label": "Открыть терминал",
  "тип": "оболочка",
  "command": "osascript -e 'tell application \" Terminal \ "\ ndo script \" echo hello \ "\ nend tell'",
  "проблемаМатчер": []
}  

Вы можете запустить эту конкретную задачу, используя Terminal > Run Task ... и выберите Open Terminal .

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

Следующие шаги

18.03.2020

Как настроить VSCode с C, C ++ и Python для соревновательного программирования

VSCode - это текстовый редактор, который обеспечивает поддержку операций разработки и систем контроля версий. Он предоставляет пользователю инструменты для создания беспроблемных кодов. VSCode можно загрузить и установить с сайта visualstudio.com

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

Если вы решали проблемы на таких платформах, как GeeksforGeeks, CodeChef и многих других, вы, вероятно, используете онлайн-компилятор для решения проблем. В этом случае копирование, изменение и запуск тестовых примеров становится трудоемким. Вам нужно переключать вкладки, чтобы копировать и вставлять тестовые примеры и изменять их. Решать проблемы уже сложно.

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


Программирование в собственной среде IDE имеет свои замечательные функции, такие как IntelliSense: завершение кода, информация о параметрах, краткая информация и списки участников. Плюс нет латентности.

Кодируйте как опытные программисты с помощью этого руководства.

Настройка
VSCode

Загрузите VSCode с официального сайта и установите его.

Для программирования CPP:

1.Установите Mingw-w64 через сайт SourceForge. Щелкните Mingw-w64, чтобы загрузить установщик Windows Mingw-w64.

2. Запустите установщик.

3. В разделе «Архитектура» выберите x86_64, а затем нажмите «Далее».

4. Добавьте путь к папке bin Mingw-w64 в переменную среды Windows PATH, выполнив следующие действия:


5 Проверьте установку, выполнив эту команду в командной строке.

a) g ++ –version

b) gdb –version

Добавить расширения

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

  • Competitive Companion : расширение браузера для анализа проблем программирования с веб-страниц и их сохранения. Доступно как для Chrome, так и для Firefox.
  • Помощник по соревновательному программированию : Расширение для VSCode, которое творит чудеса запуска тестовых случаев из файлов. Измените или добавьте тестовые примеры вручную.
  • C / C ++ для Visual Studio Code : это вспомогательное расширение. Требуется для IntelliSense, отладки и просмотра кода.
  • Python для Visual Studio Code : анализ, отладка (многопоточная, удаленная), Intellisense, форматирование кода, фрагменты и многое другое.
  • Code Runner : (Необязательно) Запустите фрагмент кода или файл кода для нескольких языков без выполнения команд.

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

Шаблоны

Скорость - важный фактор в конкурентном программировании. Выведите решение проблем на новый уровень, создав свои собственные шаблоны. Фрагменты кода - отличный инструмент для более быстрого написания программ. Вы можете очень легко загрузить Snippet Generator .

Чтобы создать или изменить свои собственные фрагменты, выберите «Пользовательские фрагменты» в разделе «Файл »> «Настройки » (ctrl + shift + p), а затем выберите язык. Используйте этот замечательный сайт, чтобы превратить ваш фрагмент кода в сниппет. Вставьте фрагмент в фигурные скобки в файл конфигурации JSON и сохраните его. Разделяйте разные фрагменты запятыми. Создайте свои крутые сниппеты для разных алгоритмов или сделайте один большой шаблон.

Чтобы использовать фрагменты, вам просто нужно набрать триггер табуляции и нажать табуляцию.

Настройка отладчика

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

Python поставляется со своим отладчиком, а GCC имеет gdb. Перейдите на вкладку отладчика слева и нажмите Run и Debug . Убедитесь, что у вас открыт файл для отладки.

Отладка скрипта Python

Если вы отлаживаете Python, вам должно быть предложено подобное. Выберите файл python

Это создаст файл launch.json в каталоге .vscode. Это выглядит так. Редактировать этот файл не нужно, достаточно начать отладку. Узнайте больше о редактировании конфигураций здесь.

Отладка сценариев C / C ++

Перед отладкой необходимо добавить задачу сборки. В главном меню выберите Terminal> Configure Default Build Task .Появится раскрывающийся список с различными предопределенными задачами сборки для компиляторов C ++. Выберите C / C ++: g ++ построить активный файл.

Будет создан файл tasks.json, сохраните его. Вам может быть предложено сначала выбрать среду. Выберите C ++ (GDB / LLDB). После этого выберите конфигурацию отладки .

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

Теперь вы можете отлаживать свои программы на C и C ++.

Примечание: Вам нужно будет создать эти конфигурации, если вы работаете в другом каталоге. Создание этих файлов не займет много времени, но вы также можете скопировать их в другие каталоги.

Предоставление ввода во время отладки

Внутренняя консоль отладки будет запрашивать ввод при наличии любого оператора ввода. Есть более разумный способ сделать это. Создайте файл с именем input.txt в текущем каталоге. Вставьте ввод в файл.В файле launch.json измените ключ args на значение ниже:

 "args": ["<", "input.txt"] 

К сожалению, это не работает для Python. Для python измените ключ консоли на

 «console»: «externalTerminal» 

Он открывает внешний терминал, который можно использовать для вставки ввода. Это можно сделать для C / C ++, установив для externalconsole значение true

 "externalConsole": true 

Visual Studio Code C ++ Extension: Cross-Compilation IntelliSense Configurations

Julia

Обновление Visual Studio Code C ++ за февраль 2021 г. расширение уже доступно! Этот последний выпуск обеспечивает поддержку конфигураций IntelliSense для кросс-компиляции и более 60 исправлений ошибок! Чтобы узнать больше обо всех улучшениях, ознакомьтесь с нашими примечаниями к выпуску на GitHub.

Кросс-компиляция Конфигурации IntelliSense

В этом последнем выпуске вы можете настроить расширение для обеспечения надлежащего IntelliSense при компиляции для другой платформы , отличной от вашей ОС хоста. Правильно - платформа , а не только архитектура. Расширение C ++ больше не жестко определяет систему, основанную на вашей операционной системе; он будет использовать системные определения, возвращенные вашим компилятором.

Допустим, вы разрабатываете на macOS и ваш проект нацелен на Linux.Предполагая, что у вас есть компилятор, совместимый с целевой платформой и архитектурой вашего проекта, расширение C ++ будет запрашивать этот компилятор с использованием параметров Compiler path , Compiler arguments, и IntelliSense mode настроек в вашей конфигурации IntelliSense. Если вы используете собственный поставщик конфигурации (например, CMake Tools) или compile_commands.json, вам не нужно беспокоиться об обновлении конфигурации IntelliSense расширения C ++; все должно просто работать.

Конфигурации IntelliSense вашего проекта хранятся в файле c_cpp_properties.json в папке .vscode. Отредактируйте эти параметры, выбрав C / C ++: Edit Configurations (UI) на палитре команд.

В настройках Compiler path настройки , введите путь к компилятору, совместимому с вашей целевой платформой и архитектурой.

Затем используйте аргументы компилятора , чтобы предоставить целевой триплет, который вы используете при кросс-компиляции кода с вашим компилятором.Например, –target = x86_64-linux , если вы ориентируетесь на 64-разрядную версию Linux. Это позволяет расширению C ++ запрашивать у компилятора системные определения и включать пути, специфичные для вашей целевой платформы и архитектуры.

Затем установите IntelliSense mode в зависимости от платформы и архитектуры используемого вами компилятора (он должен точно соответствовать целевому триплету, определенному в Compiler arguments ). Если информация, полученная при запросе компилятора, не соответствует выбранному вами режиму IntelliSense , расширение C ++ автоматически исправит режим IntelliSense за вас.

Теперь, когда вы открываете свой проект в VS Code, вы получаете IntelliSense для целевой платформы вместо macOS. Больше никаких закорючек из жестко запрограммированных определений системы!

Дополнительные улучшения

Помимо поддержки конфигураций IntelliSense для кросс-компиляции, обновление за февраль 2021 года содержит следующие улучшения:

  • clang-format обновлен до версии 11. # 6326
  • Теперь мы поставляем родной ARM64 clang -форматировать двоичный файл с расширением для устройств ARM64 Windows (# 6494).
  • Мы добавили команду для генерации содержимого EditorConfig из параметров форматирования кода (vcFormat) # 6018
  • Мы поддерживаем новое свойство конфигурации запуска «консоли» для cppvsdbg (заменяющее устаревшее свойство «externalConsole»). PR # 6794

Исправления ошибок

Обновление расширения C ++ за февраль 2021 года содержит более 60 исправлений ошибок! Назовем несколько:

  • Исправить сбой формата clang из-за отсутствия libtinfo5 в Linux ARM / ARM64. # 6774
  • Исправлена ​​обработка –sysrootand -isysroot с помощью compileCommands.# 1575
  • Исправлена ​​ошибка, из-за которой IntelliSense не обновлялся при изменении неоткрытого заголовка. # 1780
  • Исправлено переключение заголовка / источника, не переключающегося на существующий файл в другом столбце, если он не отображается.
Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *