Why Do Developers Love Visual Studio?
Developers love Microsoft's Visual Studio, but why do they love it over other IDEs? Today, I discuss the most important features in Visual Studio for developers.
About a month ago, I was asked by a fellow developer why developers love Visual Studio and not any of the other IDEs like Visual Studio Code, WebStorm, or Rider?
He mentioned Visual Studio Code should be enough for anybody and added Visual Studio has become bloated over the years of development.
While I do have copies of Visual Studio Code, WebStorm, and Rider in my possession, I somehow keep coming back to Visual Studio (currently 2019).
Today, I wanted to analyze why developers (myself included) keep coming back to Visual Studio and share why developers love it so much.
This is probably the number one reason why I use Visual Studio.
Initially introduced in 1996 with Visual Basic, this feature alone provides coding assistance to any developer without the need to go to Stack Overflow (ok...maybe not entirely) and gives developers the confidence to write code while not knowing every single parameter of every method in every class.
While a number of IDEs try to copy the functionality, the partial searching of methods in a dropdown list has become the defacto standard for helping developers.
I was debating whether to include this on the list, but since Visual Studio 2019 came out, it's proven itself to load just as fast as Visual Studio Code.
This was one of the many complaints from developers when running Visual Studio 2017. The Visual Studio team went back and looked for ways to make the loading process faster.
If you are getting tired of Visual Studio 2017, I would recommend upgrading to 2019 relatively soon because we have better things to do than just wait for an IDE to load.
While I do like my IDEs (and each one is great at something), the one thing I don't like is all of the extensions you need to download to make it similar to a Visual Studio 2017/2019 experience.
Maybe I'm just spoiled with how Visual Studio has worked over the years and I'm just used to it.
Don't get me wrong, the lightweight extensions in other IDEs are absolutely fantastic (and there are a ton of them), but for the exact same functionality, I can run Visual Studio 2019 and get a number of these features already included without playing hide-and-go-seek-for-extensions.
I feel Microsoft has fine-tuned every developer's request and included it into an ultimate IDE.
Full-Blown Debugging Capabilities
Again, each IDE in my possession provides some type of debugging with breakpoints and evaluating variables at runtime, but one of my experiences with a certain IDE left me wanting my Visual Studio back.
While I won't say which IDE, I will say I was debugging and wanted to grab the breakpoint marker and move it up two lines and trace into a method. This IDE was missing that feature. I had to restart my debugging session.
Along with debugging, I can even see how much memory is being used during execution of my web app. This is already in the product and doesn't require a third-party extension.
Visual Studio provides powerful debugging in their IDE and these features are proof of it.
Live Unit Testing
I never knew how much I liked unit testing until I tried the newest feature called Live Unit Testing.
The concept behind Live Unit Testing is the ability to see whether your unit tests pass or not while you are modifying your code.
It's a simple on/off switch where you can still build unit tests just as you did before, but as you modify implementation code, your unit tests run automatically to make you aware of whether you broke something or not.
I have not seen anything even remotely equivalent to this kind of feature.
More Structure/Structured Projects
Are Solution or Project files so bad?
I worked on a project where someone used Visual Studio Code for their IDE and built everything using the command-line dotnet.exe...without a solution file.
For the Microsoft devs out there: Yeah, I know. I can even hear you wincing!
Files. Were. Everywhere.
Some didn't have namespaces. Config files in a separate folder outside all of the code. It wasn't pretty.
I guess you really don't appreciate what Visual Studio does for you until it's gone.
Solution and Project files give you a simple way to say, "Load this project based on this one file and I'll place them in an organized fashion so you can understand the project." There are times when I usually don't feel like pointing to a folder and play "guess where my code is at."
With DevOps playing such a crucial role in software development nowadays, this also makes everyone's life so much easier instead of trying to figure out how to build and deploy the project.
Say what you want about how big Visual Studio is, but it has some awesome designers for Windows applications and Xamarin (mobile) development.
Of course, some of the other IDEs are missing these features, but for good reason. Visual Studio was meant to provide an all-in-one package for development whether it's for Windows, Mobile, Web, MS Office, or any other type of development for that matter.
As a sidenote, one of the coolest features with Visual Studio 2019 is the ability run the Android Emulator in Visual Studio.
Extension(s) as a Package
If you've used Visual Studio for a while, you have no doubt heard of Resharper from JetBrains. This one extension for Visual Studio has more functionality and productivity enhancements than I care to cover (but I have here and here).
In other IDEs, you need to install a number of various extensions just to come up to speed on something relatively close to a full-featured installation of Resharper on Visual Studio 2017 or 2019.
While Rider from JetBrains includes their own "Resharper" technology, it's probably the closest thing to working with Resharper in Visual Studio, but still doesn't feel comfortable enough yet.
As I said before, maybe I'm just spoiled.
Using each of these IDEs, I keep coming back to Visual Studio because of the improvements over the years.
Did I miss a feature? Why do you keep coming back to Visual Studio? Are you using VS Code instead of Visual Studio 2019? Post your comments below and let's discuss.