nvlad / yii2support

Yii2 Support for PhpStorm / IntelliJ IDEA
https://plugins.jetbrains.com/idea/plugin/9388-yii2-support
Other
295 stars 54 forks source link

Some fixes and improvements #270

Closed iglooom closed 2 years ago

iglooom commented 3 years ago

Completion in attributeLabels and widgets config Peek 2021-03-15 13-32 Peek 2021-03-25 12-07

iglooom commented 3 years ago

Наверное не очень корректная реализация прямо в ValidationCompletionProvider, но там уже прям все готовое было для этого )

nvlad commented 3 years ago

Наверное не очень корректная реализация прямо в ValidationCompletionProvider, но там уже прям все готовое было для этого )

Если не сложно вынеси пожалуйста это в отдельный провайдер например AttributeLabelCompletionProvider с копи-пастой нужных частей кода/файлов, что бы потом, по мере возможности, рефакторинг этого сделать)

PS: Спасибо за проделанную работу!)

iglooom commented 3 years ago

Ага, сделаю тогда так.

iglooom commented 3 years ago

Упс, что-то я не рассчитал что оно так сразу попадет разом в этот PR. В общем я дополнение в attributeLables вынес отдельно как выше просил. И еще добавил индексирование файлов из конфигов и поиск там components с их классами, чтобы это все подставлялось в Yii::$app. К сожалению там без разбора в каком именно приложении, фронт/бек/консоль, может быть в будущем еще доделаю этот момент когда-нибудь.

iglooom commented 3 years ago

@nvlad в коммите 4472b44 вроде как поправил #263 не знаю как это работает, нашел вот тут https://intellij-support.jetbrains.com/hc/en-us/community/posts/206751155/comments/206653549

iglooom commented 3 years ago

А в 6e84273 пофиксил #214 и еще один похожий кейс но при создании файла.

iglooom commented 3 years ago

@nvlad в общем наверное это пока все, как будет возможность можешь глянуть. Список изменений:

И немного обновил конфиги для сборки под свежие версии.

iglooom commented 3 years ago

In case if anyone want to test my build, drag-and-drop this file to idea. Yii2 Support-0.10.58.50.zip

My6UoT9 commented 3 years ago

Its working fine! Well except for the views in vendor folder. But that is not surprising, I guess I have it wrong configured.

iglooom commented 3 years ago

Actually vendor folder ignored on purpose by this https://github.com/nvlad/yii2support/blob/28fa94b7f8aadef5561823d35364bb9f3db83b2a/src/com/nvlad/yii2support/views/util/ViewUtil.java#L48 Don't know exactly why, seems to be for reduce indexing time, vendor folder can be huge.

But, why you needed completion in vendor folder? Usually modifying in this folder is not allowed.

My6UoT9 commented 3 years ago

I do modify packages directly in vendor folder. All the packages I do modify have a composer entry with dev-main; and so I can even do composer update.

Its nice to work that way, the only complexity is - on composer update, composer does remove the folder and create it again. Thus the .idea folder is lost. But there is a workaround for that too, create a project outside of the main project, change its content root to the package in vendor folder from the main project., then attach that project to the main project And so phpstorm has the .idea folder somewhere else, and composer works fine too.

( for sake completeness - about "Add ability to save project info (.idea) outside of project folder"): https://youtrack.jetbrains.com/issue/IDEA-170102?p=WI-343#comment=27-146369 )

iglooom commented 3 years ago

Hm, I think we can remove this condition from plugin and allow user to do what he wants. I assume it is not to be an issue as by default idea already exclude vendor folders from indexing. Try this build. I've removed checking for vendors folder for views, but it needs to remove certain folder from excluded in File->Project Structure

Yii2 Support-0.10.58.51.zip

My6UoT9 commented 3 years ago

Absolutely amazing it just works everywhere now, I don't even have Themes path mapping defined at all; lol I tried so many combinations - haha 🤯.

Since I work with those packages, they have already been indexed - and not excluded 👍

iglooom commented 2 years ago

I forgot to upload latest zip Yii2 Support-0.10.58.52.zip

Mikk36 commented 2 years ago

Inspections seem a bit broken again with 2022.2. One that immediately comes up specifically is the inability to populate ActiveRecord @property fields in the PHPdoc section.

@iglooom, would You be able to make it all work again?