There's a Tools
> Reset Script
menu entry in Fiddler that resets all user-chosen config to the defaults. This however works only if the prefs are not bound to a config variable.
Let's have a look at current default Fiddler script, it contains an option to set user-agent:
RulesString("&User-Agents", true)
BindPref("fiddlerscript.ephemeral.UserAgentString") // <-------------
RulesStringValue(0,"Netscape &3", "Mozilla/3.0 (Win95; I)")
RulesStringValue(1,"WinPhone7", "Mozilla/4.0 (compatible: MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; SAMSUNG; SGH-i917)")
...
RulesStringValue(23,"Kindle Fire (Silk)", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.0.22.79_10013310) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=true")
RulesStringValue(24,"&Custom...", "%CUSTOM%")
public static var sUA: String = null;
When I choose some useragent from the list, and then use Tools
> Reset Script
option, Fiddler won't actually change the setting to "disabled", because the useragent value is bound to fiddlerscript.ephemeral.UserAgentString
. If I remove that line, resetting works fine, but I don't want to change the default script, and I also want to keep the binding of my own settings (since I sometimes change the fiddlerscript and want to keep the settings after reload).
Is there a way to reset all bound (ephemeral) prefs to defaults other than rebooting Fiddler?
As per EricLaw's (Fiddler author) comment, the only way to reset bound preferences' values is to reboot Fiddler.