How to properly setup Visual Studio Code and Sublime Text for Elixir and Phoenix development using ElixirSense?

I use Sublime and VS Code for Elixir and Phoenix development. Both of these editors provide a nice syntax highlighting. But when it comes to the code completion, it’s not very intelligent by using the vscode-elixir package for VS Code and Elixir package for Sublime.
I came across ElixirSense, it looks very promising thing for code completion, but I don’t know if the packages for these two text editors by default use ElixirSense under the hood, or I will need to manually configure it and setup ElixirSense for it.
BTW ElixirSense needs to be run manually as elixir run.exs socket_type port env as mentioned on it’s github repo. But I don’t know how in that case will sublime or VS Code detect it.

Check out ElixirLS: Introducing ElixirLS, the Elixir Language Server

I really like the idea of LanguageServer - and atom is already taking advantage of it. The author of ElixirLS said he is working with Elixir core tem (see the link).

Don’t know the current status, but Elixir 1.6 seems to make this happen, probably with code formatter. I guess both need supports from Elixir compiler.

As far as I see, then vscode-elixir packages are integrated with an ElixirSense project.

Autocomplete

Autocomplete/Intellisense is implemented using the wonderful ElixirSense project. For the auto complete to work properly, you will have to recompile your source code from time to time (using mix compile) for it to pick up the latest changes to your source code.

If your are having issues with the new implmentation you can switch back to the old one (alchemist server) by setting the property elixir.useElixirSense to false

2 Likes