
I have come up with some code to do this:
// In Window.Loaded handler, after call to DockSiteLayoutSerializer.LoadFromString
foreach ( var s in Properties.Settings.Default.SelectedTools.Split( ';' ) )
{
var window = this.dockSite.GetDockingWindow( s );
if ( window != null )
window.IsSelected = true;
}
// In Window.Closing handler, after call to DockSiteLayoutSerializer.SaveToString
var selectedTools = from t in this.dockSite.ToolWindows
where t.IsSelected
select t.Name;
Properties.Settings.Default.SelectedTools = string.Join( ";", selectedTools.ToArray() );
PS Looks like your C# colorizer could do with updating for C# 3.0 :)