- Сначала простая правда про C++
- Что именно нужно установить
- Установка Visual Studio Code
- Какие плагины поставить для C++
- Как установить GCC и GDB под Windows
- Первичная проверка без VS Code
- Настройка VS Code для компиляции и запуска C++
- tasks.json для сборки
- launch.json для отладки через GDB
- settings.json для ассоциаций
- c_cpp_properties.json для IntelliSense
- Проверка. Что должно заработать
- Быстрый запуск для спортивного программирования
- Как настроить C/C++ в VS Code на разных ОС
- Visual Studio Code vs Visual Studio для C++
- Если нет опыта. С чего начать
- Где здесь Visual и Code и C++
- Короткий итог
Если вы искали фразу «как настроить Visual Studio Code для C», значит уже знакомо ощущение: код пишется, но сборка и запуск будто живут отдельно от редактора. Ниже разберём настройку так, чтобы в Visual Studio Code работали и компиляция, и запуск, и отладка C++.
Сначала простая правда про C++
Представьте конвейер:
1) Компилятор превращает C++-код в программу
2) Отладчик (например, GDB) помогает понять, где ошибка
3) VS Code — это “управляющий пульт”: он вызывает компилятор и отладчик, показывает подсказки и запускает вашу программу
Поэтому ключевой момент такой: без компилятора Visual Studio Code — это в лучшем случае “удобный блокнот”, а не полноценная среда разработки.
Что именно нужно установить
Минимальный набор
- Visual Studio Code
- Расширение C/C++ (от Microsoft)
- Компилятор GCC под Windows (или Clang/MSVC, но здесь будет пример с GCC)
- GDB для отладки (вместе с GCC обычно ставится отдельно)
С точки зрения Microsoft это всё относится к поддержке C/C++ в среде редактора: нужны инструменты и правильные настройки.
Установка Visual Studio Code
- Скачайте и установите Visual Studio Code.
- Откройте папку проекта (важно: настройки обычно живут рядом с проектом).
Дальше всё будет происходить в папке проекта через .vscode.
Какие плагины поставить для C++
В VS Code откройте панель расширений (Ctrl + Shift + X) и поставьте:
- C/C++ от Microsoft
Это основное расширение для cpp-разработки: IntelliSense, подсветка, конфигурации отладчика. - (опционально) дополнительные расширения, но для базовой задачи достаточно Microsoft-пакета.
В некоторых руководствах дополнительно встречается Code Runner (удобно запускать код “быстро”), но для “нормальной” C++ разработки важнее задачи/отладка.
Как установить GCC и GDB под Windows
Самый практичный путь для новичка — использовать msys2, потому что он даёт привычную среду для компиляции на Windows.
Шаг 1. Установите msys2
Например, установите в C:\Programs\msys64. Обычно при установке добавляют в PATH путь к mingw64\bin.
Проверьте в обычной консоли:
- команда path должна показывать нужный путь (это помогает понять, что инструменты “видны”).
Шаг 2. В msys2 поставьте компилятор и отладчик
В окне msys2 выполните:
pacman -Syuu
pacman -S mingw-w64-x86_64-gcc
pacman -S mingw-w64-x86_64-gdb
Проверьте:
g++ --version
gdb --version
Если версия показывает номер — значит GCC и GDB доступны.
Почему это важно
Потому что VS Code должен знать куда обращаться: в g++.exe для сборки и в gdb.exe для отладки.
Первичная проверка без VS Code
Создайте папку проекта, например C:\Projects.
1) Создайте hello.cpp:
#include <iostream>
int main() {
std::cout << "Hello world!" << std::endl;
return 0;
}
2) Скомпилируйте из командной строки:
g++ hello.cpp -o hello.exe
3) Запустите hello.exe.
Если это работает — ваш GCC реально готов. Тогда можно настраивать Visual Studio Code.
Настройка VS Code для компиляции и запуска C++
Теперь цель: чтобы по одной команде собиралось и чтобы по F5 отлаживалось.
Важный принцип
Обычно в VS Code в проекте создаётся папка:
- .\vscode
В ней лежат:
- tasks.json — сборка
- launch.json — отладка
- settings.json — ассоциации/мелкие настройки
- c_cpp_properties.json — IntelliSense и путь к include
Ниже — рабочие шаблоны (под пример с msys2 в C:\Programs\msys64).
tasks.json для сборки
Идея: хотим сборку по Ctrl + Shift + B.
Создайте C:\Projects\<ваш_проект>\.vscode\tasks.json:
{
"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
}
}
]
}
Обратите внимание:
- -std=c++17 — стандарт C++
- -g — включение отладочной информации (чтобы GDB мог подсветить строки)
Иногда полезно очищать вывод терминала перед сборкой. Это можно добавить в секцию
presentation(опционально), например"clear": true.
launch.json для отладки через GDB
Создайте C:\Projects\<ваш_проект>\.vscode\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"
}
]
}
Что тут происходит:
- VS Code сначала вызывает сборку через preLaunchTask
- потом запускает .exe под GDB
- отладчик берётся из miDebuggerPath
settings.json для ассоциаций
Создайте C:\Projects\<ваш_проект>\.vscode\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"
}
}
Это помогает IntelliSense правильно распознавать стандартные заголовки.
c_cpp_properties.json для IntelliSense
Создайте C:\Projects\<ваш_проект>\.vscode\c_cpp_properties.json:
{
"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
}
Смысл:
- compilerPath — куда “смотреть” IntelliSense
- includePath — где лежат заголовки стандартной библиотеки и ваши файлы
Проверка. Что должно заработать
1) Откройте main.cpp
2) Нажмите Ctrl + Shift + B
3) Должен появиться main.exe
4) Нажмите F5
5) Должна стартовать отладка и работать шаги по коду
Быстрый запуск для спортивного программирования
Иногда хочется не “идеальную” отладку, а просто быстро проверить код: вставил → запустил → посмотрел.
Для этого используют Code Runner.
Как сделать запуск через терминал
В настройках включите:
- “Code Runner: Run in Terminal”
Как добавить флаг -std=c++14
Дело в том, что некоторые команды запускают GCC без нужного стандарта, и вы получите ошибки вида про расширенные инициализаторы.
Для settings.json через Code Runner обычно настраивают карту команд:
- найдите “Code-runner: Executor Map”
- нажмите “Edit in settings.json”
- добавьте для
cppпримерно так:
"code-runner.executorMap": {
"cpp": "cd $dir && g++ -std=c++14 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
}
Тогда запуск “сразу” будет собираться с -std=c++14.
Как настроить C/C++ в VS Code на разных ОС
Коротко: логика одинаковая, меняются пути и инструменты.
| Что меняется | Windows (пример) | Linux | macOS |
|---|---|---|---|
| Компилятор | GCC через msys2 | обычно уже есть g++/clang++ |
чаще clang |
| Отладчик | gdb.exe |
gdb |
часто lldb (зависит от настройки) |
| Путь к exe | C:\... |
/... |
/... |
| tasks.json | меняете command и аргументы |
меняете command |
меняете command |
Поэтому правило такое: в tasks.json и launch.json вы просто подставляете ваш g++ и ваш GDB (или другой отладчик).
Visual Studio Code vs Visual Studio для C++
Если вы выбираете между двумя “Visual”:
| Критерий | Visual Studio Code | Visual Studio |
|---|---|---|
| Нагрузка на систему | обычно меньше | часто больше |
| Подход | лёгкий редактор + расширения | полноценная IDE |
| Для C++ | удобно собрать свою конфигурацию | много “из коробки” |
| Когда выбирать | если нужна гибкость и скорость | если нужен большой набор инструментов сразу |
Отсюда и ответ на частую мысль новичков: “Visual Studio ест ресурсы” — да, иногда VS Code оказывается проще и легче.
Если нет опыта. С чего начать
Сценарий из жизни: вы открываете проект, а VS Code подсвечивает ошибки и не запускает программу.
Правильный порядок такой:
1) Проверить g++ --version
2) Проверить gdb --version
3) Скомпилировать hello.cpp командой g++
4) Только потом — вставлять tasks.json и launch.json
Это снижает хаос: сначала работает компилятор, потом VS Code становится “панелью управления”.
Где здесь Visual и Code и C++
Чтобы всё связать в один цикл, удобно держать схему:
flowchart TD
A[Файл .cpp в VS Code] --> B[tasks.json вызывает g++]
B --> C[создаётся .exe]
C --> D[launch.json вызывает gdb]
D --> E[отладка, шаги, переменные]
Именно поэтому настройки задач и запуска — это сердце темы “как настроить visual studio code для c”.
Короткий итог
- Поставьте Visual Studio Code и расширение C/C++
- Установите GCC и GDB (на Windows через msys2 — рабочий вариант)
- Создайте
.vscodeс tasks.json и launch.json - Добавьте
c_cpp_properties.jsonдля нормального IntelliSense - При необходимости — настройте Code Runner и добавьте
-std=c++14
После этого C++ разработка перестаёт быть “танцем с бубном” и превращается в обычный цикл: написать → собрать → запустить → отладить.