I'm also strongly in favor of using text as an interchange format for syncing SlickEdit configurations between systems.
The best thing that I could come up with is something exploiting the behavior Dennis describes above. My sync tool checks various files from my SlickEdit config directory into Perforce (SCC). I have a "syncdata" Perl script that brings up a directory-wise comparison tool to compare the checked-in "official" configuration and my current system's configuration. I bring up the files I care the most about (e.g., vusrdefs.e, vusrmacs.e for my macros) in these tools and copy lines from one side to the other -- basically selectively copying settings. I don't do a full sync because I don't want to sync some of the system-specific stuff stored in vusrdefs.e (recent files, tool window settings). After doing whatever updates I want in either direction, I check in the new "official" configuration and run the following command to update the vslick.sta in my profile:
vs.exe -#vusrdefs "-#unload vusrmacs.ex" "-#load path/to/file/vusrmacs.e" -#save_config -#safe_exit
This brings up a SlickEdit window, merges in the new definitions and macros from my profile directory, saves the result, and exits.
There are a couple screwy things with this setup:
- There seems to be little rhyme or reason to the order in which settings are saved to vusrdefs.e. After some configuration changes, it seems that different config lines "jump" relative to my last "official" version.
- Ideally, I'd love the ability to be able to factor settings out better (i.e., not save tool settings and recent files in the same file with key bindings and top-level options). At one time, my C alias file is on the line above my basic settings for html files, and then some time later, it's 11 lines down.
- It would be good if you could have some settings be per-workspace. I'm struggling now with having multiple projects of vastly different kinds (e.g., some C code, some containing mostly text files) that "want" different toolbar settings. As far as I can tell, my choices are to either live with sub-optimal settings for some projects or fork off multiple config directories. The latter choice means that I'd have to use the same hack to keep my key bindings/macros in sync.
Pat