Ejemplo n.º 1
0
        public static ClangGeneralOptionsView GetClangGeneralOptionsViewFromFile()
        {
            ClangGeneralOptionsView clangGeneralOptionsView = new ClangGeneralOptionsView();

            clangGeneralOptionsView.LoadSettingsFromStorage();
            return(clangGeneralOptionsView);
        }
        private void Initialize(string ignoreFiles)
        {
            ThreadHelper.ThrowIfNotOnUIThread();
            mDte = (DTE2)ServiceProvider.GlobalProvider.GetService(typeof(DTE));
            SettingsTestUtility.ResetClangGeneralOptionsView();

            mIgnoreCompileCommand         = IgnoreCompileCommand.Instance;
            mGeneralOptions               = SettingsProvider.GeneralSettings;
            mGeneralOptions.FilesToIgnore = ignoreFiles;
        }
        public ClangGeneralOptionsUserControl(ClangGeneralOptionsView clangGeneralOptions)
        {
            InitializeComponent();

            wpfPropGrid.SelectedObject = clangGeneralOptions;

            Loaded += delegate
            {
                UIElementsActivator.Activate(HwndSource.FromVisual(this) as HwndSource);
            };
        }
        public async Task ClangGeneralOptionsView_NotNullAsync()
        {
            //Arrange
            await UnitTestUtility.LoadPackageAsync();

            //Act
            ClangGeneralOptionsView generalSettings = SettingsProvider.GeneralSettings;

            //Assert
            Assert.NotNull(generalSettings);
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Instance constructor
 /// </summary>
 public GenericScriptBuilder(ClangGeneralOptionsView aGeneralOptions, ClangTidyOptionsView aTidyOptions, ClangTidyPredefinedChecksOptionsView aTidyChecks,
                             ClangTidyCustomChecksOptionsView aTidyCustomChecks, ClangFormatOptionsView aClangFormatView, string aVsEdition, string aVsVersion, bool aTidyFixFlag = false)
 {
     mGeneralOptions         = aGeneralOptions;
     mTidyOptions            = aTidyOptions;
     mTidyChecks             = aTidyChecks;
     mTidyCustomChecks       = aTidyCustomChecks;
     mClangFormatView        = aClangFormatView;
     mVsEdition              = aVsEdition;
     mVsVersion              = aVsVersion;
     mTidyFixFlag            = aTidyFixFlag;
     mUseClangTidyConfigFile = false;
 }
Ejemplo n.º 6
0
        private List <string> RemoveDuplicateFiles(List <string> documentsToIgnore, ClangGeneralOptionsView settings)
        {
            List <string> trimmedDocumentToIgnore = new List <string>();

            foreach (var item in documentsToIgnore)
            {
                if (!settings.FilesToIgnore.Contains(item))
                {
                    trimmedDocumentToIgnore.Add(item);
                }
            }
            return(trimmedDocumentToIgnore);
        }
        public async Task ContinueOnError_ChangeValue_CompareViewToFileAsync()
        {
            await UnitTestUtility.LoadPackageAsync();

            SettingsTestUtility.ResetClangGeneralOptionsView();
            ClangGeneralOptionsView generalSettings = SettingsProvider.GeneralSettings;

            generalSettings.Continue = true;
            SettingsTestUtility.SaveGeneralOptions(generalSettings);
            ClangGeneralOptionsView generalSettingsFromFile = SettingsTestUtility.GetClangGeneralOptionsViewFromFile();

            Assert.Equal(generalSettings.Continue, generalSettingsFromFile.Continue);
        }
        public async Task AdditionalIncludes_ChangeValue_CompareViewToFileAsync()
        {
            await UnitTestUtility.LoadPackageAsync();

            SettingsTestUtility.ResetClangGeneralOptionsView();
            ClangGeneralOptionsView generalSettings = SettingsProvider.GeneralSettings;

            generalSettings.AdditionalIncludes = ClangGeneralAdditionalIncludes.SystemIncludeDirectories;
            SettingsTestUtility.SaveGeneralOptions(generalSettings);
            ClangGeneralOptionsView generalSettingsFromFile = SettingsTestUtility.GetClangGeneralOptionsViewFromFile();

            Assert.Equal(generalSettings.AdditionalIncludes.Value, generalSettingsFromFile.AdditionalIncludes.Value);
        }
        public async Task ProjectToIgnore_ChangeValue_CompareViewToFileAsync()
        {
            await UnitTestUtility.LoadPackageAsync();

            SettingsTestUtility.ResetClangGeneralOptionsView();
            ClangGeneralOptionsView generalSettings = SettingsProvider.GeneralSettings;

            generalSettings.ProjectsToIgnore = "TestProject";
            SettingsTestUtility.SaveGeneralOptions(generalSettings);
            ClangGeneralOptionsView generalSettingsFromFile = SettingsTestUtility.GetClangGeneralOptionsViewFromFile();

            Assert.Equal(generalSettings.ProjectsToIgnore, generalSettingsFromFile.ProjectsToIgnore);
        }
        public async Task CompileFlags_ChangeValue_CompareViewToFileAsync()
        {
            await UnitTestUtility.LoadPackageAsync();

            SettingsTestUtility.ResetClangGeneralOptionsView();
            ClangGeneralOptionsView generalSettings = SettingsProvider.GeneralSettings;

            generalSettings.ClangFlags = "-Wall";
            SettingsTestUtility.SaveGeneralOptions(generalSettings);
            ClangGeneralOptionsView generalSettingsFromFile = SettingsTestUtility.GetClangGeneralOptionsViewFromFile();

            Assert.Equal(generalSettings.ClangFlags, generalSettingsFromFile.ClangFlags);
        }
Ejemplo n.º 11
0
        public void ConstructParameters(ClangGeneralOptionsView aGeneralOptions, ClangTidyOptionsView aTidyOptions, ClangTidyChecksOptionsView aTidyChecks,
                                        ClangTidyCustomChecksOptionsView aTidyCustomChecks, ClangFormatOptionsView aClangFormatView, DTE2 aDTEObj, string aVsEdition, string aVsVersion)
        {
            mParameters = GetGeneralParameters(aGeneralOptions);
            mParameters = null != aTidyOptions ?
                          $"{mParameters} {GetTidyParameters(aTidyOptions, aTidyChecks, aTidyCustomChecks)}" : $"{mParameters} {ScriptConstants.kParallel}";

            if (null != aClangFormatView && null != aTidyOptions && true == aTidyOptions.Fix && true == aTidyOptions.FormatAfterTidy)
            {
                mParameters = $"{mParameters} {ScriptConstants.kClangFormatStyle} {GetClangFormatParameters(aClangFormatView)}";
            }

            mParameters = $"{mParameters} {ScriptConstants.kVsVersion} {aVsVersion} {ScriptConstants.kVsEdition} {aVsEdition}";
        }
Ejemplo n.º 12
0
        private string GetGeneralParameters(ClangGeneralOptionsView aGeneralOptions)
        {
            string parameters = string.Empty;

            if (false == string.IsNullOrWhiteSpace(aGeneralOptions.ClangFlags))
            {
                parameters = ScriptConstants.kClangFlags;
                if (true == aGeneralOptions.TreatWarningsAsErrors)
                {
                    parameters += string.Format(" (''{0}'',''{1}'')", ScriptConstants.kTreatWarningsAsErrors, RebuildParameterList(aGeneralOptions.ClangFlags));
                }
                else
                {
                    parameters += string.Format(" (''{0}'')", RebuildParameterList(aGeneralOptions.ClangFlags));
                }
            }

            if (true == aGeneralOptions.Continue)
            {
                parameters = $"{parameters} {ScriptConstants.kContinue}";
            }

            if (true == aGeneralOptions.VerboseMode)
            {
                parameters = $"{parameters} {ScriptConstants.kVerboseMode}";
            }

            if (false == string.IsNullOrWhiteSpace(aGeneralOptions.ProjectsToIgnore))
            {
                parameters = $"{parameters} {ScriptConstants.kProjectsToIgnore} (''{RebuildParameterList(aGeneralOptions.ProjectsToIgnore)}'')";
            }

            if (false == string.IsNullOrWhiteSpace(aGeneralOptions.FilesToIgnore))
            {
                parameters = $"{parameters} {ScriptConstants.kFilesToIgnore} (''{RebuildParameterList(aGeneralOptions.FilesToIgnore)}'')";
            }

            if (0 == string.Compare(ClangGeneralAdditionalIncludesConvertor.ToString(aGeneralOptions.AdditionalIncludes), ComboBoxConstants.kSystemIncludeDirectories))
            {
                parameters = $"{parameters} {ScriptConstants.kSystemIncludeDirectories}";
            }

            return($"{parameters}");
        }
Ejemplo n.º 13
0
        private string GetGeneralParameters(ClangGeneralOptionsView aGeneralOptions)
        {
            string parameters = string.Empty;

            if (null != aGeneralOptions.ClangFlags && 0 < aGeneralOptions.ClangFlags.Length)
            {
                parameters = $"{parameters} {ScriptConstants.kClangFlags} (" +
                             $"{string.Format("{0}", aGeneralOptions.TreatWarningsAsErrors ? string.Format("''{0}'',", ScriptConstants.kTreatWarningsAsErrors) : string.Empty)}''" +
                             $"{String.Join("'',''", aGeneralOptions.ClangFlags)}'')";
            }

            if (true == aGeneralOptions.Continue)
            {
                parameters = $"{parameters} {ScriptConstants.kContinue}";
            }

            if (true == aGeneralOptions.VerboseMode)
            {
                parameters = $"{parameters} {ScriptConstants.kVerboseMode}";
            }

            if (null != aGeneralOptions.ProjectsToIgnore && 0 < aGeneralOptions.ProjectsToIgnore.Length)
            {
                parameters = $"{parameters} {ScriptConstants.kProjectsToIgnore} (''{String.Join("'',''", aGeneralOptions.ProjectsToIgnore)}'')";
            }

            if (null != aGeneralOptions.FilesToIgnore && 0 < aGeneralOptions.FilesToIgnore.Length)
            {
                parameters = $"{parameters} {ScriptConstants.kFilesToIgnore} (''{String.Join("'',''", aGeneralOptions.FilesToIgnore)}'')";
            }

            if (0 == string.Compare(aGeneralOptions.AdditionalIncludes, ComboBoxConstants.kSystemIncludeDirectories))
            {
                parameters = $"{parameters} {ScriptConstants.kSystemIncludeDirectories}";
            }

            return($"{parameters}");
        }
Ejemplo n.º 14
0
 public static void SaveGeneralOptions(ClangGeneralOptionsView clangGeneralOptionsView)
 {
     clangGeneralOptionsView.SaveSettingsToStorage();
 }