MENU

  /   Ondersteuning voor IntelliJ IDEA

Om goed met MetaFactory te kunnen werken in combinatie met IntelliJ moet een aantal instellingen gedaan worden.

Oplossen van xml fouten

Als je een MetaFactory pattern.xml file opent in IntelliJ dan zijn de namespace en schemalocation rood gemarkeerd, zoals in onderstaand plaatje te zien is:

IntelliJPatternXmlError

Ga met je cursor naar de in het rood gemarkeerde namespace en druk op ALT-ENTER om het probleem op te lossen. Kies de optie “Manually setup external resources”:

IntelliJPatternFixXmlError

Navigeer vervolgens naar de MetaFactory installatie folder en selecteer de juiste xsd in de support subfolder.

IntelliJExternalResourceSelection

file namespace xsd
metafactory.xml http://www.firstbase.nl/xsd/personaliom/project personal-iom-project.xsd
pattern.xml http://www.firstbase.nl/xsd/personaliom/pattern pattern.xsd
model.xml http://www.firstbase.nl/xsd/personaliom/model model.xsd

 

Live Templates

Om de live templates voor MetaFactory te gebruiken moet het bestand Freemarker.xml uit de support/idea subfolder van de MetaFactory installatie gekopieerd worden. Kopieer dit bestand naar de IntelliJ settings folder:

OSX: ~/Library/Preferences/IntelliJIdea14/templates/Freemarker.xml
Windows: <user_home>\.IntelliJIdea14\config\templates\Freemarker.xml

Als bovenstaand bestand gekopieerd is, dan zien de Live Templates er als volgt uit:

IntelliJLiveTemplates

 

Impliciete objecten in Freemarker of Velocity template

In de context van Freemarker en Velocity plaatst MetaFactory verschillende objecten. Deze objecten moeten bekend gemaakt worden bij IntelliJ, zodat de fouten (onderstrepingen) in onderstaande afbeelden verdwijnen:

IntelliJUnknownObjects

Om deze objecten kenbaar te maken moeten allereerst 2 jars uit de MetaFactory installatie toegevoegd worden als Global Library in het project:

IntelliJAddGlobalLibrary

Zowel metafactory-api-<version>.jar als jdom2-<version>.jar moeten worden toegevoegd. Vervolgens moeten ze nog worden toegevoegd aan de MetaFactory modules, dit kan worden gedaan door rechts-klik->’Add to Modules…’ en selecteer de MetaFactory modules.

Vervolgens moeten de bestanden freemarker_implicit.ftl en velocity_implicit.vm naar het project met de metafactory snippets gekopieerd worden. Deze 2 bestanden staan in de support/idea submap van de MetaFactory installatie folder. Als deze 2 bestanden naar de sources root van de IntelliJ module worden gekopieerd, dan worden ze automatisch gebruikt in IntelliJ. Het verschilt per module of de gehele module of een subfolder van de module als sources root wordt gezien. Soms is er nog helemaal geen sources root, dan moet deze directory expliciet gemarkeerd worden als sources root:

IntelliJMarkDirectoryAsSourcesRoot

Als alles gelukt is, dan verdwijnen de fouten in de Freemarker en Velocity editor en werkt autocomplete op deze objecten.