What's the best ide/editor for elixir in 2021?

i’m a new one to elixir
which editor can i use
vs code? or atom?
Thanks! :smiley:

1 Like

Mandatory clarification: there is no “best” tool in almost any area. You pick what you like for the functionality that you require and are willing to give up other functionality you don’t deem important.

I personally can’t stand Visual Studio Code but many people like it, plus the active plugin system allows the community to improve the IDE constantly. So it’s very likely a safe bet for you.

I went for Emacs with a language server and a few addons for project management, searching inside files etc. I don’t care about auto-generated typespecs and semi-automated refactoring so I don’t miss VS Code.

We also have people here who use VIM + addons for Elixir development.

13 Likes

+1 here on the “go with w/e rocks your boat”

I use vim for the most part of the time. I just like my workflow paired with tmux.
The only thing that I don’t really do on this env is when I know I’ll spend a good amount of time on HTML files. When that’s the case, I generally reach for VScode.

1 Like

Just use whatever you are already familiar with. The language works for you, not the other way around.

I use emacs without any language server or projectile or company, in a terminal not under tmux. I’ve tried fancy stuff, but always find myself back in this setup that has last me over 20 years and over 20 languages.

1 Like

I discovered Spacemacs ~17 months ago and I can’t live without it now. It helps me a lot navigating big projects and just fuzzy-searching stuff all the time which for my brain at least works perfectly.

But I’ll agree that pure Emacs is faster.

1 Like

Neovim and Tmux are the best.

  • runs on any terminal
  • ssh friendly
  • elixir_lsp
  • active plugin community
  • mega-scriptable, always improving

:smile:

6 Likes

So you found out you like Evil? :slight_smile:

Luck for me, I don’t have to navigate very large, unfamiliar projects. Years ago at work I had to work in a crazily big Java project that demand Eclipse, and that’s a nightmare that haunt me to this day.

I’m still on TextMate. Tried to switch to VSCode and other editors multiple times, but always went back.

7 Likes

There really isn’t a right/wrong answer when it comes to Elixir.

Pretty much every editor will give you some access to important parts of the ecosystem which aren’t necessary to make it work.

I watch people be productive in Sublime, Emacs, Vim, VSCode, Atom, and Intellij (okay so Intellij is only one person but still). There isn’t a silver bullet because for the most part communities are working to build tools that are more agnostic now than there ever have been.

If you have an editor you’re familiar with, go with it, if you’re looking to try something different? Try something different. I went from Eclipse to Sublime to Atom to Emacs over the past 15 years and honestly we’re probably at the best point we’ve ever been.

2 Likes

I’ve recently started to use VSCode with Elixir again. While I still use IntelliJ IDEA for every other language, the tooling available for VSCode (and my inability to make the tooling work properly on IDEA) is just too great of an offer to miss.

Things like incremental Dialyzer analysis, automatic suggestion for @spec annotations, and various other quality-of-life features make VSCode the ultimate Elixir experience for me :slight_smile: Perhaps other editors/IDEs can be configured to do everything the vscode-elixir-ls plugin does, but I haven’t managed (or put in the effort) to do that.

6 Likes

I switched 2 years ago from the Jetbrains suite to VSCode since the ElixirLS and other extensions worked best in VSCode. In the beginning, developing in VSCode felt sluggish since e.g. the Language Server wasn’t that snappy/fast and jumping to project and library definitions was slow or didn’t work at all. However, especially since version 0.6 of ElixirLS, that has improved tremendously and finally VSCode does not feel like it’s “holding me back” anymore. So, given the ecosystem, the free price tag, and the significantly improved Elixir extensions, VSCode is a clear recommendation for me.

3 Likes

I’ve been using IntelliJ IDEA for Elixir for a few years, and I’ve worked with a dozen other people who also use it. It works pretty well thanks to the IntelliJ Elixir plugin. I’m investigating switching to VSCode because its Elixir support sounds better, though it seems like VSCode is behind IntelliJ in other areas. (And probably ahead in other areas besides just Elixir.)

All of this is to say, if you are already using IntelliJ, you should not feel forced to switch editors. It will work fine for Elixir.

1 Like

What’s out there providing that?

I’ve absolutely have a need for that, but wouldn’t mind rewriting it in elisp.

What’s out there providing that?

The elixir-ls Visual Studio Code plugin does this. Have a look at GitHub - elixir-lsp/vscode-elixir-ls: Elixir language support and debugger for VS Code, powered by ElixirLS.

3 Likes

+1 for VSCode.

It’s easy to use, and work with other languages.

3 posts were split to a new topic: What Elixir related VS code extensions are you using?

Just want to share my recent experience:

I‘ve been a long time TextMate user, started using it in the early days of Rails v2 and was very happy with it. Super fast, truly native Mac experience.

Tried to switch to other editors every year and always went back to my good old TextMate.

But as years went by, sadly less and less people were writing plugins for it or even maintaining old ones. Even such simple things like css highlighting, doesn‘t support new css syntax. And I don‘t have the time to fix it.

Last month I gave Sublime (v4 got released) a try again and this time - stayed. It has a healthy plugin ecosystem, fast editor, works nicely with Elixir. Yeah, not truly a MacOS UX, but so be it. Some day in my dreams a Mac editor will be born that can do everything. Until then I‘m happy with Sublime.

1 Like

I’ve had a similar experience - TextMate is just such a nice looking/feeling editor for the Mac.

MacVim is good too, once you give it a nice colour theme (but still not quite as nice on the eye as TextMate). There are some additional set-up steps here that you might find useful.

Spacemacs was also nice, but it just felt a bit sluggish to me.

I am not fussed on how VSCode wants to dial-out all the time.

I wasn’t that keen on Sublime when I tried it years ago, but have heard good things about it recently, so might check it out again at some point. What’s it like for Elixir/Erlang dev?

Onivim looks very promising - have you tried that? You can build it from source without having to pay for it if you just want to try it, or, you can enter our giveaway :smiley:

1 Like

I have tried Onivim, but requested a refund after a week. Vim style of work with only keyboard is not for me. I can only invest the time to get used to an editor with similar way of work to TextMate. Onivim is another world.

Sublime is great for Elixir. I don’t use lsp though, but there is a plugin. Also don’t know about Erlang, but I imagine it is also fine. Give it a shot.

1 Like

Are you using a Mac? If so I’d recommend trying MacVim for a while - you can still use keyboard and mouse with it fairly well (things like CMD C + V etc) so it’s a lot easier to ease in to the Vim world with imo.

I will at some point :smiley: Does it try to ‘dial-home’ or access the web constantly like VSC seems to? (You’ll need something like LittleSnitch to let you know if that’s happening.)