How to set up a development environment on Windows?

Unfortunately my company only supports Windows and there is no chance to get any Unix environment. Hence I tried to setup a development environment on Windows.

First I tried with Emacs because this is my favorite IDE. But LSP with elp is currently broken on Windows and I have doubts that it’ll fixed in the near future. The same issue is with VC although it is reported by other users that at least in the past it worked.

Have you experienced similar issues or do you know about any workaround with the latest Erlang relase 28.5?

Regards,
Acema

Hello everyone,

Following up on my post from about 19 days ago regarding setting up an Erlang development environment on Windows. As my company exclusively supports Windows, I’ve been trying to get a stable setup going.

Specifically, I ran into issues with LSP on Emacs (using elp), which seems broken on Windows, and similar problems with VS Code, despite reports of it working previously for others. I was hoping for some insights or workarounds for Erlang/OTP 29, but haven’t received any replies on that thread.

The silence on my previous, more detailed post makes me wonder if Windows development isn’t a common focus for the Erlang community. Is this generally the case, or am I missing something crucial?

I’m keen to understand the community’s experience here. Are there specific reasons why Erlang on Windows might be less prevalent, or perhaps alternative tools/configurations that work well that I haven’t discovered yet? Any advice or shared experiences would be incredibly helpful as I try to navigate this environment effectively

Most people that I know that use Windows run wsl and use Erlang through that.

If you are having issues with LSP in emacs, maybe you should try to use the support in the erlang mode? It used tags for navigation and does much of the things the LSPs do (though not all).

For what it’s worth, I’m typing this on a Windows 11 laptop, but do all my programming in Ubuntu 24 on WSL2.
Erlang has been supported natively under Windows for a long time, but I suspect deployment on Windows
rather than development has been the main issue.

another alternative is to setup a development environment with Docker.

Thank you everyone for your replies and insights on my previous post! I truly appreciate you taking the time to respond.

To add a bit more context to my situation: I’m primarily a part-time developer, and because of this, I’ve become very reliant on features like LSP and especially autocompletion to maintain my productivity. Without a fully functional LSP setup, my development speed is significantly reduced, making it quite challenging to work effectively.

Unfortunately, suggestions like WSL or Docker, while often excellent solutions, aren’t an option for me as they require admin rights which I won’t be able to obtain in my company’s environment.

Given these constraints, I’m still very much looking for solutions or workarounds that allow for a productive Erlang development experience directly on Windows, ideally restoring the LSP functionality with autocompletion. Has anyone managed to get a robust setup working under similar limitations, perhaps with specific editor configurations or alternative tools? Any further guidance on achieving this would be invaluable

I wouldn’t touch windows with a ten foot pole, but here’s what you can try:

  1. erlang_ls is unmaintained (unless there’s an active fork that I am not aware of), but it still kind of works. It’s in pure Erlang, so you don’t have to pull an entire facebook/rust jungle to get a banana.
  2. Emacs has auto-complete mode, and it supports simple, but elegant, ac-source-words-in-same-mode-buffers completion backend. It works the same for all languages without any language server. It’s not semantic, but it saves a lot of keystrokes and never crashes, becomes out-of-sync or hangs.