VS Code: установка и настройка в Linux

Это запасная среда. Основная в курсе — Qt Creator; она ставится вместе с компилятором. Visual Studio 2022 и VS Code разрешены временно, пока в аудиториях настраивают Qt Creator, или если Qt Creator недоступен. Сдавать лабораторные лучше в Qt Creator.

Что понадобится

  • VS Code (редактор) + расширение C/C++;
  • компилятор gcc и отладчик gdb из репозитория дистрибутива.

Шаг 1. Установить VS Code

ДистрибутивКак поставить
Ubuntu / Debian.deb с code.visualstudio.com или sudo snap install code --classic
Fedoraрепозиторий Microsoft: sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc, затем sudo dnf install code
Arch / Manjarosudo pacman -S code (или AUR-пакет visual-studio-code-bin)
openSUSEsudo zypper install code (после подключения репозитория Microsoft)

Затем Extensions → установите C/C++ (Microsoft) и, при желании, CMake Tools.

Шаг 2. Установить компилятор и отладчик

# Ubuntu / Debian
sudo apt install build-essential gdb

# Fedora
sudo dnf install gcc gcc-c++ make gdb

# Arch
sudo pacman -S base-devel gdb

# openSUSE
sudo zypper install gcc gcc-c++ make gdb

Проверка:

gcc --version
gdb --version

Шаг 3. Проект, сборка и отладка

Откройте папку проекта и создайте main.c:

#include <stdio.h>

int main(void)
{
    int a, b;
    scanf("%d %d", &a, &b);
    printf("sum = %d\n", a + b);
    return 0;
}

.vscode/tasks.json — сборка:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "build",
      "type": "shell",
      "command": "gcc",
      "args": ["-g", "-Wall", "-o", "${fileDirname}/${fileBasenameNoExtension}", "${file}"],
      "group": { "kind": "build", "isDefault": true },
      "problemMatcher": ["$gcc"]
    }
  ]
}

.vscode/launch.json — отладка:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Debug C (gdb)",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}/${fileBasenameNoExtension}",
      "args": [],
      "cwd": "${fileDirname}",
      "preLaunchTask": "build",
      "MIMode": "gdb",
      "miDebuggerPath": "/usr/bin/gdb",
      "externalConsole": false
    }
  ]
}

Ctrl+Shift+B — сборка, F5 — отладка, F9 — точка останова.

Сборка в терминале (без VS Code)

gcc -Wall -Wextra -g main.c -o main
./main

Особенности Linux

  • Расположение терминала: отладка идёт во встроенном терминале ("externalConsole": false).
  • Кодировка: в Linux всё в UTF-8, специально ничего менять не нужно.
  • Snap-версия VS Code: ограничена домашним каталогом — держите проекты в ~ (например, ~/lms/lab1), иначе сборка может «не видеть» файлы.
  • Права: не запускайте VS Code от root; при необходимости поправьте права:
sudo chown -R "$USER":"$USER" ~/lms

Частые проблемы

СимптомРешение
gcc: command not foundустановите build-essential / gcc (см. шаг 2)
Отладчик не стартуетпроверьте miDebuggerPath (which gdb) и пакет gdb
Snap не видит файлы проектаперенесите проект в домашний каталог или поставьте .deb
«Терминал не найден»укажите оболочку в настройках: "terminal.integrated.defaultProfile.linux": "bash"
IntelliSense не находит заголовкиCtrl+Shift+P → C/C++: Edit Configurations → compilerPath: /usr/bin/gcc

Что запомнить

В Linux VS Code ставится из репозитория, а gcc и gdb — отдельными пакетами; настройка такая же, как в Windows, только пути без .exe и с прямыми слэшами.

Подтверждение

—