views:

77

answers:

2

The debug settings are stored in a .user file which should not be added to source control. However this file does contain useful information. Now I need to set each time I trying to build a fresh checkout.

Is there some workaround to make this less cumbersome?

Edit: It contains the debug launch parameters. This is often not really a per-user setting. The default is $(TargetPath), but I often set it to something like $(SolutionDir)TestApp\test.exe with a few command line arguments. So it isn't a local machine setting per se.

+2  A: 

Well, I believe this file is human readable (xml format I think?), so you could create a template that is put into source control that everyone would check out, for instance settings.user.template. Each developer would than copy this to settings.user or whatever the name is and modify the contents to be what they need it to be.

Its been a while since I've looked at that file, but I've done similar things to this numerous times.

Casey
I agree. Make a template .user file containing just the particular settings you need to share. Then write a batch file to overwrite the user's .user file with the template file. This batch file could be stored in source control alongside the template file, and could be run after checkout, or even after an update.Of course you could be even cleverer with your batch file (or an autohotkey macro) to update the relevant parts of the existing .user file, but this is trickier and more error-prone.
demoncodemonkey
+1  A: 

Set the debug launch parameters in a batch file, add the batch file to source control. Set the startup path in VS to startup.bat $(TargetPath).

MSalters
Ok. I suppose that's doable.
StackedCrooked