FLEXIBLE SOLIDITY
When boredom leads to better tools
I was deep into AIVory development, hit a wall, and needed a mental break. Some people go for walks. I apparently build JetBrains plugins.
This wasn’t new territory for me – I’d already built Scipio ERP Integration, Flexible FreeMarker, Magnolia CMS Integration, consulted on Cody AI, and created the Rookout plugin. Plugin development had become my preferred form of procrastination.
I’ve always been fascinated by blockchain technology from a purely technical perspective. Back in 2018, we built the first ERP/E-Commerce system running on the Lightning network for Scipio ERP (Is the Lightning network ready for commerce?, The issue with Bitcoin in commerce). So when I found myself with some free time, I opened IntelliJ to check out the current state of Solidity support.
It was… underwhelming. There was one other plugin, but it lacked basic features and the language implementation itself was buggy. No proper autocomplete. No security checks. Barely functional navigation.
Three months later, I had Flexible Solidity.
What started as cleanup became comprehensive
Initially, I just wanted proper syntax highlighting and autocomplete. But once I got the language parser working correctly, I kept noticing gaps. Before I knew it, I had 10+ security checks running in real-time, catching vulnerabilities as you type.
Templates that actually save time
I got tired of writing the same OpenZeppelin boilerplate repeatedly. So I built 27+ live templates directly into the plugin. Type s:erc20 and get a complete ERC20 token implementation. s:upgradeable generates a full UUPS upgradeable contract. s:reentrancy adds ReentrancyGuard protection with proper imports and setup.
The template system covers everything from basic contracts to complex patterns like AccessControl, Pausable, and SafeERC20 operations. Each template includes proper NatSpec documentation and follows current best practices.
Framework detection that works
One small annoyance I fixed: never being sure if a project uses Hardhat, Foundry, or both. The plugin automatically detects your framework setup by checking for hardhat.config.js/ts or foundry.toml, then shows it in the status bar. It even handles hybrid projects running both frameworks simultaneously, adjusting directory detection accordingly (contracts/ vs src/).
Everything you’d expect from mature IDE support
Since I’d built several language plugins before, I knew what developers actually need:
- Go to Definition (Ctrl+Click) that actually works across contracts, functions, variables, and imports
- Find Usages (Alt+F7) for tracking references across your entire project
- Rename refactoring that updates all references without breaking your contracts
- Structure View with visibility-specific icons and smart sorting
- Hover documentation for quick reference without leaving your code
- Parameter hints for function calls
- Code folding for contracts, functions, structs, enums, and assembly blocks
I also added a built-in documentation panel with six tabs: Language Reference, Tutorials, Best Practices, Security Guidelines, Code Examples, and a Quick Reference cheat sheet. Because who actually remembers all the Solidity syntax?
Built for the community
The Solidity development community deserves professional tooling. JetBrains IDEs are excellent, but they need proper language support to be truly effective. This plugin brings that support – complete language implementation, real security analysis, practical optimizations, and comprehensive templates.
Check it out at plugins.jetbrains.com/plugin/28744-flexible-solidity.
| Education | EBS Business School, SFSU, HSG |
| Experience | 20 Years Enterprise Systems |
| Built | Scipio ERP - ERP & Ecommerce System |
| Author | "Start/Up - Set the net on fire" |
| JetBrains | 5x Plugins Published |
| Languages | Java, Python, JS, TS, Rust, Go, Swift, PHP |
| Frontend | React, Vue, Angular, HTML/CSS |
| Databases | PostgreSQL, MySQL, MongoDB |
| Caching | Redis, Memcached |
| Enterprise | L'Oréal, Amadeus, Konica Minolta, Orange |
| Digital | 1&1 Internet, Sedo.com, Creditsafe |
| Public | DRK, Kanton Basel, Aktion Mensch, Börsenverein |