I’d like to get started in earnest to and develop a sample application with Elixir / OTP on BEAM – probably running on Windows – at first – and later on Ubuntu.
I am using to working with the Eclipse IDE which offers great visual interactive debugging.
Is there a recommended – and well supported – IDE for Elixir with good integration into OTP as well – to develop and visually debug applications ?
I read visual studio code seems popular – would be great to hear the latest on this …
Since you are already used to Eclipse, try the IntelliJ Elixir plugin in any of IntelliJ’s IDE’s. I personally use it with RubyMine (because I already own it for my day job) and it works quite well. Elle Imhoff, who works for Dockyard, developed the plugin and it gets regular updates. The debugger is good and the test runner is really nice too. The advantage of RM over standard IntelliJ CE is that you get the database tool integrated as well. Unfortunately, RM only free for 30-days, but IntelliJ CE is always free to use.
Thank you, much appreciated.
I started trying out VS Code – but, – just to report a bleeding beginners experience – i got stuck pretty quickly – having zero knowledge of what is going on with files, under the hood, etc.-- to even know how to get a hello world program running and stepped through via debugging.
I’ll try IntelliJ with RubyMine – hopefully its more of a turnkey experience – so i can get code running pretty much after installation of IDE and pluging
Ideally, there would be a full featured online IDE where you login (e.g. via git credentials) and just start coding and debugging.
too bad, i just couldn’t figure configuring RubyMine for Elixier either …
Its preconfigured for Ruby – i can install from within the elixir plugin – but, then i am stuck – no elixifr project shows up …
A search found me this: GitHub - KronicDeth/intellij-elixir: Elixir plugin for JetBrain's IntelliJ Platform (including Rubymine)
Which seems to include some instruction – which don’t work in my installation – unclear where elixirer SDK is on my path – i now have two in program and program (x86) one with bin folders empty – perhaps i created it inadvertedly while trying configure from within the IDE
Oh, well, its frustration – for me at least – no clear path to get the IDE working for Elixir … it should really be simpler i think - its an entry barrier …
@grossd What problems you encountered when trying to setup VS Code?
OK, so I see then, that you are running Windows. I’m on macOS, so might be a little different. The IDE will not install Elixir or Erlang for you. You have to install those via the OS and then pay attention to which folder they get installed into, then point the IDE at those locations for its Elixir and Erlang binaries. In my case, I use ASDF to manage my language installs, so on macOS there’s a hidden .asdf folder with an installs sub-folder containing all of the install roots. Not sure how you installed in WIndows, or where it would have put them.
I’m not sure what you mean by ‘no elixir project shows up’. If you have an existing project, just open it from the main menu in RM (open from folder), then the plugin should format/highlight your ex and exs files, just as it does rb files. You won’t be able to start a new Elixir project from the menu in RM, since it is a ‘small IDE’ (in JetBrains parlance, this means it is designed for use in a single language. IntelliJ, on the other hand, is a ‘full IDE’ meaning it was designed to handle multiple languages and in that case, you can start a new Elixir project from the main menu, as well as compile, etc.). BTW…you probably also need to have Ruby installed, since the IDE will look for it by default.
The instructions you linked to are for macOS having installed E & E via Homebrew, but the concept is the same. You have to go into preferences and tell the IDE where you installed the binaries.
I usually just create the project from the terminal with mix new, then open the folder with RM. After that, the project will appear in your projects list in RM, so it’s only a minor inconvenience on the initial project creation.