OctoberCode
9 subscribers
7 photos
2 links
OctoberCode - VSCode extensions for work with OctoberCMS.
Download Telegram
OctoberCode pinned «Привет. Тут я буду писать про разработку OctoberCode, других расширениях для VSCode (если они будут), плагинов для OctoberCMS и просто про разработку на PHP/Laravel/OctoberCMS. Если хочешь поддержать мою работу, можно сделать это на Boosty https://boost…»
Релиз OctoberCode 0.12.0!

Новые фичи:
- В этой версии появились автодополнения для имен табов в fields.yaml на основе уже объявленных имен табов.
- Добавил команду для быстрого перехода к файлу version.yaml плагинов проекта. Это очень удобно для добавления изменения списка миграций.
- Главная фича этого релиза - новая диагностика, которая проверяет существует ли шаблон view, использованный в View::make(), view(), Mail::send(), Mail::sendTo() или в качестве партиала в fields.yaml или columns.yaml. И быстрое исправления для создания этого файла.

И конечно же набор фиксов.

Так же недавно я опубликовал OctoberCode на https://open-vsx.org, так что теперь расширение доступно для установки через extensions view в VSCodium.

==

OctoberCode 0.12.0 is out!

New features:
- In this release I added autocompletions for tabs names in fields.yaml based on already added tabs
- Added new command for quick open version.yaml of project's plugins. It is very handy for changing migrations list
- Main features of new release - new diagnostic for check if view template used in View::make(), view(), Mail::send(), Mail::sendTo() or as partial in fields.yaml or columns.yaml exists. And quick fix for create this view.

And of course some fixes.

Also some time ago I have published OctoberCode on https://open-vsx.org so now you can install extension in VSCodium's extensions view.
Релиз OctoberCode 0.13.0!

После версии 0.12.0 было несколько багфикс релизов, про них я отдельно не писал.

Новые фичи в 0.13.0:
- Дополнения для свойства recordUrl в yaml конфигах. Используется в списках и связях
- Ссылки для recordUrl на соответствующий метод контроллера

А еще новая версия научилась определять модели, расширяющие новый класс ExpandoModel. Так что теперь при вызове команды octoberCode.goToModel эти модели тоже будут отображаться.

И конечно, набор багфиксов и улучшений в yaml схем

==

OctoberCode 0.13.0 is out!

After 0.12.0 there were several bugfix releases, I didn't write about it.

New features in 0.13.0
- Completions for recordUrl property in yaml configs. Used in lists and relations
- Links for recordUrl to corresponding controller method

Also new version can detect models extending ExpandoModel base class. So when you call octoberCode.goToModel command you will see this models too.

And of cause some bugfixes and improvements in yaml schemas.
Релиз OctoberCode 0.14.0!

Недавно я вспомнил про такую классную штуку как .phpstorm.meta.php и решил попробовать сгенерировать ее в своем расширении. Что ж, теперь у меня в VSCode есть дополнения при вызове $this->asExtension(...)-> что очень полезно при разработке плагинов. На данный момент в мета-файл добавляются только классы поведений, в будущем возможно добавлю что-нибудь ещё.

А еще, когда я открываю миграции плагинов, у меня часто возникает вопрос: "а в какой версии она использована?". Так что я добавил линзу которая эту самую версию отображает прямо над классом миграции.

Итого: новые фичи в 0.14.0:
- Команда для генерации .phpstorm.meta.php
- Линза для отображения версии в которой применяется открытая миграция

==

OctoberCode 0.14.0 is out!

Some time ago I've remembered cool thing .phpstorm.meta.php and decided to try to generate it in my extension. Well, now in my VSCode I have completions for $this->asExtension(...)-> witch is very handy for building plugins. Actually, now generated file contains only behavior classes, may be in the future I will add something more.

Also, when I open migrations I often have a question "in which version this migration used?". So I have added code lens for showing the version right above migration class.

So, new features in 0.14.0:
- Command for generate .phpstorm.meta.php
- Code lens for show plugin version in migration
Релиз OctoberCode 0.15.0!

В этот раз я добавил фичи, которых мне очень не хватало, а именно:

- Определение отсутствия в модели метода getAttributeOptions для поля формы с типами dropdown, radio, checkbox, checkboxlist и быстрый фикс для его добавления
- Быстрое создание акцессоров, мутаторов, геттеров и сеттеров для полей модели из атрибутов описанных в $guarded, $fillable или в докблоке модели

==

OctoberCode 0.15.0 is out!

This time I have added features that I really needed:

- Detection of non existence getAttributeOptions method in model for form fields of type dropdown, radio, checkbox or checkboxlist and quick fix for add it
- Quick creation on accessors, mutators, getters and setters for model attributes for attributes listed in $guarded, $fillable or docblock of model
Релиз OctoberCode 0.16.0!

