I am using SQL Developer more and more as my main IDE to develop PL/SQL and I am badly missing an option to enable the creation of a backup copy of the original file I am currently editing whenever I save my changes.
I believe this is a very important functionality that is normally present in any other serious development environment (whatever the target language) or programming text editor.
I have seen a similar request (https://apex.oracle.com/pls/apex/f?p=43135:7:500296073249001::NO:RP,7:P7_ID:12441) on the SQL Developer Exchange, but it was dismissed by development with the following comment:
"+If you use the integrated Version Control, you can have a history of your changes.+".
I don't agree with this statement from DEV, because:
1) it's true that a normal developer keeps his important code in a VCS, but it's also true that you don't put EVERY SINGLE sql file or standalone text file you need to edit in VCS;
2) you normally tend to commit code to a VCS only when you have a reasonably stable version of your code, so in case you need to interrupt your work, you have to explicitly save a temporary version of your current file with a different filename, otherwise you will lose the previous edits;
3) the integrated subversion client is NOT compatible with the latest version that most people is using, so DEV's comment is not applicable anymore whenever you happen to use Subversion 1.7;
4) if you don't use the integrated subversion client for the reason above, then you have to commit your changes externally from SQL Developer and you tend to do it less often, because you need to interrupt your work flow and switch to an external tool;
My idea is NOT to substitute a backup copy with the features provided by a full fledged VCS, but just try to explain that the 2 things can and will live happily together, because they complement each other. I would like to hear the comments of the other developers on this issue, pro and against the implementation of such functionality.
thanks for your reply and the detailed blog article.
Actually I was not aware of this functionality and it may probably help me.
The only issue I see with the History window is that the information it stores can be accessed only from inside SQL Developer, while in the case of a simple backup file I can quickly view and diff it against the main file without the need to open SQL Developer (that notoriously is not lightning fast when loading).
I agree that this new approach could be an issue only for a few developers (depending on their personal habits and preferences), but I still believe that having backup files should be at least an option.
Anyway I will try to use the History window and see if it fits in my workflow.
If you want faster load times, try disabling the Migrations extensions in the preferences. I was able to go from 30 second load time to about 10 second load time
If you want to save copies of your changed files and have them available outside of SQL Developer, have you given consideration to a full source control system? Even if it's just for you there are many advantages to this. And SQL Developer can even build one for you - a local Subversion system.
thanks again for your reply.
I already disabled what I don't use, but the load times are still far slower than a native windows application like PL/SQL Developer, so that won't help.
Finally, I already use a full blown VCS (SVN 1.7), but as I already pointed out in my initial post (please read at least point 1 and 2), you cannot use the VCS as a dumpster. Moreover the version of SVN we use is not supported by SQL Developer, so working copies MUST be handled OUTSIDE the closed environment of SQL Developer.
Anyway this is just one among several reasons why I finally dumped SQL Developer and returned to use the trusty old PL/SQL Developer that is way faster in every respect (even for just searching for database objects). After using SQLDev exclusively for several months, I finally realized that I don't want a slow death by a thousand cuts.
I reserve myself to test it again when/if version 4 comes out.
Thanks for the help,