In VS Code: Manually search-replace, or use LSP rename (which often misses references in umbrella children due to path misconfiguration). Risk of broken code.

Example: find all Enum.map(..., fn x -> x end) and replace with Enum.map(..., & &1) . This pattern-based refactoring is unique to JetBrains.

IntelliJ: Set breakpoint in handle_call . Run mix debug . Variables show in UI, but inspection of state map sometimes truncates large values. Stepping into :gen_server internal code is possible but verbose.

For teams already using JetBrains Ultimate (e.g., for JVM work), adding Elixir plugin is a no-brainer. For pure Elixir shops, evaluate the refactoring need. JetBrains’ Elixir support is no longer a second-class citizen. The IntelliJ Elixir plugin delivers enterprise-grade refactoring and cross-file navigation that surpasses LSP-based tools in complex projects. However, it lags in macro introspection, LiveView ergonomics, and runtime performance.

Abstract Elixir, a dynamic, functional language built on the Erlang VM (BEAM), has gained significant traction for building scalable, fault-tolerant applications. However, its unique macro system, pipe operator, and OTP (Open Telecom Platform) behaviours present challenges for tooling. This paper explores the state of Elixir support within JetBrains IDEs (IntelliJ IDEA, Rider, WebStorm). It traces the evolution from community-driven plugins to the official "IntelliJ Elixir" plugin, analyzes its core features (code insight, refactoring, debugging), compares it with the dominant competitor (Visual Studio Code + ElixirLS), and evaluates its role in professional Elixir development. The paper concludes that while the JetBrains plugin offers a superior refactoring and navigation experience for monorepo and umbrella apps, the community’s momentum behind ElixirLS on VS Code remains a critical counterweight. 1. Introduction Elixir’s rise is attributable to three pillars: Ruby-like syntax, Erlang’s actor-based concurrency, and the Phoenix web framework’s real-time capabilities. As Elixir enters enterprise environments (e.g., Discord, PepsiCo, Brex), the demand for robust IDEs has grown.

VS Code highlights type warnings from Dialyzer. JetBrains requires external tool or manual Dialyzer run.

Phoenix LiveView (real-time HTML) is better supported in VS Code due to Tailwind CSS, HTML, and HEEx template tooling. JetBrains handles .heex but with less polish.

Advertisement

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to Untapped New York.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.