CLion

CLion — это JetBrains IDE для C++, которая бесплатна для индивидуальной некоммерческой разработки.

Импортирование проекта

CLion может импортировать файл базы данных компиляции проекта <https://clang.llvm.org/docs/JSONCompilationDatabase.html>, обычно называемый compile_commands.json. Чтобы создать файл базы данных компиляции, откройте терминал, перейдите в корневой каталог Godot и выполните:

scons compiledb=yes compile_commands.json

Затем откройте корневой каталог Godot с помощью CLion и дождитесь полной индексации проекта. Если автодополнение кода, информация о параметрах или рефакторинг не включены, необходимо загрузить проект с помощью CMake. Для этого найдите файл CMakeLists.txt в каталоге platform\android\java\nativeSrcsConfigs, щёлкните правой кнопкой мыши и выберите Load CMake Project. После перезагрузки проекта будет добавлена конфигурация сборки godot. Эту конфигурацию можно безопасно удалить, так как файл CMake не будет собирать проект и предназначен только для загрузки проекта в IDE JetBrains.

Примечание

Пользователи Windows:

Для правильной загрузки compile_commands.json в CLion необходимо сначала настроить цепочку инструментов Visual Studio для CLion.

  • Перейдите в Preferences > Build, Execution, Deployment > Toolchains

  • Нажмите кнопку + и выберите Visual Studio

  • CLion попытается обнаружить вашу установку Visual Studio. Если это не удастся, используйте значок файла справа от Toolset:, чтобы выбрать каталог с установленной Visual Studio.

Вы можете выйти и перезагрузить CLion, и он перезагрузит compile_commands.json

../../../_images/clion_visual_studio_toolchain.webp

Компиляция и отладка проекта

CLion не поддерживает компиляцию и отладку Godot через SCons из коробки. Этого можно добиться, создав пользовательскую цель сборки и конфигурацию запуска в CLion. Перед созданием пользовательской цели сборки необходимо выполнить команду compile Godot в командной строке, чтобы сгенерировать исполняемый файл Godot. Откройте терминал, перейдите в корневой каталог Godot и выполните:

scons dev_build=yes

Чтобы добавить пользовательскую цель сборки, которая вызывает SCons для компиляции:

  • Откройте CLion и перейдите в раздел Preferences > Build, Execution, Deployment > Custom Build Targets

../../../_images/clion-preferences.png
  • Нажмите Добавить цель и дайте цели имя, например, Godot debug.

../../../_images/clion-target.png
  • Нажмите ... рядом с полем выбора Build:, затем нажмите кнопку + в диалоговом окне External Tools (Внешние инструменты), чтобы добавить новый внешний инструмент.

../../../_images/clion-external-tools.png
  • Дайте инструменту имя, например, Build Godot debug, установите Program на scons, Arguments на нужные параметры компиляции (см. compiling Godot), а Working directory на $ProjectFileDir$, что соответствует корневому каталогу Godot. Нажмите OK, чтобы создать инструмент.

    Примечание

    CLion не раскрывает команды оболочки, такие как scons -j$(nproc). Вместо этого используйте конкретные значения, например, scons -j8.

../../../_images/clion-create-build-tool.webp
  • Вернитесь в диалоговое окно External Tools (Внешние инструменты) и снова нажмите +, чтобы добавить второй внешний инструмент для очистки сборки Godot через SCons. Дайте инструменту имя, например, Clean Godot debug, установите Program на scons, Arguments на -c (что позволит очистить сборку), а Working directory на $ProjectFileDir$. Нажмите OK, чтобы создать инструмент.

../../../_images/clion-create-clean-tool.png
  • Закройте диалоговое окно External Tools (Внешние инструменты). В диалоговом окне Custom Build Target (Настраиваемая цель сборки) для настраиваемой цели сборки Godot debug выберите инструмент Build Godot debug в списке Build и инструмент Clean Godot debug в списке Clean. Нажмите OK, чтобы создать настраиваемую цель сборки.

../../../_images/clion-select-tools.png
  • В главном окне IDE нажмите Add Configuration.

../../../_images/clion-add-configuration.png
  • В диалоговом окне Конфигурация запуска/отладки нажмите Добавить новый..., затем выберите Пользовательская сборка приложения, чтобы создать новую пользовательскую конфигурацию запуска/отладки.

../../../_images/clion-add-custom-build-application.png
  • Присвойте конфигурации запуска/отладки имя, например, Godot debug, выберите пользовательскую цель сборки Godot debug в качестве Target (Цели). Выберите исполняемый файл Godot в папке bin/ в качестве Executable (Исполняемого) и задайте для Program arguments (Аргументов программы) значение --editor --path path-to-your-project/, где path-to-your-project/ — это путь к существующему проекту Godot. Если вы пропустите аргумент --path, отладка будет доступна только в окне Менеджера проектов Godot. Нажмите OK, чтобы создать конфигурацию запуска/отладки.

../../../_images/clion-run-configuration.png

Теперь вы можете собирать, запускать, отлаживать, профилировать и проверять Valgrind редактор Godot через конфигурацию запуска.

../../../_images/clion-build-run.png

При воспроизведении сцены редактор Godot создаёт отдельный процесс. Вы можете отладить этот процесс в CLion, выбрав Run > Attach to process..., введя godot и выбрав процесс Godot с наибольшим pid (идентификатором процесса), который обычно соответствует запущенному проекту.

Игнорирование объектных и библиотечных файлов

После сборки Godot в CLion вы можете увидеть файлы объектов и библиотек, отображаемые в представлении Проект.

../../../_images/clion-object-library-files-in-project-view.webp

Вы можете настроить CLion на игнорирование этих файлов:

  • Откройте CLion и перейдите в Preferences > Editor > File Types > Ignored Files and Folders (Настройки > Редактор > Типы файлов > Игнорируемые файлы и папки)

  • Нажмите кнопку +, чтобы добавить *.o и *.a в список. В Windows это можно сделать с помощью *.obj и *.dll.

../../../_images/clion-ignore-object-library-files.webp

Теперь файлы следует игнорировать в представлении проекта.