protected override void Initialize() { Debug.WriteLine (string.Format(CultureInfo.CurrentCulture, "Entering Initialize() of: {0}", this.ToString())); base.Initialize(); _dte = (EnvDTE.DTE)GetService(typeof(SDTE)); _eventsHandlers = _dte.Events.DocumentEvents; _eventsHandlers.DocumentSaved += documentSaved; _outputPane = _dte.AddOutputWindowPane("cppcheck analysis output"); AnalyzerCppcheck cppcheckAnalayzer = new AnalyzerCppcheck(); cppcheckAnalayzer.ProgressUpdated += checkProgressUpdated; _analyzers.Add(cppcheckAnalayzer); if (String.IsNullOrEmpty(Properties.Settings.Default.DefaultArguments)) Properties.Settings.Default.DefaultArguments = CppcheckSettings.DefaultArguments; // Add our command handlers for menu (commands must exist in the .vsct file) OleMenuCommandService mcs = GetService(typeof(IMenuCommandService)) as OleMenuCommandService; if ( null != mcs ) { // Create the command for the menu item. CommandID menuCommandID = new CommandID(GuidList.guidCPPCheckPluginCmdSet, (int)PkgCmdIDList.cmdidCheckProjectCppcheck); MenuCommand menuItem = new MenuCommand(onCheckCurrentProjectRequested, menuCommandID); mcs.AddCommand( menuItem ); CommandID solutionMenuCommandID = new CommandID(GuidList.guidCPPCheckPluginCmdSet, (int)PkgCmdIDList.cmdidCheckSolutionCppcheck); MenuCommand solutionMenuItem = new MenuCommand(onCheckSolution, solutionMenuCommandID); mcs.AddCommand(solutionMenuItem); // Create the command for the settings window CommandID settingsWndCmdId = new CommandID(GuidList.guidCPPCheckPluginCmdSet, (int)PkgCmdIDList.cmdidSettings); MenuCommand menuSettings = new MenuCommand(onSettingsWindowRequested, settingsWndCmdId); mcs.AddCommand(menuSettings); CommandID projectMenuCommandID = new CommandID(GuidList.guidCPPCheckPluginProjectCmdSet, (int)PkgCmdIDList.cmdidCheckProjectCppcheck1); MenuCommand projectMenuItem = new MenuCommand(onCheckCurrentProjectRequested, projectMenuCommandID); mcs.AddCommand(projectMenuItem); CommandID projectsMenuCommandID = new CommandID(GuidList.guidCPPCheckPluginMultiProjectCmdSet, (int)PkgCmdIDList.cmdidCheckProjectsCppcheck); MenuCommand projectsMenuItem = new MenuCommand(onCheckAllProjectsRequested, projectsMenuCommandID); mcs.AddCommand(projectsMenuItem); } // Creating the tool window FindToolWindow(typeof(MainToolWindow), 0, true); }