Does Godot have an auto save function for script editing? I seem to constantly be losing work due to unexpected crashes (not Godot's fault).
Yes. You can enable it by going into Editor Settings -> Text Editor -> Files -> Autosave Interval Seconds. 0 is the default, which disables it. But set it to some other value and that will be the time in seconds between autosaves.
There's another setting: Editor Settings >> Run >> Auto Save >> Save Before Running