UPDATE
Good news! "node reset" functionality is now part of node wrangler and will "land" after the release of 2.78, means hopefully in 2.78a: https://developer.blender.org/D2129 If you are interested, download a preview here:
Even it's now possible resetting multiple nodes. You can simply select the nodes you like to reset and hit backspace, which makes sense (thanks to Greg Zaal) since this is also the shortcut to reset a single node parameter.
Original text:
I almost hesitate to suggest this as an answer, as it seems like there should be a built-in way to do this for the standard Node Trees. But in the interest of experimentation here's an operator that resets the node by:
- copying location / size / name / bl_idname of the active node
- copying the links
- deleting the original node
- replacing it with a fresh one of the same type
- reconnecting all links
code (rather inelegant, but seems to work for Node Groups too):
def store_replace(node): node_tree = node.id_data props_to_copy = 'bl_idname name location height width'.split(' ') reconnections = [] mappings = itertools.chain.from_iterable([node.inputs, node.outputs]) for i in (i for i in mappings if i.is_linked): for L in i.links: reconnections.append([L.from_socket.path_from_id(), L.to_socket.path_from_id()]) props = {j: getattr(node, j) for j in props_to_copy} new_node = node_tree.nodes.new(props['bl_idname']) props_to_copy.pop(0) for prop in props_to_copy: setattr(new_node, prop, props[prop]) nodes = node_tree.nodes nodes.remove(node) new_node.name = props['name'] for str_from, str_to in reconnections: node_tree.links.new(eval(str_from), eval(str_to))
Add-on
https://gist.github.com/zeffii/010a108a612fd6071a4b
via search menu (Spacebar)

via node properties (N)

Reset to Default Valuebut for almost every property this just sets to0.0it is hardly ever a value that is set when an item is first created. $\endgroup$