Ten reasons I don't like Visual Studio

For my work I’m using Microsoft Visual Studio 2010 (VS) to write our C++ code. There are so many things wrong with this IDE that I just had to write this post. Here’s a list of why I think it’s crap:

  1. The compiler requires certain environment variables, that are set by running a batch file. The result is that it’s very hard to integrate the compiler into another IDE such as Eclipse. Yes, it’s possible, but a very big hassle. This effectively locks you into using their IDE, which makes its shortcomings even more annoying.
  2. Code completion (“intellisense”) is often so slow that it’s often faster for me to scroll through my sources and copy-and-paste a symbol myself.
  3. Code completion (“intellisense”) is dumb. It usually prefers some obscure symbol that I’ve never used before, over the name of a local variable I declared a few lines earlier. Compare this to PyCharm, where the first or second suggested symbol is usually correct.
  4. There is no overview of the file you’re currently working in, like the “outline” views offered by Eclipse and PyCharm.
  5. There is no way to show the location of the file you’re currently working on in the Solution Explorer.
  6. No refactoring. At all. There is no easy way to rename a symbol, to extract code into a new method, extract a variable, etc.
  7. When debugging a console application, the output is sent to a little window I can’t resize, which closes immediately upon termination of the program. WTF? All other IDEs I’ve used send the program’s output to a window inside the IDE, so that you can actually inpect the output or read error messages, after your program has stopped.
  8. The project property popup always reverts back to the current configuration (you know, the “Debug”, “Release” etc. thingies), even though 99% of the time I want the “All Configurations” configuration as I want most of the project settings to be consistent between debug and release.
  9. Firefox, Chrome, Eclipse, PyCharm, all kind of environments where you’re working with multiple documents in different tabs, you can use keyboard shortcuts to go from one to the other (I prefer Ctrl+Page up/down). If you want the same behaviour in VS, you need to install an extension before you can set up your keybindings.
  10. VS doesn’t react to the forward/backward mouse buttons. Those are so handy when you quickly have to change something (like add an #include statement) and then go back to where you were before.
dr. Sybren A. Stüvel
dr. Sybren A. Stüvel
Open Source software developer, photographer, drummer