Which code editor or IDE do you use?

These threads are always interesting! :003:

You can select up to 3 - just pick the ones you use most…

Which code editors or IDE’s do you use?
  • Visual Studio Code
  • Vim (or a variant)
  • Emacs (or a variant)
  • Atom
  • BBedit
  • Brackets
  • Buffer Editor
  • Codespaces
  • CoffeeCup
  • DroidEdit Pro
  • Espresso
  • IDE - Geany
  • IDE - JetBrains
  • IDE - NetBeans
  • IDE - Other
  • Komodo Edit
  • Nano
  • Notepad++
  • Nova
  • Sublime Text
  • Textastic
  • TextMate / TM2
  • XCode
  • Other - please say in thread!

0 voters

If you are using a Vim or Emacs variant, please say which one in the thread - general thoughts or comments also welcome.

I’ve always gotten the impression that most Erlangers use Emacs - so it’ll be interesting to see how this turns out! :upside_down_face:


I am a fan of MacVim and have recently purchased Onivim (but haven’t had much time to use it yet) - it looks very promising (you can win a copy here).

I also still love TextMate - it’s just one of the nicest looking Mac editors around imo, here’s what it looks like with the Elixify theme (which you can download from here):

At some point I will make an Erlangified theme :lol:


I use Neovim, with the latest release (0.5) that includes Lua support and built in LSP. Has be really awesome, lightweight and super fast.


Have used emacs and the erlang mode since 1996, but have now started to use Vscode together with erlang_ls most of the time. I think the language server protocol and erlang_ls is the way to go since it can support several frontends with the same backend.


I use VS Code with the Erlang extension. I saw that there was an erlang_ls extension, as well, so I tried it and it wasn’t quite what I was expecting, so I switched back to the regular Erlang extension. Do you know what the differences are between the two?


I’ve used vim and Emacs for about 10 years now, and recently I’ve started using SublimeText when I want a GUI in front of some text.

My use of vim is low-plugin, minimal config as I pretty frequently use it over SSH. It’s helpful to my muscle memory to avoid too many non-core features.

Emacs is where I spend most of my time, and thanks to language servers I can easily get the minimum of what I need for navigation now! I tend to run it without many frills and in full screen. I use the client and server modes to push files into the single frame I run when I have to leave Emacs, and I use MacOS Launch Control to start the server at system boot.

SublimeText I’ve started breaking out to deal with uncommon file situations that require a bit more snappiness. Things like files with unusually long lines or gigantic files. I find it lets me jump around faster than vim or Emacs.


I use vanilla Emacs for Erlang and all other languages. I’ve tried to write Erlang in some other editors, but I disagree with all of their automatic formatting. Only erlang-mode’s auto-indent looks nice to me and since it ships with OTP, I’ve always seen it as a de facto, but still official, standard.


I use Emacs with jit for most things, though I currently can’t use Erlang mode there, therefore I’m constantly switching between the jitted version and current release.

The configuration gets generated from nix’ Home-Manager.

Also when I have to do JavaScript or TypeScript I use vscode, not managed by nix, the JS/TS support in Emacs is not as I’d wish.


Sublime Text with the most wonderful extension in the whole wide world:


I think the regular Erlang extension (by P Gourlain) is a VScode only solution, even if I think it is using the Language Server Protocol.

Erlang_ls is a language server implementation which can be used together with many front ends. I know many user combining it with emacs.

I also think the activity and cooperation around erlang_ls is much higher than for the regular Vscode Erlang extension.


I use vim, because I think that using a minimal IDE (if you can even call it that) practically forces you to keep your code simple, clean, organized, focused, and most of all, comprehensible (at least for yourself (at least for a while)). I believe that, when you start needing the help of a fancy IDE to understand and keep track of your code, it is a clear sign that it is growing out of proportion.

That said, I admit that it is a different matter when it comes to things that are not your doing, then you might need the help of an IDE just to get an idea of what is going on.


Yeah ditto, emacs is where I do my heavy lifting (in eVil mode of course).


True that!

Wait what? Linky?

Hmm I kind of go against that, the tooling I get let’s me be far far more productive, from being able to Ctrl+B on something to jump to its definition (or I can see it in a popup in full with its docs) to being able to have intelligent snippet generation to just outright save me so much time and thought (it’s far easier to confirm it after then it is to generate), I’ve always been far more productive with a good tool, even on the most trivial of projects.


I use vim with the bare minimum configuration. I’ll echo Maria here.

Nice try starting an editor war by the way.


vim here, too. I have been using Eclipse with the erlide plugin before, but switched to vim when I started contributing to Ranch, and stayed with it forthwith, mainly for the reasons @Maria-12648430 enumerated in her post.


Currently rocking an impressive clone of the AmigaDOS’ ED display editor [1]. Nowhere near as feature-ready as the top dogs but it’s got a solid base to work on top of.

Had an on/off affair with Kakoune before that. I’ll probably switch back to emacs at some near point like a prodigal son.

VSCode for lazy days or for when I’m sharing my screen with others.

[1]: Credits to deadpixi


Im new to the ecosystem, I’ve been using vscode + vim for lots of stuff (js, C#, c++ rust) previously so Im comfortable with both. Ive been trying to use the erlang ls with Coc in vim but its constantly timing out, so I have a mission ahead to go find out what exactly is crashing. I’ve noticed the same behavior in vscode. I also tried the erlang plugin in vscode and even got the vscode debugger working :slight_smile:


Sorry, not with JIT, but with native compilation. ~Daily built from master with --with-native-compilation if I understand the build script correctly.


I use LunarVim as much as possible but I must admit that for large codebases I tend to use IntelliJ.
I’d like to learn emacs but got no time to do so!


How does this work, does it compile all the scripts to native machine code on first load of them or something (which sounds like a JIT)?


I use VS Code because it works out of the box with my setup. Windows + wsl2 without needing to install xserver or other things.

Sometimes I miss emacs