Similar to browser session restore.
I often edit multiple files on multiple servers and need to shutdown my computer (laptop) before being finished with my edits.
My overview, a starting point for the design of how it might work:
On connection to a server record session connection for restore in case (OS or WinSCP) crash or normal WinSCP close.
On file edit record file being edited, which editor, and temporary file location for restore. Normal file close or connection/session close removes file from restore memory.
On WinSCP close or session disconnect, if files are still open in editor(s), ask user if they want to delete local files in temporary directories.
On WinSCP start, ask if user wants to restore previous sessions set in full or in part. Display option to disable prompt for session set restore on startup.
Allow user to select what connections and edits they want to restore.
Re-use if still present, temporary directory from previous matched sessions
If a file has changed since previous connection ask user if they want to overwrite/discard local copy, open both (allowing for comparison, move old copy to other location if session is re-using old temp directories), or update remote copy from local copy. Great for working offline.
Keep session set history for WinSCP close or crash.
Session Set Manager, allows you to:
* Name and save the current session set
* Restore a session set from history or named session set.
* Delete named session sets or history.
* Number of history session sets to keep.
* Option for if at start up it should ask if you want to restore a session.
* Location to save managed session set data. Where system config is (Windows registry or WinSCP.ini) or separate location like C:\user\me\DropBox\WinSCP_Sessions.ini. Good if using drop box, google drive, usb drive, etc.