The Best Editor/IDE for the Job

Brian Blankenship
Nerd For Tech
Published in
7 min readMay 18, 2021
Photo by Onur Binay on Unsplash

I wish I could tell you without absolute certainly which one you should choose, I can’t, despite the name of the article. In the end, it’s going to depend on your project needs and your preferences. And in some cases, irregardless of what you like about this article, you may have no choice but to choose the one your company dictates you use. This doesn’t alter the fact that I have an opinion and I want to share it with you. Maybe, just maybe, it will help you choose.

So, with that being said, the essence of this article is going to be an opinion on the tools that I have used. Firstly, when I choose my tools, I look for features, ease of use, and customizability. Which set of features depends on what kind of project I plan on working on, and I have more than one editor/IDE even though for the most part I have my go-to preference for most projects. I will start with my favorite.

JetBrain’s IntelliJ IDEs (in particular, IDEA Ultimate and PyCharm)

IntelliJ IDEA Ultimate (Source: me)

If you don’t mind paying a subscription, JetBrains develops some of the most sophisticated IDE’s you can use. Honestly, I think that they’re a bit underrated even. My go-to is IDEA Ultimate, which is a superset of most of the IDEs that they develop for common web and mobile development including Java, Python, Javascript, HTML, CSS, Kotlin, Groovy, AngularJS, React, Typescript, and so on and so on.

It even has many tools that you normally would have to download for other IDEs like database support, build tools like Maven, Gradle, NPM, etc. One of my most favorite tools of them all is its Git integration.

It has all of the most useful (if not all) git commands in GUI form and allows you to visualize exactly what you’re doing. Resetting your HEAD and rollbacks when you need to is far less risky in my opinion. You’re able to review a history of commits and you can easily rollback to a certain commit simply by right clicking.

You can also push/pull/fetch/commit with a few clicks. Git workflow has never been faster for me, and I rarely use the git CLI anymore.

You can also manage your branches both locally and remotely, being able to delete and create remote branches all from the IDE. Git isn’t the only tool though. It also has many other VCS tools integrated into it.

IDEA also has many testing tools, app server support, and Docker. Oh, and did I also mention it has smart and chain completion tools? It even has ESLint and Prettier integrated into it.

All of its tools and behavior is all configurable in settings as well. IDEA Ultimate is the ultimate tool (out of JetBrains software stack) for full stack and mobile development.

Although IDEA doesn’t have ALL the extensions you can get with VS Code, it has enough tools that you likely wouldn’t complain, nor miss them. Ever since swapping to IDEA Ultimate, I’ve never missed using VS Code, and even go as far as to consider VS Code a downgrade, personally.

Keep in mind, this is a full IDE, and so it won’t be nearly as fast as an editor but you’ll barely notice imo, and the features it comes with make the slow startup worthwhile.

If you’re looking for free, depending on what you code, PyCharm is a great Python IDE and it has a free community version (The paid version has indispensable features imo and is definitely worth paying for). IDEA (not the Ultimate version) is also free and is great for Android and Java development.

If you’d like to check out JetBrains, go here.

VS Code

Visual Studio Code (source)

Speaking of VS Code, this was one of my first editors moving into this industry, and likely will be for many others as well. VS Code by its vanilla self is pretty much just an editor that pretends to be an IDE.

One of my favorite parts about VS Code (besides being free) is that you can turn it into an IDE with all its extensions. It’s kind of like a set of Legos, and you don’t even have the downside of accidentally stepping on Lego pieces, heh. Personally, I stuffed mine so full of extensions that it made Dial-Up look fast (ok, way over-exaggerating but meh).

One of my least favorite parts? I honestly find my self always worrying that I may not always have the best extensions, so I’m always shopping for extensions to increase productivity, thusly decreasing productivity. It’s just that there’s so many extensions it’s like visiting Fry’s except there’s no end to the shelves.

VS Code can be used to do Full Stack Development so go nuts! It also has a multitude of language support out there. You can get extensions for C++, C#, C, Python, Typescript, and many others.

Oh and also, everything is configurable, best done by the JSON file it uses although you can do it with the GUI (just my opinion anyways).

If you want to give this a go, here’s the link.

Visual Studio

Visual Studio 2019 (Source: me)

Unlike Visual Studio Code, Visual Studio 2019 is a full IDE, primarily meant to develop .NET applications and C++ apps. I use this mostly for UE4 development but eventually will expand into .NET Core. Visual Studio is probably one of the better IDE’s for C++ and .NET development, although I would imagine JetBrains’ Clang IDE will top the cake when I get around to getting that.

Aside from Clang stuff, you can also develop JS, Typescript, Node.JS, and Python apps. So as you can imagine, it’s a pretty nifty tool for developing backend apps. It’s not very useful for Frontend Dev though.

One of my favorite parts about this IDE is that it’s fairly clean, and unlike VS Code, extensions take a backseat so it is less noisy. With VS you have to exit the editor to install extensions unlike in VS Code, so I’m not so keen on going crazy with extensions. They’re also a less obvious part of the IDE.

Visual Studio has a free Community edition, but it also has two paid versions. Also, I should note that this is the only IDE or editor that I’ll be mentioning that is only available on Mac and Windows. If you’re on Linux, you are SOL unless you use a VM. The rest are available for all three platforms (Windows, Mac, and Linux).

You can check it out here.

Eclipse

Eclipse (Source)

Eclipse was my first editor. If you’re confused, I initially only did coding on the side when I felt like it, so it was a very small hobby that I’d visit from time to time. Now I do it full time. For me, this only has a sentimental value. I would probably never consider adding this to my stack of tools to use professionally.

Eclipse is a full IDE that is a bit slower than the previous ones I’ve mentioned. It also feels a bit more clunky and even though they may say there’s a ‘plethora of extensions’, there actually isn’t. Not as many useful ones like VS Code has at any rate. It’s not a bad IDE, but I don’t consider it great either. Honestly, if you asked me why I dislike this IDE, I’d tell you I don’t know. It’s just not my cup of tea and something about it just puts me off. I tried to like it, but I just couldn’t.

Like most IDE’s it has autocompletion, suggestive code bits, and various tools to help along the way. Also, it has different environments for Clang dev, Mobile development, web dev, and a few others however as it its site will make it obvious, it’s main environment is Java.

Don’t let my negative opinion stop you from trying it out, however! Here’s the link.

Spyder

Spyder is a cross-platform Python IDE. Unlike the rest I’ve mentioned, it only has a handful of extensions, so if you want extensibility, you won’t find it here. However, so far this seems to be a decent free IDE and one of the better free ones.

There are a few downsides that I didn’t have with the above. One of which, I can’t figure out how to get the Spyder-terminal plugin to work (HELP?! I can’t figure out how to open it inside the IDE and there’s no docs on how to use it so I have to rely on using Command Prompt to run flask and such). Also it’s IPython is bit finicky at first, you’ll have to reinstall some packages ( can’t remember off the top of my head) to get it to fully work.

Also, I personally find it a little hard to read the UI text but that’s only a small annoyance. Aside from these hiccups, its a solid option worth checking out if you’re into PyDev.

Like most IDEs, it has autocompletion and it also has Kite support (a great tool for AI suggestive completions) although I find them a little slower than other editors. It’s also one of the simpler IDEs if you like to KISS.

If you want to give this one a go, here’s a link.

That’s all I have for now. If you think there is something I should try, let me know. Or if there’s something you’d like to know more, well, ask away. I hope this helps in your quest for an IDE/editor.

--

--