[cfe-dev] Clang-format / clang-tidy VS plugin

Zachary Turner via cfe-dev cfe-dev at lists.llvm.org
Fri Aug 12 15:58:50 PDT 2016


I was thinking about some ways to improve clang-format, and possibly even
add clang-tidy to the list of things our VS plugin supports.  Perhaps even
merge them into a single plugin.  But you know, I'm a windows person, and I
want a UI.  I don't want to just click a button and have it use some
settings that are on disk that I edited by hand, I'd like to be able to
edit the settings themselves through a nice UI, like everything in VS.

This is kind of difficult if the plugin shells out to an external tool
without linking against it, because it doesn't have any knowledge of what
specific options and features the version it's calling might support in
order to build the appropriate UI to set them.  On the other hand, if it
links against the tool, this all becomes very easy, because the plugin can
share types and data structures with the tool itself.  And it also means
that someone could download the plugin without installing LLVM, as a
standalone tool, greatly reducing the barrier to entry for people wanting
to try out the tool.

Here's a quick mockup of what my ideal UI would look like and what I have
in mind: http://imgur.com/a/p3XBv

But again, it's hard to maintain this kind of thing if the VS plugin has to
rely on an external tool to do the formatting, since it would have to know
about every possible set of options for every version as the software
improves.  So in order to do this this way, we'd need to probably build
clang-format and/or clang-tidy as a DLL and bundle them with the plugin,
which could link against it.

Not really asking anyone else to do the work so much as I am asking if
people think this would be cool and/or something they'd like to see.
Personally I think it would be a great way to get clang-format and
clang-tidy onto more peoples' systems, particularly those people who are
not currently using clang on Windows, since this would be standalone and
work out of the box while providing a familiar user interface to what
people are used to.

Thoughts?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160812/020033c6/attachment.html>


More information about the cfe-dev mailing list