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-tidy-clion

clang-format

Clion имеет встроенный (альтернативный) clang-format, но вы можете указать внешний, если он есть на вашей системе.

Нужно убедиться, что вы поставили галочку на Enable ClangFormat (only for C/C++/Objective-C чтобы использовать .clang-format курса.

Path: Settings / Preferences | Editor | Code Style - ClangFormat

clang-format-clion

Либо другой, более быстрый вариант. В нижней панели экрана, поставить соотвествующую галочку. clang-format-clion-another

Интеграция с vcpkg и CMake preets

Для начала нам нужно попасть в окно конфигурации CMake. Это происходит автоматически при первом открытии проекта или же можно найти в File->Settings->Build,Execution...->CMake

cmake-configure

Для интеграции с 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>

Полезные ссылки