reckfellENGINE

VS Code: исходники C++ и IntelliSense

База команд компиляции, рабочая папка и диагностика без выдуманных defines.

На этой странице

VS Code для C++-исходников

Для игрового C# откройте проект игры и используйте руководство C#. Здесь настраивается C++-дерево движка с файлом SConstruct. VS Code не устанавливает компилятор, SDK и SCons вместе с расширением C/C++.

Открыть правильную папку

  1. Откройте Source, где лежат SConstruct, core, scene, editor и platform. Если открыть родительскую папку, пути ${workspaceFolder} в примере будут указывать не туда.
  2. Используйте расширение Microsoft C/C++ и компилятор той же платформы/архитектуры, с которыми конфигурируется SCons. При выборе другого анализатора проверьте его отдельные настройки; конфигурация одного расширения не настраивает все остальные.
  3. Сохраните существующие файлы .vscode: дополняйте нужную конфигурацию, а не удаляйте чужие tasks.json или launch.json ради нового примера.

Подключить команды компиляции

Нужен актуальный compile_commands.json из конфигурации именно этого дерева. Параметры compiledb и compiledb_gen_only описаны в обзоре IDE. Генерация базы не равна компиляции движка, но всё равно требует успешной конфигурации SCons.

Известное ограничение: текущие helper-функции methods.py импортируют отсутствующий в установленном SCons 4.11.1 модуль SCons.Entity. Изолированные вызовы завершаются ImportError. Полная генерация базы здесь не выполнялась. Не считайте приведённый JSON способом исправить этот сбой и не создавайте выдуманную базу вместо результата сборочной системы.

Если корректная база уже получена для вашей конфигурации, создайте или дополните Source/.vscode/c_cpp_properties.json:

JSON
{
  "configurations": [
    {
      "name": "Reckfell Source",
      "compileCommands": "${workspaceFolder}/compile_commands.json"
    }
  ],
  "version": 4
}

Для файла с подходящей записью расширение использует команду из базы. Если записи нет, применяются базовые настройки; один существующий JSON не гарантирует правильную индексацию всех файлов. Выберите действительный compilerPath через C/C++: Edit Configurations (UI) для базовой конфигурации. Не копируйте номер Windows SDK и путь к MSVC с чужого компьютера. Официальное описание — настройка IntelliSense.

Не добавляйте TESTS_ENABLED, TOOLS_ENABLED или другие defines только ради исчезновения подчёркиваний. Они должны соответствовать реальной конфигурации. После изменения target, arch, модулей или исходников обновите базу. Сгенерированные заголовки также должны существовать; добавление ** в includePath их не создаёт.

Настроить сборку и запуск отдельно

Задача сборки должна вызывать команду, уже проверенную для вашей конфигурации, из правильного рабочего каталога. Действие «собрать текущий C++-файл» не собирает весь движок с его зависимостями. В tasks.json разделяйте команду и массив аргументов; схема задач и различия shell/process описаны в документации VS Code.

Нативный запуск настраивается отдельно от IntelliSense. Для launch.json выбирайте конфигурацию установленного адаптера и фактический бинарный файл с соответствующими символами. Не смешивайте поля разных адаптеров. Значение preLaunchTask должно совпадать с label существующей задачи. Поля конкретного адаптера — в справочнике Microsoft C/C++. Подключение отладчика в этом прогоне не проверялось.

Найти причину проблемы

СимптомПроверка
ImportError с SCons.EntityЭто подтверждённая проблема helper-функций; настройки IntelliSense её не исправляют.
Заголовок не найденРабочая папка, запись для соответствующего .cpp, пути компилятора/SDK и наличие сгенерированного файла.
Анализируется не та ветка C++Актуальность базы, выбранная конфигурация и другой активный configurationProvider.
Задача работает в одном терминалеРазличия PATH и окружения compiler/toolchain; вывод задачи, а не только её exit code.
Индексация работает, сборка нетЭто разные операции: проверьте фактическую команду SCons и её первую ошибку.

Пример JSON разобран и сверён с полями установленной схемы C/C++ Tools 1.34.4; это не полная JSON Schema-валидация или запуск IntelliSense. Имена параметров SCons сверены с исходниками, отказ helper-функций сохранён отдельно. Полная база, сборка, UI VS Code и нативная отладка не проверены. Движок не изменялся.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.