В этот раз я вам принес всякого для работы с Tailor. Теперь OctoberCode знает что такое чертежи, как с ними работать и всячески пытается вам с этим помочь. Например, подсказывает handle чертежей, знает где их искать, где они используются и позволяет быстро к ним переходить.

Новые фичи этого релиза:
- Подсказки handle чертежей в секции navigation и source (для полей с типом mixin) в других чертежах
- Подсказки handle чертежей в подключении компонентов Tailor в файлах тем
- Подсказки имен иконок в navigation и primaryNavigation чертежей
- Поиск ссылок на чертеж
- Команда для быстрого открытия чертежа octoberCode.goToBlueprint (рекомендую добавить хоткей)
- И я добавил набор иконок octo-* в все подсказки по иконкам

Ну и несколько исправлений:
- Исправлено определении локали приложения, если локаль не объявлена в .env
- Исправлены yaml схемы для чертежей
- Исправлены подсказки layout в страницах тем

==

OctoberCode 0.16.0 is out!

This time I bring you something for work with Tailor. From now OctoberCode knows what is blueprints, how to work with it and tries to help you with it. For example completes handle of blueprints, knows where to find it, where it used and to quick open it.

New features of this release:
- Completions of blueprints handle in navigation and source (for mixin fields) in other blueprints
- Completions of blueprints handle in attaching tailor components in theme files
- Completions of icons in navigation and primaryNavigation of blueprints
- Finding references and definitions of blueprints
- Command for quick open blueprints octoberCode.goToBlueprint (don't forget to bind hotkey for this)
- And I added octo-* icon set to all icon completions

And some fixes:
- Fixed locale detection if locale is not set in .env
- Fixed yaml schemas for blueprints
- Fixed layout completions in theme pages
Релиз OctoberCode 0.17.0!

Новые фичи этого релиза:
- Ссылки на конфиги списков в $this->listRender('list_name')
- Ссылки на конфиги связей в $this->relationRender('relation_name')
- Ссылки на классы команд в Artisan::call('command.code'), Artisan::queue('command.code') (пока только для плагинов и модулей)
- Подсказки кодов команд в Artisan::call('command.code'), Artisan::queue('command.code') (пока только для плагинов и модулей)
- Подсказки названий паршлов в $this->makePartial('...') для виджетов
- Подсказки ajax-методов в $this->getEventHandler('...') для виджетов
- Ссылки на ajax-методы в $this->getEventHandler('...') для виджетов

Так же я улучшил подсказки для атрибутов моделей в fields.yaml и columns.yaml. Теперь они появляются автоматически.

==

OctoberCode 0.17.0 is out!

New features of this release:
- Links to list config files in $this->listRender('list_name')
- Links to relation config files in $this->relationRender('relation_name')
- Links to command classes in Artisan::call('command.code'), Artisan::queue('command.code') (only for plugins and modules for now)
- Completions of command codes in Artisan::call('command.code'), Artisan::queue('command.code') (only for plugins and modules for now)
- Completions of partial names in $this->makePartial('...') for widgets
- Completions of ajax methods in $this->getEventHandler('...') for widgets
- Links to ajax methods in $this->getEventHandler('...') for widgets

Also I've improved completions for model attributes inside fields.yaml and columns.yaml. Now completions appears automatically.
🔥1
Релиз OctoberCode 0.18.0!

Новые фичи этого релиза:
- Дополнение событий в Event::listen('...')

Улучшения:
- Индексирование команд теперь знает что такое сигнатуры и читает их
- Теперь при генерации команд artisan будет использоваться $signature если версия OctoberCMS >= 3.2
- Версия OctoberCMS теперь определяется по composer.lock вместо composer.json, что делает определение более точным
- Дополнения для icon: теперь работают во всех yaml конфигах, а не только в чертежах Tailor

==

OctoberCode 0.18.0 is out!

New features in this release:
- Completions for event names in Event::listen('...')

Improvements:
- Artisan commands indexer now knows what is signatures
- Artisan commands now generates with $signature if you use OctoberCMS >= 3.2
- OctoberCMS version now detects by composer.lock instead of composer.json, which makes detection more accurate
- Completions for icon: now works in any yaml config, not only Tailor blueprints
Релиз OctoberCode 0.19.0!

Новые фичи этого релиза:
- Поиск объявлений и слушателей глобальных событий, как системных, так и пользовательских
- Поиск объявлений и использований переменных окружения
- Ссылки на методы бэкенд контроллеров в вызовах $this->actionUrl('...') в представлениях этих контроллеров

Улучшения:
- Дополнение ключей разрешений теперь работает в BackendAuth::userHasAccess('...') и BackendAuth::userHasPermission('...')

==

OctoberCode 0.19.0 is out!

New features in this release:
- Definitions and references for global events. System and user defined
- Definitions and references of env variables
- Links to backend controller's methods in $this->actionUrl('...') calls inside these controller's views

Improvements:
- Completions for permission keys now works in BackendAuth::userHasAccess('...') and BackendAuth::userHasPermission('...')
🔥1
Релиз OctoberCode 0.20.0!

Новые фичи этого релиза:

- Определение версии OctoberCMS для версии 3.4
- Новая команда которая показывает версию OctoberCMS
- Новая команда для переиндексации проекта. Бывает полезно, если сделать изменения в проекте вне VSCode
- Twig фильтр content для рендера сниппетов появившихся в OctoberCMS 3.4
- Метод renderPageSnippets в генераторе плагинов
- Дополнения свойств сниппетов в подключении компонента viewBag в паршлах
- Дополнения свойств сниппетов в twig секции паршлов

Улучшения:

- Добавлен фасад App в генератор файла phpstorm meta
- Показ перевода в дополнении ключей переводов в локали текущего проекта

Исправления:

- Исправлено дублирование переменных окружения в дополнении ключей в env()
- Дополнение ключей переводов теперь работает в любом файле проекта

==

OctoberCode 0.20.0 is out!

New features in this release:

- Detect OctoberCMS v3.4
- New command for show OctoberCMS version
- New command for reindex workspace. It can be useful when you make changes in project tree outside of VSCode
- content twig filter for render page snippets introduced in OctoberCMS v3.4
- Add renderPageSnippets option for plugin generator
- Completions of snippets properties in viewBag component in theme partials
- Completions of snippets properties in twig section of partials as variables

Improvements:

- Add App facade to phpstorm meta file generator
- Translation autocomplete show translations in details using current project locale

Fixes:

- Fixed showing env variables multiple times in env() completions
- Translation keys autocomplete now works in any file of project
🔥1
Релиз OctoberCode 0.21.0!

Новые фичи этого релиза:

- Подсказки для названий методов для параметра options в фильтрах с типом group

Улучшения:

- C Pivot моделями теперь можно работать как с обычными моделями

Исправления:

- Проверка существования метода options в конфиге фильтров теперь определяет модель по названию класса контроллера, если нет параметра modelClass
- Исправлена схема для конфига фильтров. Параметр type теперь не обязательный
- Исправлены ссылки на методы options и scope в фильтрах списков
- Исправлена проверка существования шаблона в страницах темы

==

OctoberCode 0.21.0 is out!

New features in this release:

- options method completions in list filters for scopes with group type.

Improvements:

- Now you can work this Pivot models like with normal models

Fixes:

- options methods existence check in yaml configs now guessing model from controller name if there is no modelClass property
- Fixed yaml schemas for list filters. type property is not required anymore
- Fixed document links to options and scope methods in list filters
- Fixed check layout existence diagnostic for theme pages
🔥3
Релиз OctoberCode 0.22.0!

Новые фичи этого релиза:

- Подсказки имен таблиц в Schema::table('...'), Schema::dropIfExists('...'), $table->foreignId('column_name')->constrained('...') и других методах внутри миграций
- Подсказки по именам Ajax-методов в data-request="..." и data-handler="..." в страницах и паршлах контроллеров
- Подсказки по именам Ajax-методов в $this->getEventHandler('...') в паршлах виджетов
- Поиск ссылок и объявлений Ajax-методов в контроллерах и виджетах

Улучшения:

- Теперь при генерации миграций в проектах на October 3.3 и новее будут использоваться анонимные миграции

Исправления:

- Исправлен загрузка связей моделей, которые используют self::class или static::class в качества связанной модели
- Убраны дубликаты имен методов в подсказках по страницам контроллеров

А так же теперь генератор моделей использует $fillable вместо $guarded
OctoberCode 0.22.0 is out!

New features:

- Table names completions in Schema::table('...'), Schema::dropIfExists('...'), $table->foreignId('column_name')->constrained('...') etc inside migrations
- Ajax handlers completions in data-request="..." and data-handler="..." in controllers views
- Ajax handlers completions in $this->getEventHandler('...') in widgets views
- References and definitions for ajax handlers in controllers and widgets views

Improvements:

- Now migrations generator uses anonymous migrations for projects with October 3.3 or newer

Fixes:

- Fixed loading model relations witch uses self::class or static::class as related model names
- Removed duplicates from controller action autocompletion

Also model generator uses $fillable instead of $guarded
👍5
Релиз OctoberCode 0.23.1!

Новые фичи:

- Подсказки при объявлении связей belongsTo на основе имен атрибутов, которые заканчиваются на _id. Атрибуты должны быть описаны в докблоке, $fillable или $guarded
- Более точное автодополнение за счет опоры на AST вместо регулярных выражений

Исправления:

- Исправлено дополнение свойств компонентов в подключении их к файлам тем
- Исправлено отображение версии в миграциях использующих анонимные классы

==

OctoberCode 0.23.1 is out!

New features:

- Completions of belongsTo relation names based on model attributes ending with _id. Attributes must be listed in docblock, $fillable or $guarded
- More accurate auto completions. It is achieved by using AST instead of regular expresions

Fixes:

- Fixed components properties autocompletions in theme files
- Fixed showing version in migrations uses anonymous classes
🔥4👍1
OctoberCode 0.25.0!

Пост про прошлый релиз я пропустил, так что тут будет описание новых фич и из 0.24.

Новые фичи:

- Поиск использований модели в yaml-конфигах
- Ссылки на кастомные кнопки в конфигах RelationController
- Быстрое создание вьюх для кастомных кнопок в конфигах RelationController
- Дополнение таблиц в описании связей $belongsToMany в моделях
- Дополнение значений для itemType внутри registerNavigation
- Проверка существования и быстрое создание конфигов behavior в контроллерах
- Генератор моделей настроек теперь будет использовать новый класс SettingModel если в проекте используется новая версия OctoberCMS

Также в этих версиях были исправлены различные ошибки, связанные с миграциями, атрибутами моделей и производительностью автодополнения.

==

OctoberCode 0.25.0!

I have skipped post about previous version, so there will be description about 0.24 as well.

New features:

- Find models usages in yaml configs
- Links to custom buttons in RelationController configs
- Code action for creating custom buttons in RelationController config files
- Completions of table names in $belongsToMany definitions
- Completions for itemType inside registerNavigation method
- Check if behavior config exists and quick fix to create it
- Generator of settings models now uses SettingModel base class in projects based on new versions of OctoberCMS

Also in these versions I fixed some issues with migrations, model attributes autocompletion performance.
2
OctoberCode 0.26.0!

Новые фичи:

- Линза для отображения ссылок на yaml конфиг
- Дополнение различных занчений из конфигов

Исправления:

- Исправлены ошибки в схемах yaml конфигов
- Исправлен шаблон генерации кастомных кнопок в тулбаре RelationController

==

OctoberCode 0.26.0!

Features:

- Lens with reference for yaml configs
- Completion of db connection names, log channels, queue names, storage disk names, mailers

Fixes:

- Some fixes to yaml schemas
- Fixed custom relation toolbar button template
👍3🔥1
OctoberCode 0.27, 0.28 и 0.29!

Новые фичи:

- Поддержка OctoberCMS 3.6
- Линза "Add to version", которая поможет быстро добавить новую миграцию в version.yaml
- Ссылка на fields.yaml в моделях отнаследованных от SettingsModel
- Проверка существования паршла в методе $this->makePartial('partial_name') в контроллерах админки и быстрое исправление чтоб не создавать файл руками
- Поддержка конфигов .prettierrc
- Форматирование не только файлов темы, но и, например, разметки компонентов или шаблонов писем

Улучшения:

- Схемы для yaml конфигов обновлены до OctoberCMS 3.6 (спасибо Сэму за коммиты)
- Дополнение html data-* атрибутов недавно появившихся в ajax фреймворке
- Теперь название выбранной yaml схемы отображается в читаемом виде

Исправления:

- Исправлен поиск использований событий
- Модели Tailor теперь индексируются нормально и отображаются в диалоге выбора модели

==

OctoberCode 0.27, 0.28 и 0.29!

New features:

- Support for OctoberCMS 3.6
- "Add to version" lens which will help you to quick add new migration to version.yaml
- Link to fields.yaml in models extending SettingsModel
- Check if partial exists in $this->makePartial('partial_name') in admin controllers and quick fix for not creating it by hand
- Support for .prettierrc config files
- Formatting not only theme files. e.g components partials or mail templates

Improvements:

- Yaml schemas updated to OctoberCMS 3.6 (thanks to Sam for contribution)
- New html data-* attributes for ajax framework
- Now chosen yaml schema shows label in readable form

Fixes:

- Fixed finding of event usages
- Tailor models now indexing fine and show in Choose model dialog
🔥21
OctoberCode 0.30!

Основное нововведение этого релиза - definitions and references для компонентов. То есть OctoberCode теперь умеет искать где компонент был использован. В том числе с алиасами.

Помимо этого в 0.30 теперь умеет:
- работать с ajaxPartials - подсказывает названия и ищет использования
- и работать ControllerBehaviors - подсказывает ajax методы в data-request и data-handler и ищет где эти методы использованы

==

OctoberCode 0.30!

Main new feature in this release is definitionas and references for components. So OctoberCode new can find usages of components, even with aliases.

Also 0.30 now knows how to
- work with ajaxPartials - suggests names and finds usages
- and ControllerBehaviors - suggests names of ajaxHandles in data-request and data-handler and finds its usages
2