EditorSettings
Настройки среды редактора, отдельные от настроек проекта игры.
Получайте текущий объект через EditorInterface.Singleton.GetEditorSettings(). Читайте необязательные ключи через HasSetting() и GetSetting(), учитывая тип Variant. Не освобождайте заимствованный singleton.
Для C# выбор IDE находится в dotnet/editor/external_editor; общий обработчик Text Editor использует другую ветку настроек. Чтение значения не запускает IDE, не проверяет её установку и не компилирует проект.
Внешний редактор и диагностика.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
EditorSettingsКонструктор
public EditorSettings();Методы24
AddPropertyInfovoid
public void AddPropertyInfo(Reckfell.Collections.Dictionary info);Добавляет информацию о пользовательском свойстве к свойству. Словарь должен содержать:
var settings = GetEditorInterface().GetEditorSettings();
settings.Set("category/property_name", 0);
var propertyInfo = new Reckfell.Collections.Dictionary
{
{ "name", "category/propertyName" },
{ "type", Variant.Type.Int },
{ "hint", PropertyHint.Enum },
{ "hint_string", "one,two,three" },
};
settings.AddPropertyInfo(propertyInfo);| Имя | Тип | По умолчанию |
|---|---|---|
info | Reckfell.Collections.Dictionary | — |
AddShortcutvoid
public void AddShortcut(string path, Shortcut shortcut);Добавляет shortcut, путь к которому задается параметром path.
Параметр path определяет, как ярлык будет организован и отображаться в настройках ярлыков редактора. Формат пути влияет на отображение следующим образом:
"name"(без косой черты): Создает категорию с именемname, ярлык которой отображается какname."category/name"(с одной косой чертой): Отображается какnameв разделеcategory."category/name/extra"(с несколькими косыми чертами): Дополнительные компоненты пути игнорируются, поэтому это работает так же, как"category/name". Примечание: Ярлыки сохраняются в настройках редактора только в том случае, если они отличаются от своего исходного/стандартного состояния. Это означает, что пустые сочетания клавиш, которые изначально были пустыми, не будут сохраняться между сеансами редактора и должны быть добавлены заново. Если сочетание клавиш с тем жеpathуже существует, этот метод обновит его новымshortcutвместо создания дубликата.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
shortcut | Shortcut | — |
CheckChangedSettingsInGroupbool
public bool CheckChangedSettingsInGroup(string settingPrefix);Проверяет, существуют ли какие-либо настройки с префиксом setting_prefix в наборе измененных настроек. См. также EditorSettings.GetChangedSettings.
Стереть
| Имя | Тип | По умолчанию |
|---|---|---|
settingPrefix | string | — |
boolErasevoid
public void Erase(string property);Удаляет настройку, имя которой указано в property.
| Имя | Тип | По умолчанию |
|---|---|---|
property | string | — |
GetChangedSettingsstring[]
public string[] GetChangedSettings();Получает массив настроек, которые были изменены с момента последнего сохранения. Обратите внимание, что внутренне changed_settings очищается после успешного сохранения, поэтому обычно наиболее подходящим местом для использования этого метода является обработка EditorSettings.NotificationEditorSettingsChanged.
string[]GetFavoritesstring[]
public string[] GetFavorites();Возвращает список избранных файлов и каталогов для этого проекта.
string[]GetProjectMetadataVariant
public Variant GetProjectMetadata(string section, string key, Variant @default = default);Возвращает метаданные, специфичные для проекта, для указанных section и key. Если метаданные не существуют, вместо них будет возвращен default. См. также EditorSettings.SetProjectMetadata.
| Имя | Тип | По умолчанию |
|---|---|---|
section | string | — |
key | string | — |
default | Variant | default |
VariantGetRecentDirsstring[]
public string[] GetRecentDirs();Возвращает список недавно посещенных папок в диалоговом окне файлов для этого проекта.
string[]GetSettingVariant
public Variant GetSetting(string name);Читает значение настройки редактора по точному пути. Для необязательного ключа сначала вызовите HasSetting(); проверьте тип Variant до преобразования. Настройки dotnet/editor/ и text_editor/external/ относятся к разным обработчикам.
| Имя | Тип | По умолчанию |
|---|---|---|
name | string | — |
nameТочный ключ настройки редактора, не локализованная подпись UI.
VariantТекущее значение настройки как Variant.
GetShortcutShortcut
public Shortcut GetShortcut(string path);Возвращает сочетание клавиш, указанное в path. Пытается найти встроенное действие, если в списке сочетаний клавиш не найдено ни одного сочетания клавиш с указанным путем. Если найдено, добавляет его в список и возвращает, в противном случае возвращает null.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
ShortcutGetShortcutListstring[]
public string[] GetShortcutList();Возвращает список сохраненных путей клавиш сочетаний.
string[]HasSettingbool
public bool HasSetting(string name);Проверяет наличие настройки в текущем объекте редактора. Используйте перед GetSetting() для необязательных настроек интеграций. Наличие ключа не доказывает установку программы или успешный запуск IDE.
| Имя | Тип | По умолчанию |
|---|---|---|
name | string | — |
nameТочный путь настройки, например dotnet/editor/external_editor.
booltrue при наличии ключа настройки.
HasShortcutbool
public bool HasShortcut(string path);Возвращает true, если указанные в path клавиши сочетания существует, false в противном случае.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
boolIsShortcutbool
public bool IsShortcut(string path, InputEvent @event);Возвращает true, если указанные в path клавиши сочетания совпадают с событием, указанным в event, и false в противном случае.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
event | InputEvent | — |
boolMarkSettingChangedvoid
public void MarkSettingChanged(string setting);Отмечает переданную настройку редактора как измененную, см. EditorSettings.GetChangedSettings. Будут приняты только существующие настройки (см. EditorSettings.HasSetting).
| Имя | Тип | По умолчанию |
|---|---|---|
setting | string | — |
RemoveShortcutvoid
public void RemoveShortcut(string path);Удаляет клавиши сочетания, указанные в path.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
SetBuiltinActionOverridevoid
public void SetBuiltinActionOverride(string name, Reckfell.Collections.Array<InputEvent> actionsList);Переопределяет встроенное действие редактора name действиями ввода, определенными в actions_list.
| Имя | Тип | По умолчанию |
|---|---|---|
name | string | — |
actionsList | Reckfell.Collections.Array<InputEvent> | — |
SetFavorites2 перегрузки
public void SetFavorites(ReadOnlySpan<string> dirs);Устанавливает список избранных файлов и каталогов для этого проекта.
| Имя | Тип | По умолчанию |
|---|---|---|
dirs | ReadOnlySpan<string> | — |
public void SetFavorites(string[] dirs);Устанавливает список избранных файлов и каталогов для этого проекта.
| Имя | Тип | По умолчанию |
|---|---|---|
dirs | string[] | — |
SetInitialValuevoid
public void SetInitialValue(StringName name, Variant value, bool updateCurrent);Устанавливает начальное значение параметра, указанного name, на value. Это используется для предоставления значения для кнопки Revert в настройках редактора. Если update_current равно true, параметр также сбрасывается на value.
| Имя | Тип | По умолчанию |
|---|---|---|
name | StringName | — |
value | Variant | — |
updateCurrent | bool | — |
SetProjectMetadatavoid
public void SetProjectMetadata(string section, string key, Variant data);Устанавливает метаданные, специфичные для проекта, с указанием section, key и data. Эти метаданные хранятся вне папки проекта и, следовательно, не будут проверены в системе контроля версий. См. также EditorSettings.GetProjectMetadata.
| Имя | Тип | По умолчанию |
|---|---|---|
section | string | — |
key | string | — |
data | Variant | — |
SetRecentDirs2 перегрузки
public void SetRecentDirs(ReadOnlySpan<string> dirs);Устанавливает список недавно посещенных папок в диалоговом окне файлов для этого проекта.
| Имя | Тип | По умолчанию |
|---|---|---|
dirs | ReadOnlySpan<string> | — |
public void SetRecentDirs(string[] dirs);Устанавливает список недавно посещенных папок в диалоговом окне файлов для этого проекта.
| Имя | Тип | По умолчанию |
|---|---|---|
dirs | string[] | — |
SetSettingvoid
public void SetSetting(string name, Variant value);Устанавливает value настройки, указанной name. Это эквивалентно использованию ReckfellObject.Set в экземпляре EditorSettings.
| Имя | Тип | По умолчанию |
|---|---|---|
name | string | — |
value | Variant | — |
Сигналы и события1
SettingsChangedСобытие
public event Action SettingsChanged;Выдается после изменения каких-либо настроек редактора.
Поля и константы1
NotificationEditorSettingsChangedПоле
public const long NotificationEditorSettingsChanged = 10000;Выдается после изменения любой настройки редактора. Используется различными плагинами редактора для обновления визуальных элементов при изменении темы или логики при изменении конфигурации.