Разработка в Visual Studio Code

На оф. сайте можно посмотреть подраздел для вашей конфигурации (компилятор+ОС).

В данном разделе пойдёт описания использования CMake Tools в VSCode для конфигурации, сборки и отладки кода.

Подробнее про CMake в памятке

Установка

CMake Tools. Для этого расширения может потребоваться установить переменную CMAKE_GENERATOR, подробнее здесь.

После установки расширения слева появится раздел CMake Tools

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

Configure

Подраздел Configure позволяет выбрать CMake генератор и саму конфигурацию

После настройки можно сконфигурировать CMake проект:

В Output консоли будет вызвана команда:

Executing command: "cmake.EXE" -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE --no-warn-unused-cli -S<project_path> -B<project_path>/build -G "Visual Studio 17 2022" -T host=x64 -A x64

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

Build

Позволяет собрать сконфигурированный проект.

Запускает команды:

# clean
"cmake.EXE" --build <project_path>/build --config <config> --target clean
# rebuild
"cmake.EXE" --build <project_path>/build --config <config> --target ALL_BUILD

Test

Позволяет запустит тесты, если включена enable_testing() и настроен хотя бы один тест:

ctest.exe -C <config> -T test --output-on-failure -R <name>

Пример настройки тестов test in VSCode

Launch

Запуск без отладки.

Возможны 2 сценария использования:

Запуск через CMakeTools

Для корректного запуска (из нужной директории с необходимыми параметрами) необходимо добавить настройку в settings.json:

// после
    "cmake.pinnedCommands": [
        "workbench.action.tasks.configureTaskRunner",
        "workbench.action.tasks.runTask"
    ],
    "cmake.buildTask": true,
// добавить
    "cmake.debugConfig": {
        "request": "launch",
        "program": "${command:cmake.launchTargetPath}",
        "args": [
            "${workspaceRoot}/niconiconi.png"
        ],
        "cwd": "${workspaceRoot}"
    }

Открыть этот файл можно здесь:

Запуск через VSCode Run&Debug

Для корректного запуска необходимо настроить launch.json, который располагается в корне текущего VSCode workspace:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "DebugArgv",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "${command:cmake.launchTargetPath}",
            "args": [
                "niconiconi.png"
            ],
            "cwd": "${workspaceRoot}",
        }
    ]
}

После чего можно запускать таргет через меню VSCode:

Debug

Крайне полезная ссылка: https://github.com/microsoft/vscode-cmake-tools/blob/main/docs/debug-launch.md

Отличие от запуска без отладки в необходимости задания дебаггера.

Для отладки следует перейти в раздел Run&Debug VSCode и выбрать в левом верхнем меню нужную вам конфигурацию запуска. В данном примере она одна. После чего в коде достаточно расставить breakpoint-ы и запустить программу в режиме отладки:

В режиме отладки можно в:

  • верхнем меню переходить по строкам кода и управлять исполнением;

  • меню Variables просматривать значения текущих локальных переменных;

  • меню Watch выносить интересующие переменные и следить за ними;

  • меню Call Stack следить за стеком вызовов функций;

  • меню Breakpoints управлять точками останова.

В Debug Console есть возможность посмотреть и изменить значения переменных в процессе отладки.

Last updated