Problém s latte pluginem v PhpStormu

Zdeno1981
Člen | 100
+
+3
-

Zdravím,

tento týden se mi aktualizoval PhpStorm

PhpStorm 2020.1.3
Build #PS-201.8538.41

nevím proč, ale při práci v latte šablonách se mi seká nebo dokonce zamrzne PhpStorm

Verze pluginu

Latte plugin 1.1.0

při spuštění PhpStormu, mám toto upozornění

Latte configuration reloaded
Latte plugin detected latte-intellij.xml file. Latte files need reparse.
Reparse Latte Files

netušíte někdo co s tím je?

neznamy_uzivatel
Člen | 115
+
0
-

Taky mi to dělalo, Latte files need reparse → reparse nepomohlo, hláška zůstávala.
Shodou okolností jsem si totálně rozbil systém a po reinstallu a čisté instalaci pstormu je to OK i s verzí 2020.1.3 (Kubuntu 20.04)

//EDIT
Tak nic, jen jsem zatím neměl otevřenou šablonu v projektu s aktivním latte pluginem… :)
Takže i při čisté instalaci chce dokolečka „Latte files need reparse“.

Editoval neznamy_uzivatel (23. 7. 2020 13:19)

Lumeriol
Generous Backer | 29
+
+1
-

Mohu potvrdit problémy i na 2020.2 beta

Obvykle „need reparse“ zmizí po dokončení indexace PhpStormu.
Zamrzání jsem vypozoroval při špatné konfiguraci Latte tagů – omylem vložené složené závorky nebo kříženého ukončení tagů – zkrátka když v šabloně nenajde protikus.

S přidáním nepárového Contributte\Multiplier tagu jako Custom pair tag to zabilo celé IDE a pomohlo až smazání .idea složky s aktuálním nastavením projektu.

Verze 1.1.0-rc4 byla v tomto ohledu v pohodě, teprve se Stable se úplně nedaří.

Zdeno1981
Člen | 100
+
0
-

Tak před malou chvílí se mi opět aktualizoval PhpStorm a to upozornění po aktualizaci zmizelo:

Latte configuration reloaded
Latte plugin detected latte-intellij.xml file. Latte files need reparse.
Reparse Latte Files

nicméně mi to píše všude uncloset tag a netuším proč, dříve s tím problém žádný nebyl, zkusím to zítra přeinstalovat.

#EDIT
Problém pozoruji jen v @layout.latte šablonách, u ostatních problém nemám.

Editoval Zdeno1981 (23. 7. 2020 14:39)

Michal Kumžák
Člen | 106
+
+2
-

Včera mi začal phpstorm v latte zamrzávat, tak sem nakonec udělal novou instalaci. Teď mám toto:

PhpStorm 2020.2
Build #PS-202.6397.115, built on July 29, 2020
Licensed to Michal Kumžák
Subscription is active until December 27, 2020
Runtime version: 11.0.7+10-b944.20 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 10 10.0
GC: ParNew, ConcurrentMarkSweep
Memory: 984M
Cores: 16
Registry: run.processes.with.pty=TRUE
Non-Bundled Plugins: NEON support, Nette framework helpers, com.jantvrdik.intellij.latte, cz.jiripudil.intellij.nette.factoryGenerator, cz.jiripudil.intellij.nette.tester

Po reinstalu mi to v latte pořád zamrzávalo, tak sem latte vypnul a znova zapnul a pak už to netuhlo. Netuším proč a doufám, že se mi to nevrátí.

Jinak hláška „Latte plugin detected latte-intellij.xml file. Latte files need reparse.“ mi vyskakuje pořád.

Pázny
Člen | 2
+
+2
-

Mám stejný problém se zamrzáním.
Hláška skáče při každém spuštění PHPStormu a po cca dvou hodinách práce v latte, začne zamrzávat celé IDE(při editaci .latte) takovým způsobem, že mezi stiském klávesy a než se objeví v IDE čekám cca 20s, takže naprosto nepoužitelné.

PHPStorm v 2020.2, Latte plugin v 1.1.0

Zatím jsem downgradoval plugin na 1.0.2 a je to lepší, ale stejně je odezva při psaní v .latte cca 5× větší, než když edituji .php file.

Editoval Pázny (12. 10. 2020 14:23)

forgie
Bronze Partner | 18
+
0
-

