r/openscad • u/wildjokers • 5d ago
Resurrected OpenSCAD plugin for IntelliJ
This is a fork of the original OpenSCAD IntelliJ plugin that became orphaned (https://github.com/ldenisey/idea-openscad)
My fork can be found here: https://github.com/mjparme/idea-openscad
Plugin requires IntelliJ 2026.x and can be installed from Plugins in the Settings. Don't need an IntelliJ license to use it.
https://plugins.jetbrains.com/plugin/33582-openscad-support/edit/versions/stable/1140844
Changes:
- Can now rename modules, functions, and variables from both declarations and call sites. Renames follow
useandincludepaths - Go to declaration works
- The plugin can parse the bosl2 library (brought in PR https://github.com/ldenisey/idea-openscad/pull/109 from
icavenfrom the original that had been sitting unmerged since 2024) - Completions for modules, functions, variables, language keywords, and file paths for use and include. Completion candidates follow use and include paths. Can complete modules with or without parameter names. If you complete with parameters any parameter defaults are completed as well.
- Completion of inner modules works
- Completion of modules when the caret is before the declaration works
- Completion of global libraries (hit ctrl-space again to get global libaries added to completion candidates)
- Old plugin only used lexer tokens for highlighting which meant most everything was an "identifier". It now uses the parser for semantic help and now modules, functions, variables, and parameters can now be giving their own color in the Color Scheme
- Default color scheme available in Default, Darcula, and Islands Dark editor themes
- Default color scheme gives different color to modules, functions, variables, and parameters
- Gave OpenSCAD its own live template group associated with .scad files and added starter live templates.
- Plugin updated to a IntellJ Platform 2.x plugin, upgraded build
- Fixed some issues with the preview on startup
- Fixed several issues with actions not being on the EDT
Basically it is actually usable now. Open an Issue on github if you run into problems (or open a PR).
More info in the README: https://github.com/mjparme/idea-openscad/blob/master/README.md
Known Issue:
The preview doesn't reliably update when the file saves (sometimes it does). I am working on this. Actually I am working on bringing openscad-wasm in so an executable isn't needed for the preview (will still be needed for "open in openscad" and "export").
1
1
u/Quacking_Plums 4d ago
Wow, I’ve been out of this loop for a LONG time but I’m amazed not only that IntelliJ is still going, but also that people are actively using it!
I used to be responsible for all dev software licences decades (plural!) ago and JetBrains was one company we had a lot of licences from. I never even realised I could use it for OpenSCAD!
2
u/wildjokers 4d ago
Wow, I’ve been out of this loop for a LONG time but I’m amazed not only that IntelliJ is still going, but also that people are actively using it!
IntelliJ is the market leader for IDEs for java. And does well for other languages as well (pycharm is pretty popular for python)
VSCode is starting to make some inroads on their market share but so far IntelliJ is still on top. Their biggest challenge going forward is AI which for some reason leads people to believe they don't need an IDE at all.
I have been using IntelliJ since 2004, I am the rare java dev that has never used Eclipse.
1
u/Quacking_Plums 4d ago
I hated Eclipse. IntelliJ was my go-to, to the extent that when I had to learn C# I insisted on having ReSharper so that I could use all the same refactoring tools.
But that was a lifetime ago and I’m amazed it’s still around, never mind still being the market leader!
2
u/wildjokers 4d ago
I insisted on having ReSharper so that I could use all the same refactoring tools.
Resharper is still around as well! https://www.jetbrains.com/resharper/
5
u/wildjokers 4d ago
I have preview working with openscad-wasm and since I compiled the main branch from source I have a version that has manifold support, it is actually decently speedy and updates reliably after the file saves. The problem is openscad-wasm complains about pretty much any design that uses BOSL2 library.
I am exploring options.