CLion
Крайне рекомендуется пользоваться EAP версией, ибо имеено в ней все свежие фиксы и фичи.
Установка
На официальном сайте (ссылка в header-e - кликабельна) можно найти информацию об установке через Toolbox (если вы используете другие IDE от Jetbrains) или об установке на Windows.
На Ubuntu рекомендуется следующий процесс установки (чтобы можно было обновлять среду разработки через пакетный менеджер):
$ sudo apt install snap
$ sudo snap install clion --classic
clang-tidy
Clion имеет встроенный clang-tidy, но вы можете указать внешний, если он есть на вашей системе.
Нужно убедиться, что вы поставили галочку на
Prefer .clang-tidy files over IDE settings
чтобы использовать .clang-tidy курса.
Path: Settings / Preferences | Editor | Inspections - C/C++, General, Clang-Tidy
clang-format
Clion имеет встроенный (альтернативный) clang-format, но вы можете указать внешний, если он есть на вашей системе.
Нужно убедиться, что вы поставили галочку на
Enable ClangFormat (only for C/C++/Objective-C
чтобы использовать .clang-format курса.
Path: Settings / Preferences | Editor | Code Style - ClangFormat
Либо другой, более быстрый вариант. В нижней панели экрана, поставить соотвествующую галочку.
Интеграция с vcpkg и CMake preets
Для начала нам нужно попасть в окно конфигурации CMake. Это происходит автоматически при первом открытии проекта или же можно найти в File
->Settings
->Build,Execution...
->CMake
Для интеграции с vcpkg вне зависимости от сборки вам нужно в CMake options
добавить -DCMAKE_TOOLCHAIN_FILE=<path-to-vcpkg>/vcpkg/scripts/buildsystems/vcpkg.cmake
Также, если вы пользуетесь Windows нативно (т.е. не WSL), нужно добавить -DVCPKG_TARGET_TRIPLET=x64-mingw-static
для тулчейна MinGW и -DVCPKG_TARGET_TRIPLET=x64-windows-static
для тулчейна MSVC/clang-cl.
Дело в том, что по умолчанию vcpkg на Windows использует MS тулчейн и установленные с ним библиотеки не будут линковаться при сборке с тулчейном MinGW.
Далее добавляем три основные конфигурации, каждый раз нажимая на плюсик для создания новой конфигурации:
- Release
Build type
:Release
- В
CMake options
добавляем--preset Release
- SanitizedDebug
Build type
:Debug
- В
CMake options
добавляем--preset SanitizedDebug
- RelWithDebInfo
Build type
:RelWithDebInfo
- В
CMake options
добавляем--preset RelWithDebInfo
Если после добавление конфигураций CMake падает с ошибкой при попытке сконфигурироваться, то нужно в каждой конфигурации указать в качестве Build directory
папку вида cmake-build-<configuration-name>
Полезные ссылки
- Выбор конфигурации сборки. Чем сборка в дебаге отличается от сборки в релизе, рассказывают в 3 семестре на курсе операционных систем.
- Valgrind memcheck: проверки утечек памяти и т.д.