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:
- 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.
- 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.
- 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.
- There is no overview of the file you’re currently working in, like the “outline” views offered by Eclipse and PyCharm.
- There is no way to show the location of the file you’re currently working on in the Solution Explorer.
- No refactoring. At all. There is no easy way to rename a symbol, to extract code into a new method, extract a variable, etc.
- 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.
- 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.
- 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.
- 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.