<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Developer-Tools on Ilscipio - Enterprise Commerce Experts</title>
    <link>https://www.ilscipio.com/en/tags/developer-tools/</link>
    <description>Recent content in Developer-Tools on Ilscipio - Enterprise Commerce Experts</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <lastBuildDate>Tue, 01 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.ilscipio.com/en/tags/developer-tools/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>How to Add a Custom Language to Your JetBrains IDE</title>
      <link>https://www.ilscipio.com/en/blog/add-custom-language-jetbrains/</link>
      <pubDate>Tue, 01 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://www.ilscipio.com/en/blog/add-custom-language-jetbrains/</guid>
      <description>&lt;p&gt;I needed Freemarker support in IntelliJ and it did not exist. The built-in highlighting was wrong half the time, there was no completion, and navigating between templates was guessing. So I wrote a plugin. That was plugin number one. Twenty-one more followed.&lt;/p&gt;&#xA;&lt;p&gt;To add a custom language to a JetBrains IDE you need four things: a lexer, a parser, a PSI tree, and at least one useful feature on top. Everything else is optional but makes the plugin worth paying for.&lt;/p&gt;</description>
    </item>
    <item>
      <title>So I Accidentally Built 22 JetBrains Plugins</title>
      <link>https://www.ilscipio.com/en/blog/jetbrains-plugins-lessons/</link>
      <pubDate>Tue, 25 Aug 2026 00:00:00 +0000</pubDate>
      <guid>https://www.ilscipio.com/en/blog/jetbrains-plugins-lessons/</guid>
      <description>&lt;p&gt;It started with a Freemarker plugin. We were using Freemarker templates in ScipioERP and the IDE support was limited - no completion, no navigation, no syntax highlighting worth mentioning. I thought, how hard can it be.&lt;/p&gt;&#xA;&lt;p&gt;Turns out: not that hard, actually. The JetBrains platform is powerful. The documentation just does not tell you that.&lt;/p&gt;&#xA;&lt;h2 id=&#34;one-plugin-became-a-pattern&#34;&gt;One plugin became a pattern&lt;/h2&gt;&lt;p&gt;The Freemarker plugin worked. People downloaded it. I got emails. And I noticed something: the core infrastructure I had built - the PSI tree builder, the completion engine, the settings framework - was reusable. Adding support for a new language meant implementing the grammar and a few custom inspections. Everything else was shared.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
