DEV Community

Cover image for The importance of code editors
Patryk Woziński
Patryk Woziński

Posted on

The importance of code editors

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!

Discussion (2)

Collapse
defman profile image
Sergey Kislyakov 🇷🇺 🇺🇸

Have a look at emacs (with evil-mode for vim emulation). It supports debugging as well (with dap-mode) if you're using the elixir-ls language server.

Collapse
patryk profile image
Patryk Woziński Author

Thanks! I need to check it :)