コード例 #1
0
        protected void RunScript(string aCommandName, ClangTidyOptionsView mTidyOptions = null,
                                 ClangTidyPredefinedChecksOptionsView mTidyChecks       = null, ClangTidyCustomChecksOptionsView mTidyCustomChecks = null, ClangFormatOptionsView aClangFormatView = null)
        {
            try
            {
                mCompileTidyScriptBuilder = new ClangCompileTidyScript();
                mCompileTidyScriptBuilder.ConstructParameters(mGeneralOptions, mTidyOptions, mTidyChecks,
                                                              mTidyCustomChecks, aClangFormatView, DTEObj, VsEdition, VsVersion);

                string solutionPath = DTEObj.Solution.FullName;

                mOutputManager = new OutputManager(DTEObj);
                InitPowerShell();
                ClearWindows();
                mOutputManager.AddMessage($"\n{OutputWindowConstants.kStart} {aCommandName}\n");

                StatusBarHandler.Status(aCommandName + " started...", 1, vsStatusAnimation.vsStatusAnimationBuild, 1);

                foreach (var item in mItemsCollector.GetItems)
                {
                    var script = mCompileTidyScriptBuilder.GetScript(item, solutionPath);
                    if (!mCommandsController.Running)
                    {
                        break;
                    }

                    mOutputManager.Hierarchy = AutomationUtil.GetItemHierarchy(ServiceProvider, item);
                    var process = mPowerShell.Invoke(script, mRunningProcesses);

                    if (mOutputManager.MissingLlvm)
                    {
                        mOutputManager.AddMessage(ErrorParserConstants.kMissingLlvmMessage);
                        break;
                    }
                }
                if (!mOutputManager.EmptyBuffer)
                {
                    mOutputManager.AddMessage(String.Join("\n", mOutputManager.Buffer));
                }
                if (!mOutputManager.MissingLlvm)
                {
                    mOutputManager.Show();
                    mOutputManager.AddMessage($"\n{OutputWindowConstants.kDone} {aCommandName}\n");
                }
                if (mOutputManager.HasErrors)
                {
                    ErrorManager.Instance.AddErrors(mOutputManager.Errors);
                }
            }
            catch (Exception)
            {
                mOutputManager.Show();
                mOutputManager.AddMessage($"\n{OutputWindowConstants.kDone} {aCommandName}\n");
            }
            finally
            {
                StatusBarHandler.Status(aCommandName + " finished", 0, vsStatusAnimation.vsStatusAnimationBuild, 0);
            }
        }
コード例 #2
0
        protected void RunScript(string aCommandName, TidyOptions mTidyOptions = null,
                                 TidyChecks mTidyChecks = null, TidyCustomChecks mTidyCustomChecks = null, ClangFormatPage aClangFormat = null)
        {
            try
            {
                mCompileTidyScriptBuilder = new ClangCompileTidyScript();
                mCompileTidyScriptBuilder.ConstructParameters(mGeneralOptions, mTidyOptions, mTidyChecks,
                                                              mTidyCustomChecks, aClangFormat, DTEObj, VsEdition, VsVersion);

                string solutionPath = DTEObj.Solution.FullName;

                mOutputManager = new OutputManager(DTEObj);
                InitPowerShell();
                ClearWindows();
                mOutputManager.AddMessage($"\n{OutputWindowConstants.kStart} {aCommandName}\n");
                foreach (var item in mItemsCollector.GetItems)
                {
                    var script = mCompileTidyScriptBuilder.GetScript(item, solutionPath);
                    if (!mCommandsController.Running)
                    {
                        break;
                    }

                    var process = mPowerShell.Invoke(script, mRunningProcesses);

                    if (mOutputManager.MissingLlvm)
                    {
                        mOutputManager.AddMessage(ErrorParserConstants.kMissingLlvmMessage);
                        break;
                    }
                }
                if (!mOutputManager.EmptyBuffer)
                {
                    mOutputManager.AddMessage(String.Join("\n", mOutputManager.Buffer));
                }
                if (!mOutputManager.MissingLlvm)
                {
                    mOutputManager.Show();
                    mOutputManager.AddMessage($"\n{OutputWindowConstants.kDone} {aCommandName}\n");
                }
                if (mOutputManager.HasErrors)
                {
                    mErrorsManager.AddErrors(mOutputManager.Errors);
                }
            }
            catch (Exception)
            {
                mOutputManager.Show();
                mOutputManager.AddMessage($"\n{OutputWindowConstants.kDone} {aCommandName}\n");
            }
        }