The other day I mentioned to somebody that I started writing code A Long Time Ago (my guess is 1982 or 83); among other things, this means I've witnessed the evolution of many programing languages and tools over the years.
It's unclear -- to me, anyhow -- whether languages have progressed much in that time. There's always something going on that "feels" new, but many up-and-comers languish in obscurity, and anything good eventually gets frozen in time because nobody wants to obsolete millions of lines of code. OOP isn't new, closures aren't new, strong/weak/dynamic typing isn't new, and whatever Javascript framework you're about to mention isn't interesting or useful. Or new; it's just Javascript.
I'm happy to defend this viewpoint for hours, but that's not my intended focus. I really wanted to talk about tools. Tools have absolutely progressed, mainly because (A) we've had lots of time to make them better, and (B) we have so much more speed and memory with which to drive them. Plus, you can update a tool without breaking people's code (are you listening Clang?). Since I'm a programmer, debugging tools is where I'm headed specifically here.
I would assert that Visual Studio has been setting the standard for debuggers for the last 20 years or so. Some would say, "On Windows, sure, but not on <platform XXX> or <language that visual studio doesn't do>". Maybe, but do the tools for that platform or language provide the kind of usability and programmer productivity that Visual Studio does? No they don't, put your hand down.
XCode has come pretty close as of late, though with all of the context-specific toolbars and menus that spring into place every time you select a different item in one of those menus, it's sometimes hard to find what it was you were looking at 10 seconds and 3 clicks ago. Not to mention updating the thing is a 10-12GB download, which is a little irritating.
Enter Visual Studio Code; hereafter referred to as "vscode". Don't confuse this with Visual Studio; for one thing, vscode is open source. You can check it out from GitHub, and as I understand it, they do accept external contributions. I don't care quite as much about that as I once did, but what I do care about is that it runs on Windows, Linux, and macOS. It has a plugin interface that allows anybody to add support for their language of choice. And it's fast.
All the languages I work with day-to-day -- probably 4 or 5 -- are debuggable in vscode with extensions freely available in the Visual Studio Marketplace. The configs are all json and extendable enough themselves that you can probably create a build/run setup that will enable you to do it all with a single keystroke. For bonus points, you can do "compound" launches, so if you needed to, say, run 2 game clients simultaneously in order to test PVP, it can run them both. In their own debugger. In the same vscode window. True story.
There are extensions to edit and run applications via SSH; I regularly sit at my Windows machine and write Python backend code. With the Flask extension, it will run that application on my Linux box, with my debugger attached.
You can't necessarily throw away all your existing tools. I still need Visual Studio to create a base Windows project, or Android Studio to get gradle set up, but once that's done, I can push them to the side. Most importantly, I never have to use a Java program to debug my Java Android code ever again. All other IDE's, don't let the door hit you in the ass on your way out.