Mám naprosto stejný problém s Latte pluginem v 1.1.0 v PhpStorm 2020.2.3.
Zajímavé je, že se to neděje v každé .latte šabloně, ale jen v některých. Ale zatím jsme nevypozoroval čím by to mohlo být, nic nestandardní tam není :(

Latte configuration reloaded
Latte plugin detected latte-intellij.xml file. Latte files need reparse.
Reparse Latte Files

Nikdo nenašel řešení ?

David Grudl
Nette Core | 7740
+
+2
-

forgie napsal(a):

Nikdo nenašel řešení ?

Plugin vyvíjí pouze @mesour ve svém volném čase, takže pokud to nevyřeší on, nikdo jiný řešení nenajde.

Mám s pluginem stejné problémy, proto navrhuji Matouše k dalšímu vývoji motivovat. Pojďme do toho!

Šaman
Člen | 2591
+
+1
-

Ahoj, mám stejný problém. Dá se nějak nainstalovat starší verze pluginu, pls? (1.0.2) Případně neexistuje nějaký starší plugin, který by jen obarvoval syntaxi? Díky.

Marek Bartoš
Nette Blogger | 653
+
+3
-

Doporučuju stáhnout EAP verzi, s nejnovějším phpstormem běží celkem bez problémů
https://github.com/…tellij-latte#…

mesour
Nette Blogger | 229
+
0
-

Ta hláška tam byla schválně a zobrazovala se vždy po otevření nové instance PhpStormu, aby se přegenerovaly soubory po načtení. Ve verzi 1.1.4 už jsem to vyřešil tak, že se hláška nazobrazuje a plugin je schopný to přegenerovat na pozadí.


@Zdeno1981 Sekání a zamrznutí PhpStormu s touto hláškou ale nesouvisí. To je způsobené tím, že plugin nepracuje optimálně a změny by byly potřeba už na úrovni parseru, což by zapříčinilo nutné změny v celém pluginu. A to je velký zásah a chce to hodně času, proto se zatím tyto změny neudály.

Největší zamrznutí způsobí { bez ukončovací }. Při běžném psaní se to nestane protože plugin automaticky doplní } při {. Takže pozor při mazání raději smazat celý tag pomocí výběru než mazat po znacích. Také by se to mohlo zasekávat při špatném použití tagů, tedy když bude tag párový a použiji ho jako nepárový.

Úplně nejlepší by pro parser bylo, kdyby @DavidGrudl zakázal nepárové tagy používat bez / na konci. Takže správně by to bylo jako je to v XML. Když je párový, tak je {tag} ... {/tag}. A když je nepárový, tak je to {tag ... /}. Tím by se vyřešily úplně všechny problémy parseru krásně a elegantně, protože by parser nepotřeboval žádnou konfiguraci, vše by bylo jasně v kódu a konfigurace by se použila pouze pro anotace a následné featury.

Ale ani tyto změny by nezapříčinily, že by plugin fungoval rychle, protože je tam více věcí, které nejsou naprogramované s ohledem na performance, stále by to na velkých projektech lagovalo.

Jinak já se pokusím naprogramovat parser tak, že to bude fungovat i takto, jenom to bude nejspíš do placeného pluginu napsaného od nuly (kde půjdou nejspíš custom tagy konfigurovat pouze přes settings, protože v PhpStormu není možné, aby parsing jednoho souboru závisel na parsingu jiného (proto ten dialog reparse files) a sporné tagy jako {label}, {_} a {block} se jako nepárové budou muset používat s / na konci) a z free pluginu se zase stane pouze syntax highlighter, jako byl dříve.

mesour
Nette Blogger | 229
+
0
-

@Šaman starší plugin existuje pouze pro starší PhpStormy. Také je možnost, že by jsi vyšel z nějakého staršího commitu a upgradoval plugin pro nejnovější PhpStorm.

David Grudl
Nette Core | 7740
+
+3
-

mesour napsal(a):

Úplně nejlepší by pro parser bylo, kdyby @DavidGrudl zakázal nepárové tagy používat bez / na konci. Takže správně by to bylo jako je to v XML. Když je párový, tak je {tag} ... {/tag}. A když je nepárový, tak je to {tag ... /}. Tím by se vyřešily úplně všechny problémy parseru krásně a elegantně, protože by parser nepotřeboval žádnou konfiguraci, vše by bylo jasně v kódu a konfigurace by se použila pouze pro anotace a následné featury.

Plánuju to