diff --git a/src/Main/ICSharpCode.SharpDevelop.Sda/Src/CallHelper.cs b/src/Main/ICSharpCode.SharpDevelop.Sda/Src/CallHelper.cs index d37811e04b..ce0218c790 100644 --- a/src/Main/ICSharpCode.SharpDevelop.Sda/Src/CallHelper.cs +++ b/src/Main/ICSharpCode.SharpDevelop.Sda/Src/CallHelper.cs @@ -154,6 +154,8 @@ namespace ICSharpCode.SharpDevelop.Sda LoggingService.Info("Initializing workbench..."); wbc.InitializeWorkbench(); + RunWorkbenchInitializedCommands(); + LoggingService.Info("Starting workbench..."); Exception exception = null; // finally start the workbench. @@ -192,6 +194,18 @@ namespace ICSharpCode.SharpDevelop.Sda } } } + + void RunWorkbenchInitializedCommands() + { + foreach (ICommand command in AddInTree.BuildItems("/Workspace/AutostartAfterWorkbenchInitialized", null, false)) { + try { + command.Run(); + } catch (Exception ex) { + // allow startup to continue if some commands fail + MessageService.ShowException(ex); + } + } + } #endregion public List OpenDocuments {