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

Aaron Ballman via cfe-dev cfe-dev at lists.llvm.org
Tue Aug 16 06:54:57 PDT 2016


On Tue, Aug 16, 2016 at 4:57 AM, Manuel Klimek <klimek at google.com> wrote:
>
>
> On Tue, Aug 16, 2016, 4:52 AM Zachary Turner via cfe-dev
> <cfe-dev at lists.llvm.org> wrote:
>>
>> Yea, integrating options probably isn't necessary for llvm developers, but
>> i think it would be *huge* for driving adoption externally. Same with
>> bundling the tool with the plugin so that it could be distributed
>> standalone, perhaps even from the vs extensions gallery
>
>
> Getting the plugin into the extension gallery would definitely be nice. I'm
> not sure how much worth there is in keeping an options ui accurate, but if
> somebody else is willing to do the work, I say go for it :)

+1

~Aaron

>
>> On Sun, Aug 14, 2016 at 3:14 PM Aaron Ballman <aaron at aaronballman.com>
>> wrote:
>>>
>>> On Fri, Aug 12, 2016 at 6:58 PM, Zachary Turner via cfe-dev
>>> <cfe-dev at lists.llvm.org> wrote:
>>> > 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?
>>>
>>> I would *love* to see clang-tidy exposed as a plugin within Visual
>>> Studio. The existing clang-format integration we already have is
>>> basically the only reason I use clang-format -- I don't want to drop
>>> into a command line from my editor unless I absolutely have to, so
>>> integrating clang-tidy makes it far more likely to check code early
>>> and often. The tight integration of the options with the editor would
>>> be really nice, but not critical for my particular usage (the defaults
>>> for both tools are fine for my needs).
>>>
>>> ~Aaron
>>>
>>> >
>>> > _______________________________________________
>>> > cfe-dev mailing list
>>> > cfe-dev at lists.llvm.org
>>> > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>> >
>>
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev


More information about the cfe-dev mailing list