public void ShowNavigationConfig()
        {
            Logger.AddInfo("ShowNavigationConfigCommand. Start.");

            try {
                NavigationConfigViewModel model = SerializeHelper.DeSerializeNavigationConfig();
                if (PortOptions != null)
                {
                    MergeHelper          helper = new MergeHelper(this);
                    IEnumerable <string> roots  = helper.FindWorkingFolders(Options.Branches);
                    model.Roots = roots;
                }

                model.GenerateTreeSource();
                if (GetService <IDialogService>(NavigationConfigWindow).ShowDialog(MessageButton.OKCancel, "Navigation config", model) == MessageResult.OK)
                {
                    model.Save();
                    generateMenuItemsHelper.Release();
                    generateMenuItemsHelper.GenerateDefault();
                    generateMenuItemsHelper.GenerateMenus();
                }
            }
            catch (Exception e) {
                Logger.AddError("ShowNavigationConfigCommand. Failed.", e);
            }

            Logger.AddInfo("ShowNavigationConfigCommand. End.");
        }
        void GenerateNavigationMenu()
        {
            var dte = (DTE)GetService(typeof(DTE));
            GenerateMenuItemsHelper generateMenuHelper = new GenerateMenuItemsHelper(this, dte);

            generateMenuHelper.GenerateDefault();
            generateMenuHelper.GenerateMenus();
        }
        /// <summary>
        ///     Initialization of the package; this method is called right after the package is sited, so this is the place
        ///     where you can put all the initialization code that rely on services provided by VisualStudio.
        /// </summary>
        protected override void Initialize()
        {
            base.Initialize();
            var dte = (DTE)GetService(typeof(DTE));
            GenerateMenuItemsHelper generateMenuHelper = new GenerateMenuItemsHelper(this, dte);

            generateMenuHelper.GenerateDefault();
            generateMenuHelper.GenerateMenus();

            var solution = ServiceProvider.GlobalProvider.GetService(typeof(SVsSolution)) as IVsSolution2;

            if (solution != null)
            {
                solution.AdviseSolutionEvents(this, out solutionEventsCookie);
            }

            var shellService = GetService(typeof(SVsShell)) as IVsShell;

            ErrorHandler.ThrowOnFailure(shellService.AdviseShellPropertyChanges(this, out shellCookie));
        }