Шаблон репозитория для практического задания 9-го спринта «Мидл разработчик С++»
Для корректной работы контейнера добавьте в ваш bash-профиль две переменные окружения USER_UID
и USER_GID
командой echo -e '\nexport USER_UID=$(id -u)\nexport USER_GID=$(id -g)' >> ~/.bashrc
.
После этого обновите настройки bash-профиля командой source ~/.bashrc
.
- Нажмите зелёную кнопку Use this template, а затем — Create a new repository.
- Назовите свой репозиторий.
- Склонируйте созданный репозиторий командой
git clone your-repository-name
. - Создайте новую ветку командой
git switch -c development
. - Откройте проект в Visual Studio Code.
- Нажмите F1 и откройте проект в dev-контейнере командой
Dev Containers: Reopen in Container
.
В репозитории используются три инструмента:
-
Conan — свободный менеджер пакетов для C и C++ с открытым исходным кодом (MIT). Позволяет настраивать процесс сборки программ, скачивать и устанавливать сторонние зависимости и необходимые инструменты. Подробнее о Conan:
-
CPM.cmake — CMake dependency manager. Поскольку не все пакеты доступны в
Conan
, в качестве альтернативы удобно воспользоваться CPM.cmake: https://github.com/cpm-cmake/CPM.cmake. -
cmake — генератор систем сборки для C и C++. Позволяет создавать проекты, которые могут компилироваться на различных платформах различными компиляторами. Подробнее о cmake:
-
VS Code Dev Docker container — Docker-контейнер, который содержит окружение, полностью настроенное для выполнения задания. Подробнее о Docker:
Кнопка F5 поможет:
- Создать папку build.
- Вызвать conan-команды для установки библиотек и запуска процесса сборки.
- Запустить lldb-отладчик.
Обратите внимание: при сборке проекта без изменений вы получите большую ошибку, содержащую note: the expression ‘enable_sender<typename stdexec:: ... [with _Sender = SfmlEventHandler]’ evaluated to ‘false’
. Вспомните, из-за чего может появиться такая ошибка при работе с stdexec
и как мы решали похожую проблему в курсе.
cd build
./MandelbrotFractal
cd build
./MandelbrotFractal_tests
В этом репозитории настроен автоматический запуск clang-format (файл конфигурации — .vscode/settings.json) при сохранении любого файла с кодом.
Убедитесь, что эта функциональность работает:
- Добавьте несколько пустых линий в любой файл.
- Сохраните файл.
- Если пустые линии были удалены, всё работает, если нет — убедитесь, что clangd работает (при открытии файла с кодом в самом низу VS Code на голубой полоске должно быть написано clangd: idle). Для этого:
- нажмите
F1
и выполните командуclangd: Download language server
; - нажмите
F1
и выполните командуclangd: Restart language server
; - внажмите
F1
и выполните командуDeveloper: Reload Window
.
- нажмите
В Visual Studio Code настройки параметров для запуска отладчика находятся в файле .vscode/launch.json. Поскольку в этом файле для запуска приложения, которое вычисляет контрольную сумму файла, уже есть одна конфигурация Launch GeometryApp, то для запуска отладчика достаточно нажать F5 или открыть окно Run and Debug комбинацией клавиш Ctrl+Shift+D
.
Для настройки автодополнения Ctrl + Space
нажмите F1
и выполните команду clangd: Download language server
. VS Code сам предложит установить подходящую версию clangd (всплывашка в правом нижнем углу). После завершения установки перезагрузите окно кнопкой перезапуска справа снизу или с помощью F1
и выполните команду Developer: Reload Window
.
Если всё сделали правильно, то после успешной сборки проекта вы сможете использовать автодополнение.