Панель Script: файлы и справка
Открытые документы, поиск, конфликт буферов и границы C#-интеграции.
Панель Script объединяет открытые текстовые файлы и встроенную справку. Она не является заменой C#-IDE: контекст .csproj, анализ C# и отладчик настраиваются отдельно. Для C# начните с внешнего редактора.
Откройте нужный документ
- Для текста проекта откройте поддерживаемый файл из Content Browser или через команду открытия файла панели Script.
- Для справки используйте поиск классов панели. Документ класса и скрипт — разные типы вкладок.
- Для
.csучитывайте выбранный C#-провайдер: двойной щелчок может передать файл во внешнюю программу вместо создания внутренней вкладки. - Если рабочая область Script скрыта, проверьте профиль возможностей редактора. Не переустанавливайте движок ради скрытой панели.
Список слева содержит открытые документы, а не все файлы проекта. Для поиска файла, который ещё не открыт, используйте Content Browser или поиск по файлам. Оглавление активного документа помогает перейти к методу или разделу справки.
Найдите и исправьте текст
- Выберите нужный документ в списке открытых файлов.
- Используйте Search → Find… для поиска в текущем документе. Проверьте режимы регистра и целого слова, если совпадение не находится.
- Для нескольких файлов используйте Find in Files… и ограничьте каталог/расширения, чтобы не искать в сгенерированном кэше и сборках.
- Для замены сначала проверьте список найденных файлов и совпадений. Массовая замена на диске не является одной гарантированно отменяемой операцией редактирования буфера; перед ней сохраните контролируемую версию проекта.
- После изменения сохраните документ. Изменение C#-исходника требует отдельной успешной сборки.
Шорткаты отображаются рядом с командами меню и переназначаются в Editor Settings → Shortcuts. Ориентируйтесь на текущие привязки, а не на обещание одинаковых клавиш на всех платформах.
Разберите конфликт с внешней программой
Если один файл открыт и внутри, и в IDE, возможны две версии: сохранённая на диске и несохранённый буфер. Автоматическое перечитывание не должно незаметно уничтожать второй вариант.
Настройка text_editor/behavior/files/auto_reload_scripts_on_external_change разрешает автоматическое перечитывание подходящих файлов, но несохранённые изменения могут вызвать запрос выбора. Сравните версии, сохраните нужную и только затем перечитайте файл. Перечитывание текста не подтверждает, что новая C#-сборка загружена в игру.
Встроенная справка и API C#
Справка класса открывается отдельным документом. Если плагин запрашивает ScriptEditor.GetCurrentScript(), на вкладке справки результат может быть null. GetCurrentEditor() тоже может быть null: документ справки не является ScriptEditorBase.
GetOpenScripts() перечисляет открытые ресурсы Script, а не все документы справки и не весь проект. GetUnsavedFiles() относится к несохранённым буферам встроенного редактора; он не знает о несохранённом тексте внешней IDE. Не используйте эти методы как проверку сохранности всего проекта.
Для точных C#-имён, типов, перегрузок и параметров смотрите справочник API текущего SDK. Поиск текста в панели и поиск символов по всему SDK решают разные задачи.
Диагностика
| Проблема | Действие |
|---|---|
| В списке нет нужного файла | Это список открытых документов; найдите файл через Content Browser или Find in Files. |
| Скрипт открывается снаружи | Проверьте отдельную настройку C# и общую Text Editor → External. |
| Поиск не находит строку | Проверьте активный документ, регистр, целое слово и область поиска. |
| Файл изменён с двух сторон | Сравните диск и несохранённый буфер; не выбирайте перезагрузку вслепую. |
| На вкладке справки API возвращает null | Это допустимо: справка не является редактируемым скриптом. |
| После правки C# поведение прежнее | Проверьте сборку, сообщения ошибок и перезапуск/перезагрузку сборки. |
Границы проверки
В headless-редакторе 1.0.0 открыта встроенная справка Entity и проверено, что она не становится Script/ScriptEditorBase, не добавляет открытый скрипт и не создаёт несохранённый буфер. Настройки перечитывания и маршрутизация к внешнему редактору сверены с исходниками. Физическое редактирование, поиск/массовая замена, конфликт двух буферов и C#-отладка этим тестом не выполнялись.