Everyone has their favorite IDE, right? Sometimes it comes from trying out the available options. Other times it comes from the advice of others.

Regardless, you’ve stumbled across your favorite utility for writing code. To that, I think one thing is critically important:

You have to invest time in understanding your IDE and all that it offers.

I bring this up because I see blog posts and tweets in which people promote their favorite editor. Great! Share the love and evangelize. Why not?

At the same time, I’ll see the same people talking about features they didn’t know exist in their editor.

No big deal – these are powerful pieces of software that help us do a lot. Sometimes, features aren’t easy to find.

Then again, we do have manuals and reference material.

And to that, I think it’s important that we, have a responsibility to fully understand our IDE. Especially if we’re going to be as proficient as we’d like with the tools we use.

Do You Have An Understanding Of Your IDE?

I’ve never been the type of person who tries to push the software I use on to someone else. With as much variety as we have now, it seems silly.

Sure, we need to use tools that made for the work we do, but we also need to make sure we enjoy the tools that we use. After all, we’re going to be using them for hours on end each day. For weeks on each each month. And for months on end each year.

It’s critically important that we not only love the tools we have, but that we know how to use them.

Coda

And this isn’t about making sure that we can do things faster in the sense of being lazy. It’s about making sure that we do things faster in the sense of being more productive.

  • We need to know the shortcuts for the most common (and some of the not-so-common) tasks.
  • We need to know how to integrate linters, code sniffers, and other tools into the IDE.
  • We need to know if and how to leverage the built-in terminal with the software
  • If there’s a built-in version control client, then consider using it (or use a third-party one).
  • Can we integrate unit testing into our IDE so that we can run and see when tests fail?
  • What about S/FTP, databases, and/or SSH?
  • Is there a way to turn on code completion or an easy way to look up features of the language or a current library?
  • Can we execute our build system from within the IDE?
  • How does debugging fit into the system?
  • And on and on it goes.

I’m not saying that every IDE should have all the above, but I’m saying that it should have at least a part of it. And if it does, then we need to be fluent in how to take advantage of them.

Debug Log

And if it doesn’t, then we need to make sure that we know what external tools are available. We then need to learn how to use them, and how to make them play as well as possible with our environment.

It Take Times To Save Time

Whether you buy an IDE or use one that’s free, it’s important to spend time getting to know it.

That is, explore it inside and out. Note what you like and dislike (and make sure you like more than you don’t :). Learn the shortcuts, the features, and how to install extra packages or plugins.

Find out how to integrate a build system into it, how to take advantage of the debugger, and how to commit and deploy your projects.

Tower

Learn how to work with a database from within it (if not along side of it). And make sure that you’re able to find errors, view an error log, and locate where the problem is so you can fix them.

It’s less about the IDE you use and more about how you use the IDE.

I believe it’s critically important to love the tools that you use. Ultimately though, it’s important to learn it inside and out.

That’s what leads to the most productivity and fun when working on software.