[PATCH] D23848: Add a clang-tidy Visual Studio extension

Zachary Turner via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 24 12:02:54 PDT 2016


zturner created this revision.
zturner added reviewers: alexfh, klimek, aaron.ballman, amccarth.
zturner added a subscriber: cfe-commits.

This gets a pretty solid UI in place for editing clang-tidy files.  It displays all the checks, descriptions of most of them with more to come later (it's a bit tedious), and allows disabling / enabling individual checks or entire groups of checks using a familiar UI such as the one in the C++ project system that supports inheritance or explicit overrides.

It supports serialization to and from Yaml using the NuGet package YamlDotNet, and depends on an additional NuGetPackage called BrutalStrongNameSigner which is required in order to strong name sign YamlDotNet (otherwise our extension can't load it).

Unfortunately implementing an inheritance-based property system such as Visual Studio's is *highly* non-trivial, and so this patch turned out much larger than I originally anticipated.

If need be, I can try to submit a skeleton patch that does nothing but add a blank options page first, so that this patch is not muddled up with the actual content.

I'm not sure who the best C# reviewer is around here, so adding a few people.

https://reviews.llvm.org/D23848

Files:
  CMakeLists.txt
  clang-tidy-vs/CMakeLists.txt
  clang-tidy-vs/ClangTidy.sln
  clang-tidy-vs/ClangTidy/CategoryVerb.cs
  clang-tidy-vs/ClangTidy/CheckTree.cs
  clang-tidy-vs/ClangTidy/ClangTidy.csproj
  clang-tidy-vs/ClangTidy/ClangTidy.vsct
  clang-tidy-vs/ClangTidy/ClangTidyCheckAttribute.cs
  clang-tidy-vs/ClangTidy/ClangTidyConfigurationPage.cs
  clang-tidy-vs/ClangTidy/ClangTidyPackage.cs
  clang-tidy-vs/ClangTidy/ClangTidyProperties.cs
  clang-tidy-vs/ClangTidy/ClangTidyPropertyGrid.Designer.cs
  clang-tidy-vs/ClangTidy/ClangTidyPropertyGrid.cs
  clang-tidy-vs/ClangTidy/ClangTidyPropertyGrid.resx
  clang-tidy-vs/ClangTidy/ForwardingPropertyDescriptor.cs
  clang-tidy-vs/ClangTidy/GlobalSuppressions.cs
  clang-tidy-vs/ClangTidy/Guids.cs
  clang-tidy-vs/ClangTidy/InheritableProperty.cs
  clang-tidy-vs/ClangTidy/InheritablePropertyComponent.Designer.cs
  clang-tidy-vs/ClangTidy/InheritablePropertyComponent.cs
  clang-tidy-vs/ClangTidy/InheritablePropertyConverter.cs
  clang-tidy-vs/ClangTidy/PkgCmdID.cs
  clang-tidy-vs/ClangTidy/Properties/AssemblyInfo.cs
  clang-tidy-vs/ClangTidy/PropertyFileParser.cs
  clang-tidy-vs/ClangTidy/Resources.Designer.cs
  clang-tidy-vs/ClangTidy/Resources.resx
  clang-tidy-vs/ClangTidy/Resources/Images_32bit.bmp
  clang-tidy-vs/ClangTidy/Resources/Package.ico
  clang-tidy-vs/ClangTidy/Utility.cs
  clang-tidy-vs/ClangTidy/VSPackage.resx
  clang-tidy-vs/ClangTidy/license.txt
  clang-tidy-vs/ClangTidy/packages.config
  clang-tidy-vs/ClangTidy/source.extension.vsixmanifest
  clang-tidy-vs/README.txt
  clang-tidy-vs/source.extension.vsixmanifest.in

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23848.69148.patch
Type: text/x-patch
Size: 167424 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160824/60bf7d7b/attachment-0001.bin>


More information about the cfe-commits mailing list