
MENUITEMИз проекта в проект прихожу и вижу одну и ту же картину.Есть маленькие полезные скрипты, которые упрощают работу, но все они запрятаны в глубине проекта.О чем речь:— Открыть Persistent Data Path в проводнике— Переключить сцену, чтобы не искать её в иерархии— Удалить закешированные данные— Переключить редактор из dev в prod или qaИ прочие мелочи, которые нужно часто вызывать в редакторе.Обычно для этого создаётся скрипт с атрибутом [MenuItem("Tools/...")].🔸ПроблемаПочему-то этот полезный код очень любят разбрасывать по скриптам, папкам, сборкам.Сторонние плагины туда же — Odin, DoTween и прочие имеют свои секции в Tools.Поиск нужной кнопки начинает отнимать время.Помножь на количество рабочих дней — получишь кучу времени потраченного на поиск.При этом не все команды пишут логи, и найти откуда именно этот код вызывается — бесящий процесс.В момент поиска не делается ничего полезного, ты просто ищешь ответ на вопрос "где это лежит".Мелочь, но дико бесит 😵🔸РешениеВсего 3 пункта:1️⃣ Далем Editor asmdef в проекте: GenshinImpact.Editor2️⃣ Все пути кладутся в 1 файл с константами, который лежит в корне:public static class ToolConstants { public const string Root = "Silverfox"; public static class Build { public const string Prod = Root + "/Build/Prod"; }}3️⃣ При создании tool'а в качестве корня — имя проекта или компании: [MenuItem("Silverfox/Clean local data")]Итого получаем в коде: [MenuItem(ToolConstants.Build.Prod)]Т.е. путь до нужного кода — два шага: поиск по имени компании, а до других элементов легко дотянуться через файл с константами.🔸Почему это работает▫️ Не нужно держать в голове иерархию сборок. Достаточно найти строку Silverfox" — и ты сразу в файле со всеми tool'зами▫️ Можно быстро прикинуть иерархию и понять как добавить или поправить tool. Особенно это полезно для новичков в проекте.▫️ Быстрее чем спрашивать AI — переключение контекста и формулировка вопроса медленнее чем Ctrl+Shift+F в IDE🔻 Простое соглашение — один файл, один к






