Closed iglooom closed 2 years ago
Наверное не очень корректная реализация прямо в ValidationCompletionProvider, но там уже прям все готовое было для этого )
Наверное не очень корректная реализация прямо в ValidationCompletionProvider, но там уже прям все готовое было для этого )
Если не сложно вынеси пожалуйста это в отдельный провайдер например AttributeLabelCompletionProvider с копи-пастой нужных частей кода/файлов, что бы потом, по мере возможности, рефакторинг этого сделать)
PS: Спасибо за проделанную работу!)
Ага, сделаю тогда так.
Упс, что-то я не рассчитал что оно так сразу попадет разом в этот PR. В общем я дополнение в attributeLables вынес отдельно как выше просил. И еще добавил индексирование файлов из конфигов и поиск там components с их классами, чтобы это все подставлялось в Yii::$app. К сожалению там без разбора в каком именно приложении, фронт/бек/консоль, может быть в будущем еще доделаю этот момент когда-нибудь.
@nvlad в коммите 4472b44 вроде как поправил #263 не знаю как это работает, нашел вот тут https://intellij-support.jetbrains.com/hc/en-us/community/posts/206751155/comments/206653549
А в 6e84273 пофиксил #214 и еще один похожий кейс но при создании файла.
@nvlad в общем наверное это пока все, как будет возможность можешь глянуть. Список изменений:
И немного обновил конфиги для сборки под свежие версии.
In case if anyone want to test my build, drag-and-drop this file to idea. Yii2 Support-0.10.58.50.zip
Its working fine! Well except for the views in vendor folder. But that is not surprising, I guess I have it wrong configured.
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.
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 )
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
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 👍
I forgot to upload latest zip Yii2 Support-0.10.58.52.zip
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?
Completion in attributeLabels and widgets config