Plugin Latte Pro – chyba přidání custom paired tag, jak vyřešit ručně?
- m.brecher
- Generous Backer | 873
Ahoj,
zápolím s nově nainstalovaným pluginem Latte Pro. Plugin nezná latte tag {translate}, ani předchozí verze, musí se do pluginu přidat ručně.
V projektu jsem tag {translate}{/translate} používal a ve staré free verzi pluginu Latte jsem si ho přidal ručně (klik pravou myší na custom tag → Show context actions → „Add custom paired tag“) . Po odinstalování staré verze pluginu a instalaci nové verze Latte Pro v souborech latte nastaly s custom tagy problémy.
Ve všech souborech vytvořených před změnou latte pluginu lze psát nové tagy již dříve registrované tagy {translate}{/translate} bez problémů, plugin je zná.
V souborech .latte vytvořených nově po reinstalaci pluginu plugin tag {translate}{/translate} nezná a podtrhává ho červeně. Context action ale nabídne pouze nesprávnou akci „Add custom unpaired tag“ a to přestože jsem napsal řádný párový tag {translate}{/translate}.
Zkusil jsem přidat {translate}{/translate} jako nepárový tag akcí „Add custom unpaired tag“, ale to dle očekávání registruje pouze {translate}, takže se červeně podtrhává uzavírací tag {/translate}. V souborech vytvořených před reinstalací pluginu ale je registrován párový tag {translate}{/translate} správně.
Rád bych používal perspektivní verzi pluginu Latte Pro, ale jak vyřešit řádnou registraci {translate}{/translate}?
Podle chování pluginu to vypadá, že registrace custom tagu nefunguje v celém projektu a že mám {translate} registrovaný dvakrát – ve starých šablonách jako párový a v nových šablonách jako nepárový :(.
Předpokládám, že registrované tagy budou uloženy v nějakém xml konfiguračním souboru, kde by se editací dal problém vyřešit.
Otázka – neporadil by někdo, kde konfiguraci custom tagů v projektu najít a popř. jak data upravit?
Díky předem.
- Marek Bartoš
- Nette Blogger | 1275
V repozitáří můžeš založit issues pro chyby na které jsi narazil + se prokliknout na dokumentaci https://github.com/…e-pro-issues
To přidávání párového tagu z kontextu teď vskutku nefunguje, ale můžeš v konfiguraci IDE nastavit tagy správně (Settings → PHP → Latte), případně přes xml soubor (syntaxe se liší od původního pluginu)
- m.brecher
- Generous Backer | 873
@MarekBartoš
Díky,
V repozitáří můžeš založit issues pro chyby na které jsi narazil
Včera jsem tam už dvě bug issue napsal a bude jich celá řada, tak je tam postupně budu dokumentovat. Nový plugin má chyb víc než starý, ale chápu, že to zabere nějaký čas, než se to odladí.
případně přes xml soubor (syntaxe se liší od původního pluginu)
No a to bych právě potřeboval poradit kde ten xml soubor najdu a kde je popsaná syntaxe?
Editoval m.brecher (23. 2. 2023 18:21)
- Marek Bartoš
- Nette Blogger | 1275
Je popsaný v dokumentaci
https://mesour-intellij-plugins.github.io/latte.html#…
- m.brecher
- Generous Backer | 873
@MarekBartoš
Ahoj,
díky za navedení správným směrem, hledal jsem dle dokumentace konfigurační soubor pluginu intellij-latte-pro.xml, protože jsem předpokládal, že ho plugin vytvořil, když jsem registroval custom tag.
Ne našel jsem ho, ale našel jsem v /project/.idea/latte-pro.xml, kde byl registrovaný custom tag
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="LatteSettings">
<option name="a">
<list>
<LatteTagSettings name="translate" type="PAIR" />
</list>
</option>
</component>
</project>
Tuto konfiguraci jsem zakomentoval a vytvořil dle dokumentace soubor intellij-latte-pro.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE latte PUBLIC "-//LATTE//Latte plugin XML V0.0.1//EN" ".idea/intellij-latte-pro/xmlSources/Latte.dtd">
<latte vendor="brecher/latte-plugin" version="1">
<tags>
<tag name="translate" type="PAIR" />
</tags>
<variables>
<variable name="appDir" type="string" />
</variables>
</latte>
Funguje to výborně. Tag {translate} i n:translate je napovídán a přidal jsem i napovídání proměnné $appDir.
Poslední dotaz – co udělat se souborem /project/.idea/latte-pro.xml – to je zřejmě nějaká stará verze, která se asi časem vypne. Smazat?
- m.brecher
- Generous Backer | 873
@MarekBartoš
Tak jsem zkusil odstranit starý konfigurační soubor /project/.idea/latte-pro.xml a nový konfigurační soubor intellij-latte-pro.xml nefunguje, rep. funguje registrace proměnné, ale nefunguje registrace custom tagu.
Nahlásím to @mesour na github a vrátím starý konfigurační soubor zpět.
- Marek Bartoš
- Nette Blogger | 1275
latte-pro.xml je project-specific config do kterého se propisuje co sis
naklikal v konfiguraci. Nemazat. Závisí na něm i funkčnost tvých custom
tagů.
intellij-latte-pro.xml je ten na který jsem odkazoval. Ten může být kdekoli
v projektu i ve vendoru a načte se ti z něj vše při načtení IDE.
- m.brecher
- Generous Backer | 873
@MarekBartoš
Hmmm… tak to nějak nechápu, v intellij-latte-pro.xml configuruji custom tag a to nestačí? Musím ještě podruhé naklikat custom tag z IDE? On v souboru intellij-latte-pro.xml custom tag zvýraznil červeně s chybovým hlášením, že se má konfigurovat v Settings IDE – když byl soubor latte-pro.xml zakomentovaný, po odkomentování tato chybová hláška zmizela.
Potom konfigurace custom tagu v intellij-latte-pro.xml nedává moc smysl, protože stejně nefunguje a musí být konfigurace i naklikáním v IDE do latte-pro.xml. Ta funguje tak jako tak i když se konfigurace v intellij-latte-pro.xml zruší.
Mělo by to být udělané tak, že konfigurace custom tagu se bude provádět v intellij-latte-pro.xml a bude fungovat i bez naklikané konfigurace v IDE, která bude jako druhá varianta, nebo se zruší úplně, protože mě xml přijde daleko lepší.
- mesour
- Nette Blogger | 236
@mbrecher V intellij-latte-pro.xml se konfiguruje vše pro našeptávání, dokumentaci, inspections a tak. Ovšem problém je při parsingu souboru, parsing probíhá paralelně a proto nemůže parsing jednoho souboru záviset na parsingu druhého souboru. Proto je třeba mít tagy a jejich typy nakonfigurované v konfiguraci PhpStormu, která je při parsingu souborů již známá.
Editoval mesour (6. 4. 2023 16:41)
- m.brecher
- Generous Backer | 873
@mesour
Proto je třeba mít tagy a jejich typy nakonfigurované v konfiguraci PhpStormu, která je při parsingu souborů již známá.
Ahoj, díky za vysvětlení
V intellij-latte-pro.xml se konfiguruje vše pro našeptávání, dokumentaci, inspections a tak.
bylo by dobré časem do dokumentace Latte Pro pluginu doplnit podrobný návod jak xml soubor ke konfiguraci využít + informaci, že custom tagy a jejich typy je potřeba paralelně naklikat v PHPStormu
- Marek Bartoš
- Nette Blogger | 1275
Nepotřebuješ nic paralelně naklikávat. Definuješ si
intellij-latte-pro.xml (kdekoli mimo interní .idea složku).
Při startu projektu se ti objeví notifikace, že je třeba soubor
sesynchronizovat do interní (.idea) konfigurace, což je jedno kliknutí do
oné notifikace.
- mesour
- Nette Blogger | 236
@m.bracher ano přesně tak. Akorát ta notifikace ohledně synchronizace by se měla objevit po uložení intellij-latte-pro.xml v případě, že byl přidán nový tag a ne až po restartu.
Jinak by měla fungovat i funkce přímo v intellij-latte-pro.xml, pokud zapíši nový tag, tak by se měl jeho název v XML podbarvit červeně a po kliku by se měla objevit intention, která založí do konfigurace PhpStormu ten nový tag.
Právě jsem to testovat a obě varianty fungují tak, jak je zde popisuji.
Editoval mesour (10. 5. 2023 13:24)