Visual Studio: Warts and all, still the only real option
March 30, 2017

Visual Studio: Warts and all, still the only real option

David McCann | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User

Software Version

Community

Overall Satisfaction with Visual Studio IDE

Fast Orientation uses Visual Studio to develop a cross-platform client application. It is written in C# .NET and Visual Studio with the JetBrains Resharper plugin is the environment of choice for development. For ease of maintenance the Windows, MacOS and Linux versions of the software need to reuse as much code as possible. This is the critical business problem VS addresses, as well as being the environment for developing the Windows system-specific portions of the software.
  • Visual Studio integrates msbuild into its UI, highlighting compiler errors in the code itself.
  • Visual Studio has a debugger that allows you to conditionally break, view the values of any variable at runtime and type custom expressions and see their values, as well as many other sophisticated debugging features.
  • Visual Studio has some nice automated refactoring tools.
  • Visual Studio if anything has too many features, making some of the features difficult to find or remember how to get to. Their solution, to allow a free-form search bar to help users get to particular features, feels like a hackish workaround.
  • Visual Studio's project files for .NET have changed many times in the past couple years, leading to a lot of time wasted just keeping a project current.
  • Building a project to be truly cross-platform is actually a much bigger headache than it probably should be, given that this is the central purpose of .NET to begin with.
  • Without VS the product would not be able to be developed in a cross-platform way, and would require many more senior engineers to maintain and enhance.
  • VS allowed large portions of the codebase to be refactored in a relatively short amount of time.
  • VS's built-in test runner made TDD easy, leading to an overall higher-quality product.
VS is more resource hungry than it's lighter-weight counterparts, but makes up for it in a much more robust feature set. VS Code and Xamarin both have very limited interactivity ("Go to declaration/implementation," e.g.), and no built-in build or debug features. For C#, Visual Studio is definitely the most efficient way to write code.
For Windows development this is of course the de facto standard for C#, if you're building something that's truly cross-platform you will probably have to have a hybrid development environment that involves using VS for Windows and cross-platform code, and Visual Studio Code for other platforms that you're developing on. For C and C++ projects, VS is probably too resource greedy to be worth any minor benefits.