How to IDE

The IDE or Integrated Development Environment is where you end up doing most of your coding. I’ve jumped between a few IDEs over my time writing code, and I’ve finally settled on Neovim. But, neovim isn’t for everyone. Here’s my 2 cents on IDEs and how best to use them.

Important functionality

When I think of an IDE, I tend to think along the terms of what functionality I need out of it. This probably comes from working with Neovim where you get very little out of the box. Unless you use an existing “distribution”, you’ll have to build your own IDE piece by piece, plugin by plugin.

So, what are the important pieces of the puzzle?

  1. File browser. If you need to click a button or run a command each time you want to see what files you have, and where they are, you’re not going to have a very good time.
  2. Syntax Highlighting. When you’re working with code, you want the syntax bits highlighted, so you can differentiate things at a glance.
  3. Language Server. You’ll want language specific functionality, such as being able to view where things are defined or where they’ve been referenced. You’ll want to rename symbols, and have it reflected in all the right places.
  4. Linting. Linters help you stick to predefined coding conventions. The faster you see linter errors, the smoother your overall coding experience.
  5. Formatting. Opinionated Formatting means you don’t have to think about how things should be styled. Spacing, line breaks, which type of quote to use shouldn’t be things you spend any time thinking about.
  6. Version Control. When you’re making changes, being able to see the changes you’ve made so far and where exactly they are can be a lifesaver.