ScriptEditor
Панель открытых внутренних документов и встроенной справки.
Получайте экземпляр через EditorInterface.Singleton.GetScriptEditor(). Список документов, активный ресурс Script и вкладка справки — разные понятия: справка не является Script/ScriptEditorBase. GetCurrentScript() и GetCurrentEditor() могут вернуть null.
GetOpenScripts() и GetUnsavedFiles() относятся к внутренним документам, не ко всему проекту и не к буферам внешней IDE. Для C# контекст проекта, компиляция и отладка настраиваются отдельно.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Методы16
ClearDocsFromScriptvoid
public void ClearDocsFromScript(Script script);Удаляет документацию для указанного script.
Примечание: Этот вызов следует выполнять при каждом изменении скрипта, чтобы поддерживать состояние открытой документации в актуальном состоянии.
| Имя | Тип | По умолчанию |
|---|---|---|
script | Script | — |
CloseFileError
public Error CloseFile(string path);Закрывает файл по заданному path, отбрасывая все несохранённые изменения.
Возвращает OK в случае успеха или ERR_FILE_NOT_FOUND, если файл не найден.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
ErrorGetBreakpointsstring[]
public string[] GetBreakpoints();Возвращает массив точек останова.
string[]GetCurrentEditorScriptEditorBase
public ScriptEditorBase GetCurrentEditor();Возвращает текущий ScriptEditorBase, если активный документ относится к этому типу. Вкладка справки им не является; результат может быть null. Это не получение внешнего редактора процесса.
ScriptEditorBaseТекущий ScriptEditorBase или null.
GetCurrentScriptScript
public Script GetCurrentScript();Возвращает Script активного внутреннего редактора. На вкладке справки или при отсутствии подходящего документа возвращает null. Не определяет активный файл внешней C#-IDE.
ScriptРесурс Script или null.
GetOpenScriptEditorsReckfell.Collections.Array<ScriptEditorBase>
public Reckfell.Collections.Array<ScriptEditorBase> GetOpenScriptEditors();Возвращает массив со всеми объектами ScriptEditorBase, которые в данный момент открыты в редакторе.
Reckfell.Collections.Array<ScriptEditorBase>GetOpenScriptsReckfell.Collections.Array<Script>
public Reckfell.Collections.Array<Script> GetOpenScripts();Перечисляет открытые ресурсы Script во внутренних документах. Справка и произвольные текстовые файлы не становятся скриптами; это не индекс всех файлов проекта или документов внешней IDE.
Reckfell.Collections.Array<Script>Массив открытых Script.
GetUnsavedFilesstring[]
public string[] GetUnsavedFiles();Перечисляет пути внутренних документов с несохранённым буфером. Не учитывает несохранённый текст внешней IDE и не подтверждает, что вся сцена или проект сохранены.
string[]Пути документов, которые внутренний редактор считает несохранёнными.
GotoHelpvoid
public void GotoHelp(string topic);Открывает встроенный документ справки по описателю, например class_name:Entity. Это не открытие Script и не выбор внешней C#-IDE; после перехода GetCurrentScript() может вернуть null.
| Имя | Тип | По умолчанию |
|---|---|---|
topic | string | — |
topicОписатель темы справки; для проверенного примера class_name:Entity.
GotoLinevoid
public void GotoLine(int lineNumber);Переход к указанной строке текущего скрипта.
| Имя | Тип | По умолчанию |
|---|---|---|
lineNumber | int | — |
OpenScriptCreateDialogvoid
public void OpenScriptCreateDialog(string baseName, string basePath);Открывает диалог создания скрипта. Скрипт будет расширять base_name. Расширение файла может быть опущено в base_path. Оно будет добавлено на основе выбранного языка скрипта.
| Имя | Тип | По умолчанию |
|---|---|---|
baseName | string | — |
basePath | string | — |
RegisterSyntaxHighlightervoid
public void RegisterSyntaxHighlighter(EditorSyntaxHighlighter syntaxHighlighter);Регистрирует EditorSyntaxHighlighter в редакторе, EditorSyntaxHighlighter будет доступен во всех открытых скриптах.
Примечание: Не применяется к уже открытым скриптам.
| Имя | Тип | По умолчанию |
|---|---|---|
syntaxHighlighter | EditorSyntaxHighlighter | — |
ReloadOpenFilesvoid
public void ReloadOpenFiles();Перезагружает все файлы, которые открыты на данный момент. Это должно быть использовано когда открытые файлы изменились снаружи редактора скриптов. Пользователю может быть предложено решить конфликты с файлами, см. EditorSettings.text_editor/behavior/files/auto_reload_scripts_on_external_change.
SaveAllScriptsvoid
public void SaveAllScripts();Сохраняет все открытые скрипты.
UnregisterSyntaxHighlightervoid
public void UnregisterSyntaxHighlighter(EditorSyntaxHighlighter syntaxHighlighter);Отменяет регистрацию EditorSyntaxHighlighter в редакторе.
Примечание: EditorSyntaxHighlighter по-прежнему будет применяться к скриптам, которые уже открыты.
| Имя | Тип | По умолчанию |
|---|---|---|
syntaxHighlighter | EditorSyntaxHighlighter | — |
UpdateDocsFromScriptvoid
public void UpdateDocsFromScript(Script script);Обновляет документацию для указанного script.
Примечание: Этот вызов следует выполнять при каждом изменении скрипта, чтобы поддерживать открытую документацию в актуальном состоянии.
| Имя | Тип | По умолчанию |
|---|---|---|
script | Script | — |
Сигналы и события2
EditorScriptChangedСобытие
public event ScriptEditor.EditorScriptChangedEventHandler EditorScriptChanged;Выдается, когда пользователь изменил активный скрипт. Аргумент — недавно активированный Script.
| Имя | Тип | По умолчанию |
|---|---|---|
script | Script | — |
ScriptCloseСобытие
public event ScriptEditor.ScriptCloseEventHandler ScriptClose;Выдается, когда редактор собирается закрыть активный скрипт. Аргумент — Script, который будет закрыт.
| Имя | Тип | По умолчанию |
|---|---|---|
script | Script | — |