godot embed external editor
GDExtension, который позволяет встраивать внешний редактор кода, такой как Visual Studio Code, непосредственно в ваш редактор Godot!
Краткое руководство
Функции
- Автоматически присоединяйте и отключайте внешние редакторы кода.
- По возможности проверяет, подходит ли редактор кода для данного проекта (например, внутри него открывается папка проекта).
- Кнопка переключения на панели вкладок сцены, позволяющая вручную подключать и отключать внешний редактор кода.
- Поддерживаемые внешние редакторы:
- Пока только код Visual Studio.
Быстрый старт
- Убедитесь, что
- вы используете Годо 4.
- вы находитесь в Windows.
- в настройках редактора Godot отключен "Однооконный режим" (иначе перед редактором кода не будут появляться диалоги).
- в настройках редактора Godot внешний редактор кода включен и правильно настроен (двойной щелчок по файлу сценария в проводнике файлов Godot должен открыть выбранный вами редактор).
- вы следуете инструкциям по настройке выбранного вами редактора.
- Загрузите и извлеките последнюю версию артефакта сборки или скомпилируйте ее из исходного кода.
- Скопируйте папку
addons
в папку вашего игрового проекта. - Если Godot запущен, обязательно выберите «Проект -> Обновить текущий проект» или перезапустите редактор (GDExtensions не перезагружаются в реальном времени, см. эту проблему).
- Включите плагин в настройках проекта.
- Откройте редактор кода, дважды щелкнув файл сценария в проводнике Godot (несвязанные редакторы кода НЕ будут встроены в это дополнение) — он должен исчезнуть вскоре после запуска.
- Перейдите на вкладку «Сценарий» и наслаждайтесь!
Настройка для каждого редактора
Код Visual Studio
Следующие изменения настроек можно выполнить либо в настройках пользователя (Ctrl+Запятая), либо для каждой папки рабочей области:
- Установите для
window.titleBarStyle
native
. В противном случае заголовок не может быть скрыт, и размер окна редактора будет изменяться независимо от его контейнера. - Убедитесь, что параметры
window.title
и window.titleSeparator
используют значения по умолчанию. Следуйте этим инструкциям, если вы их изменили:- Параметр
window.title
должен содержать как строку Visual Studio Code
, так и имя открытой в данный момент папки ${rootName}
. Это необходимо для того, чтобы аддон мог определить, открыт ли в экземпляре проект. - Аналогично, для корректной работы
window.titleSeparator
необходимы начальные и конечные пробелы.
Если вы предпочитаете использовать Visual Studio Code в качестве простого текстового редактора без функций IDE, рассмотрите возможность использования режима Zen:
- Установите для
zenMode.centerLayout
false
и zenMode.fullScreen
значение false
. - Включите режим Zen, выполнив команду
View: Toggle Zen Mode
.
Ограничения
Этот аддон очень экспериментальный и хакерский. Я пытаюсь улучшить его, но есть некоторые вещи, которые не так легко исправить:
Общий
- У Godot по-прежнему возникают проблемы с обнаружением изменений в файлах внешних сценариев (см. эту проблему).
- Обходной путь: перезапустите редактор, выбрав «Проект -> Обновить текущий проект».
- Невозможно просмотреть документацию в редакторе, не отключив редактор.
- Обходной путь: в качестве альтернативы вы можете использовать опцию VSCode «Список собственных классов».
- Раньше случались случайные зависания, которые я пытался исправить. Если они все еще сохраняются, пожалуйста, откройте проблему.
- Обходной путь: если вы зависаете, похоже, что Alt+Tab в большинстве случаев исправляет это.
- Заголовок редактора не отображается после отстыковки.
- Обходной путь: сверните и восстановите окно.
- Встроенное окно может иметь собственные границы окна и время от времени изменять его размер (например, при сбое отладчика).
- Обходной путь: открепите и снова закрепите окно.
- Ввод с клавиатуры будет приниматься только тем окном, которое находится в фокусе (например, F5 для запуска игры).
- Годо не переключается автоматически на вкладку сценария.
- Миниатюры вкладок сцен при наведении не отображаются перед встроенным редактором кода.
Код Visual Studio
- Пока этот PR не будет закончен и объединен, отладка игр Godot через VSCode невозможна.
- Редко в верхней части VSCode появляется черная полоса, которая компенсирует все входные события.
- Обходной путь: перезапустите VSCode, чтобы исправить это (к сожалению, даже команда «Обновить окно» не решает эту проблему).
Содействие
Я не планирую работать над этим проектом только для личных целей, поэтому буду очень признателен за помощь другим в улучшении этого расширения:
- Поддержка других ОС, таких как Mac или Linux.
- Поддержка большего количества редакторов, включая документацию по их настройке.
- Исправьте проблемы и ошибки с удобством использования.
Создавайте проблемы для идей, отзывов или ошибок. Открывайте запросы на включение, если вы что-то реализовали. Вся помощь приветствуется! :)
Если вы хотите сказать спасибо, вместо этого вы можете сделать пожертвование спонсорам GitHub.