The post was originally published on my website patryk.it.
Elixir coding tools
Hi! I was trying to write something about Elixir for the last week, but… you know what will happen if you found a new IDE and trying to customize everything to be so useful for yourself. So! I have wasted about 6 hours configuring my code editor. I am simply a master of procrastination. Thanks to this - I can give you this story. Enjoy reading!
I love being an IDE's power user
In the last years, I was working with amazing IDE's like PHPStorm, IntelliJ, or GoLand - they were so powerful, ergonomic, and they increased my productivity with every new keyboard shortcut! I was on very interesting workshops organized by DDD-WAW (the group focused on Domain-Driven Design topics) and Michał Michaluk from Bottega-IT was presenting some practices that give excellent results in refactoring legacy code. He was using tons of IntelliJ's shortcuts. I just was amazed by this. :D You can watch the previous version of this presentation in Polish here: 4Developers 2019: Refactoring live session toward tactical Domain-Driven Design, Michał Michaluk - YouTube.
As you maybe know I am working with Elixir at this moment. I was testing Visual Studio Code, IntelliJ, Atom - every one of them had a lot of features that has frustrated me, seriously. They are so slow (in my case?), had not the best autocomplete suggestions, etc. I gave them three weeks. After that, in simple words: I was disappointed.
Finally!
On the last Friday evening, I was trying to write some articles in VIM (GOYO + Limelight rocks!) - and then I became enlightened: WHY NOT TO USE A VIM FOR CODING IN ELIXIR?! After a few hours of configuring the tool and everything was finished. It works amazingly and extremely fast. I've created a repository with my configuration (requires VIM 8+) - you can find it here.
Configuring vim-elixir
and alchemist.vim
gave to me super support in coding. You also need deoplete.vim
plugin. Just read about it on the Internet, I'm not a VIM expert YET. I don't feel as productive as when I was using PHPStorm for PHP or GoLand for Go neither IntelliJ for Java, but it's pretty good and I'm so happy at this moment.
What I am missing?
So, I have a great tool, but it's not perfect. To be the perfect one I need better moving in the codebase skills, but I think it's because I don't know yet the project as well as I want to. I'm still looking for something that will help me with smooth switching between the modules. It's not that fast as was while I was using JetBrains tools. Ah! JetBrains - please, give us some alchemist tool!
Hope for the best
I hope in the next days my productivity will be even better than it's today. If you have any interesting plugins to recommend to me - comment on this post. Any support is appreciated!
At this moment, you can call me a real hipster. Vim and Elixir - that's the combo! Better give me a cup of Starbucks coffee because I deserve it!
Keep fingers crossed and maybe I can write something more technical in the near future!
Top comments (2)
Have a look at emacs (with
evil-mode
for vim emulation). It supports debugging as well (withdap-mode
) if you're using theelixir-ls
language server.Thanks! I need to check it :)