Microsoft Visual Studio is a great tool. The integrated development environment let’s me manage large projects with multiple components. I can manage the files, edit the sources, build the entire product tree, and debug code line by line, all using this one software package.
So why is it an epic fail?
When using source control, Visual Studio manages all of access to the source control database. I can check out files, edit them, and check them in. Someone else on another machine can then get those new sources from the source control database and be on their way. This is great until the network connection to the source control database is not working. This is where Visual Studio fails badly.
- Visual Studio asks me if I want to connect to a different database. No.
- Visual Studio asks me if I want to use an HTTP plugin to access the database instead of the mechanism I had been using. The network is not working so no, that won’t work either.
- Visual Studio asks me if I want to work offline, disconnect permanently, or a few other things. YES! I want to work offline. Ignore the source control database please.
- Visual Studio then decides that my project files all need to change because of this and it presents me with these options once for each of 80 projects that are part of my project source tree:
- I hit the escape key to cancel these changes because I don’t want to change anything!
- As soon as I try to change a file and build part of the tree, I am asked again because the project files are all in memory and all need to be saved.
Why the hell is there a Check Out button when I have specifically asked to not use source control? Okay, I get it. I asked to disable source control temporarily and I still need to mark files as checked out so that they can be updated when I have source control access.
I could discard the changes to the files but there are three dialog boxes to go through for each of the 80 projects in the tree if I try to discard the changes.
Some of this may be the fault of Microsoft Visual Source Safe. It’s hard to tell since I cannot change source control providers to find out.
What irks me the most is that Visual Studio feels the need to change project files because of source control being temporarily disabled. This is temporary so I really don’t a record of it saved in any files. I just want things to work exactly as they work when I do have source control.
Another great thing is that I can’t build any part of the product until all of the changed files in memory have been saved to disk. Yay. I’m stuck saving 80 changed files using three dialog boxes each just so that I can work without source control while my network connection is broke.
I can’t get any work done.