This article was contributed by Alan Bolton.
Environment: Visual C++
In the years I've worked with Developer Studio, I've acquired a lot of preferences for how my workspace is set up. My personalized keyboard shortcuts and toolbar buttons are an important part of my productivity as a developer. During this time, I've also lost count of the number of times I've had to start over and re-configure all this stuff from scratch. Sometimes this is due to upgrading to a new machine, but more often and more frustratingly it's because MSDEV inexplicably loses these settings after crashing... and unfortunately, crashing is something that it does fairly often.
The last time this happened to me, I decided to take matters into my own hands and do some investigation of where these settings are stored, in hopes that future crashes wouldn't suck up an hour or more of my time getting things back to the way I like them. I'm happy to report that Developer Studio crashed on me today, and the backup that I had made of certain Registry keys saved the day for me. So I'm using the time that I would normally spend re-configuring Developer Studio to share this information with other victims -- I mean, developers.
There appear to be four keys that control your toolbar and keyboard layouts. They are:
[HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Keyboard] [HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Layout] [HKEY_USERS\<User-ID>\Software\Microsoft\DevStudio\6.0\Keyboard] [HKEY_USERS\<User-ID>\Software\Microsoft\DevStudio\6.0\Layout]
where <User-ID> is a GUID-like identifier for a user. From what I can tell, the HKEY_USERS keys are identical to the corresponding HKEY_CURRENT_USER keys, and for all I know, the system -- or MSDEV -- may copy them over automatically. In any case, it seems to be okay just to set them all at the same time. (BTW, I run Developer Studio 6.0 on a Windows 2000 machine, which is probably pretty standard for developers. However, your mileage may vary.)
[NOTE: As in any article talking about the Registry, the usual caveats apply. It's very dangerous to go around playing with the Registry, blah blah blah. Of course, if you restore these keys from a backup you should absolutely make sure to save the current data first, in case you make the situation even worse.]
In any case, once you have gotten things the way you like them, exit MSDEV and use your favorite Registry editing tool to export these keys. Combine the files into a single .REG file using your favorite text editor (I believe you are required to save them as Unicode on NT-class systems). Stash the file someplace where you'll be able to find it, and keep in mind that when Developer Studio crashes, your blood pressure will immediately rise 30 points, so be sure it's someplace you can remember even when you're angry. Definitely do make a backup of these keys (or the entire DevStudio subtree) before you re-import the saved settings, and then give it a try. Hopefully you will end up happy, like me.
I hope this article helps save someone some drudgery. I would also be interested in hearing from anyone who successfully uses this technique to customize a newly installed copy of dev studio.