Writing Elixir/Phoenix while using IntelliJ IDEA

I’ve used Phoenix for multiple projects until now and they all are deployed to production and used by real users. At home I really like to use Vim, but at my workplace I’m using IntelliJ products. One of the main reasons why I can’t sell Elixir/Phoenix to my co-workers is that IntelliJ products do not seem to work well with Elixir. IntelliJ IDEA is almost nothing more than a glorified syntax highlighter. There exists (as far as I know) one not-too-actively maintained Elixir plugin for IDEA and that’s it. I’ve not seen debugger working even once and if there is one comma missing somewhere then IDEA code formatting breaks in a big fire.

Has anyone better experience while working with Elixir using IntelliJ products or is that a normal situation for this ecosystem and there’s no hope of pitching Elixir/Phoenix ever to my co-workers as long as they’re avid IntelliJ products users? Of course I would like to use debugger too occasionally, but since Elixir is quite an easy language in my opinion then there’s not that much of a need for it personally.

Any suggestions for working with Elixir using IntelliJ products is more than welcome of course.

It seems you got something wrong, take a look at: GitHub - KronicDeth/intellij-elixir: Elixir plugin for JetBrain's IntelliJ Platform (including Rubymine). This plugin is way before elixir-ls was a thing and it has amazing support, and a better set of features compared to all other plugins on the market.

I was using it back in the day, however as you said, once you learn how elixir works, you don’t need these tools that much anymore.

3 Likes

I’ve been using the same plugin (available to install via IDEA Plugins) and it does have problems. I was using version 14.0, but updated right now to 14.0.1. I see that on GitHub there exists newer versions too, but for some reason they are not available to install directly from my IDEA. My IDEA is not up to date as well, maybe that’s the reason.

But right now tried to set a breakpoint into the code and run tests with debugger - it does not even start running tests, but waits forever until debugger attaches. Some time ago I was able to set a breakpoint, but not evaluate anything when breakpoint was reached - it just crashed Elixir/Erlang process.

I don’t know what I’m doing wrong, but for me this plugin is still nothing more than just a glorified syntax highlighter as mentioned before. And even this is happening sometimes really-really slow - when I open a file then I can actually see how syntax is getting highlighted line by line.

You can contact the author, I’ve had similar problems in the past and most of them are related to the fact that plugin still doesn’t have support for newest versions of elixir/erlang, I mean even people not using IDEs experience a lot of issues these days, as there is a lot of work on internals.

As for the debugger, it is inherently not the best idea to use it, the last time I was using it with phoenix, it would trigger timeouts when debugging, most probably because the debugger doesn’t pause the VM like the classical ones. I would just point your colleagues to REPL driven development, and they will forget about debugger in a week, as it is not that useful in elixir.