I use pycharm to edit the python. When pycharm loses focus it saves the file. Then when I get over to the blender window the little red circle icon in the header of the text editor area allows me to reload the script.
How about after you run the script: do not save; instead use File > Open Recent ( or Ctrl+Shift+o ) and re-load the version you saved in step 6. Once you have it open, you can load the latest version of the addon and try it again.
In my personal projects I try to code in such a way that I can run the script multiple times and it still works (either by deleting the old versions of the objects, or by updating them).
# edit: to provide an example of how to create an object, or modify it if it already exists
# since I didn't include one in my original answer
def fab_object_for(scn, u,v):
name = "ball2 at %d,%d" % (u, v)
obj = bpy.data.objects.get(name)
if obj is None:
obj = bpy.data.objects.new(name, bpy.data.meshes["Icosphere"])
try:
scn.objects.link(obj)
except:
pass
obj.location = (u,v,0)
rig_nlas(obj, u, v)
Sometimes I have a second script whose job it is to purge stale versions of objects to create a clean(er) slate.
scn = bpy.context.scene
for obj in scn.objects:
if obj.name[:10] == 'active at ':
scn.objects.unlink(obj)
# optionally
# obj.name = "discard"