[cfe-dev] Integrating clang-based refactoring tools into IDEs - best practices?

Manuel Klimek klimek at google.com
Mon Jun 1 03:13:43 PDT 2015

On Sat, May 30, 2015 at 2:54 PM Milian Wolff <mail at milianw.de> wrote:

> Hello all,
> for KDevelop, we have a GSOC student this summer doing a R&D project on
> how we
> could leverage libTooling and friends to create refactoring tools for C++
> code. I'm pretty sure that this is the correct way in the long run, but I
> have
> some trouble with the lack of API and ABI stability in the C++ libraries of
> LLVM, most notably libTooling here.
> I was thinking about a separate process that works only against a very
> specific LLVM version. Thus, if distributors update LLVM, and the stuff
> does
> not compile anymore, we only loose the refactoring but not the whole
> language
> support (based on clang-c).
> With this approach though, the cached parse data cannot be shared between
> language support and refactoring...
> How do other IDEs handle this situation? Is there maybe an external
> libTooling-c shim or similar that we could leverage?

I think you're the first IDE wanting to do that (so I'm super super excited
and want to help you where I can :D)

The original plan was to basically get refactorings into libclang once
they're working well enough. To my knowledge we don't have such
refactorings yet - is the SOC project about building refactorings, too? :)

For tools like clang-format or clang-tidy we have integrations that use the
command line interfaces.

> Bye
> --
> Milian Wolff
> mail at milianw.de
> http://milianw.de
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20150601/d336c2b7/attachment.html>

More information about the cfe-dev mailing list