If you go to Tools > Preferences > Backup, you can enable the "Save on execute" recovery option (compilation is considered an execute of a Program Window). This option will not save to the original file, but to a recovery file. If something crashes, PL/SQL Developer will allow you to recover the current files after a restart.
------------------
Marco Kalter
Allround Automations