VS code auto indent and add aliases

Hey guys and gals, so I have for better or worse (probably worse) had to move away from elixir and over to kotlin for the last few months.

Recently I’m back on personal projects using elixir and the one thing I forgot was how much better the idea support was for typed languages.

I love elixir-ls but some things I’m really missing are things like the ability to auto add imports and some basic refactoring.

Does anyone know if any of the vs plugins support any of

  • auto indent code
  • auto import for alias/using/require declarations
  • auto create module with name based on folder path
  • extract method

I understand that but been typed, and with the macro system this wouldn’t be perfect but I feel like this might be possible 80% of the time.

If nothing exists like this where would you recommend trying to add this? A new plugin or try to add to elixir-ls?

  • auto indent code

In VC Code with elixir-ls you can set setting

"[elixir]": {
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "JakeBecker.elixir-ls"
}

and on save it will not only fix indentation, but also format all the code in the file with standard mix format.

2 Likes

I’m pretty sure that nothing exists for the last three. Although creating the module name based on the file path should be fairly easy to do.

While it’s not possible to have the kind of IDE support that static typed languages have but a lot can be done. The language server protocol has support for code actions and some could be added. Of course ElixirLS team would be happy to accept contributions.

1 Like