diff --git a/CPPCheckPlugin/AnalyzerCppcheck.cs b/CPPCheckPlugin/AnalyzerCppcheck.cs index 38684cd..e07a609 100644 --- a/CPPCheckPlugin/AnalyzerCppcheck.cs +++ b/CPPCheckPlugin/AnalyzerCppcheck.cs @@ -185,8 +185,8 @@ private static bool MatchMasksList(string line, HashSet masks) { foreach (var mask in masks) { - Regex rgx = new Regex(mask); - if (rgx.IsMatch(line)) + Regex rgx = new Regex(mask.ToLower()); + if (rgx.IsMatch(line.ToLower())) return true; } return false; diff --git a/CPPCheckPlugin/CPPCheckPluginPackage.cs b/CPPCheckPlugin/CPPCheckPluginPackage.cs index b048dc5..77d14d3 100644 --- a/CPPCheckPlugin/CPPCheckPluginPackage.cs +++ b/CPPCheckPlugin/CPPCheckPluginPackage.cs @@ -39,6 +39,39 @@ private static void CreateDefaultGlobalSuppressions() suppressionsInfo.SkippedIncludesMask.Add(".*Microsoft Visual Studio.*"); suppressionsInfo.SkippedIncludesMask.Add(".*Microsoft SDKs.*"); suppressionsInfo.SkippedIncludesMask.Add(".*boost.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\ActiveQt.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\Qt.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtCore.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtDeclarative.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtGui.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtMultimedia.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtNetwork.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtOpenGL.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtOpenVG.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtScript.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtScriptTools.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtSql.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtSvg.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtTest.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtWebKit.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtXml.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtXmlPatterns.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtConcurrent.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtMultimediaWidgets.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtOpenGLExtensions.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtQml.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtQuick.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtSensors.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtWebKitWidgets.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtWidgets.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtZlib.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\include\\QtV8.*"); + suppressionsInfo.SkippedIncludesMask.Add(@".*\\mkspecs\\win32-.*"); + + suppressionsInfo.SkippedFilesMask.Add("^moc_.*\\.cpp$"); + suppressionsInfo.SkippedFilesMask.Add("^qrc_.*\\.cpp$"); + suppressionsInfo.SkippedFilesMask.Add("^ui_.*\\.h$"); + suppressionsInfo.SaveToFile(globalSuppresionsFilePath); } } @@ -193,7 +226,7 @@ private void documentSaved(Document document) if (Properties.Settings.Default["CheckSavedFiles"] == null) { - DialogResult reply = MessageBox.Show("Do you want to start analysis any time file is saved? It will clear previous analysis results.\nYou can change this behavior in cppcheck settings.", "Cppcheck: start analysis when file is saved?", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); + DialogResult reply = MessageBox.Show("Do you want to start analysis any time a file is saved? It will clear previous analysis results.\nYou can change this behavior in cppcheck settings.", "Cppcheck: start analysis when file is saved?", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); Properties.Settings.Default.CheckSavedFiles = (reply == DialogResult.Yes); if (reply == DialogResult.No) return; @@ -247,13 +280,9 @@ private void checkCurrentProject() if (fileTypeEnumConstant == "eFileTypeCppCode") // Only checking cpp files (performance) { String fileName = file.Name; - // Ignoring Qt MOC and UI files - if (!(fileName.StartsWith("moc_") && fileName.EndsWith(".cpp")) && !(fileName.StartsWith("ui_") && fileName.EndsWith(".h")) && !(fileName.StartsWith("qrc_") && fileName.EndsWith(".cpp"))) - { - SourceFile f = createSourceFile(file.FullPath, currentConfig, project); - if (f != null) - files.Add(f); - } + SourceFile f = createSourceFile(file.FullPath, currentConfig, project); + if (f != null) + files.Add(f); } } break; // Only checking one project at a time for now diff --git a/CPPCheckPlugin/CppcheckSettings.xaml.cs b/CPPCheckPlugin/CppcheckSettings.xaml.cs index 8f93486..884156c 100644 --- a/CPPCheckPlugin/CppcheckSettings.xaml.cs +++ b/CPPCheckPlugin/CppcheckSettings.xaml.cs @@ -130,7 +130,7 @@ private void EditProjectSuppressions(object sender, RoutedEventArgs e) settings.ShowDialog(); } else - MessageBox.Show("No active C++ project."); + MessageBox.Show("No C++ project selected in the solution explorer."); } private void MessagesListClick(object sender, RoutedEventArgs e) diff --git a/CPPCheckPlugin/SuppressionsInfo.cs b/CPPCheckPlugin/SuppressionsInfo.cs index 035515d..ff678b5 100644 --- a/CPPCheckPlugin/SuppressionsInfo.cs +++ b/CPPCheckPlugin/SuppressionsInfo.cs @@ -12,10 +12,10 @@ public class SuppressionsInfo // list of suppressions in cppcheck format public HashSet SuppressionLines = new HashSet(); - // list of regular expresions with files that should be excluded from check + // list of regular expressions with files that should be excluded from check public HashSet SkippedFilesMask = new HashSet(); - // list of regular expresions with include paths that should be excluded from includes list + // list of regular expressions with include paths that should be excluded from includes list public HashSet SkippedIncludesMask = new HashSet(); public void SaveToFile(string suppresionsFilePath) diff --git a/CPPCheckPlugin/source.extension.vsixmanifest b/CPPCheckPlugin/source.extension.vsixmanifest index a287902..66693e8 100644 --- a/CPPCheckPlugin/source.extension.vsixmanifest +++ b/CPPCheckPlugin/source.extension.vsixmanifest @@ -1,7 +1,7 @@  - + cppcheck add-in Integration for cppcheck - C/C++ code static analysis tool PackageInstallerLicense.txt