When saving files (e.g. a stored procedure definition) in "File ... Save As", the default directory is always "C:\windows\system32\config\systemprofile". That's stupid and senseless. What's worse is that a changed directory isn't remembered, it always defaults to that location, wasting time every time.
1) Make the default the working directory when sqldeveloper is invoked. For example, the one specified in a shortcut.
2) If the "Save as" directory is changed by the user, then remember it and use the same location next time, or at least through the current session
Yes, this is very true, the previous saving directory should be remembered.
Furthermore the 'Save Spec and Body For' dialog contains both a 'Location' and a 'Filename' box. The 'Location' box should select the directory and the 'Filename' box should contain only the filename. Right now, the filename box also contains some weird and very long relative path of the file.
When attempting to "Save Package Spec and Body", the default is "....sqldeveloper/bin", and there is no way to change the default (one can change the directory for the current operation, but the problematic default will be there the next time one attempts the operation).
This is very annoying.
I don't even see where it was intended to be able to configure this. Under "Tools->Preferences" I don't see anything that looks like it would configure it, in sqldeveloper.conf nothing seems to be useful, and scanning the results of "Help->about->Properties" suggests that the "VMOption" of "user.dir" might be relevant, but changing that seems to leave the program inoperable.