Clang libtooling is fairly new, so it is not too much based on it.
Also, in my experience, itβs a pain to link (there is no clan llvm-config version and in the tutorials the developers seem to think people will build their tools inside the full clang repo, and not as nice separate projects. In Ubuntu collections, clang only turns on libtooling as static .a, no.so. The official LLVM nightly builds for Ubuntu do not seem to include static libclangTooling.a at all.
There is include-what-you-use , which is designed to remove unused header files.
There is clReflect that generates reflection bindings. (Not sure if this actually uses libtooling or just libclang, but this is the same.)
There is also a refactorial that supports some other operations.
There are some tools included in the clang part . First of all, A C ++ 11 is a migration tool . There is also a tool for modules (a function working on a future version of C ++).
This material should be very useful and powerful after its removal.
Personally, I'm trying (currently unsuccessful) to create a simple CLI refactoring tool, cppmv, which allows me to simply rename classes, functions, variables, move them around namespaces, etc., while preserving their use of syncd, but I'm on that stage is nothing useful. Other tools might be cppls (for enumerating namespaces, class functions, etc.). Maybe cppcp if you want to copy something for some reason (for example, you may have a class "template"), but it seems less useful.
I also considered creating a FUSE user space file system that allowed you to mount and view your project so that you could use the traditional "mv" and "cp" commands, but this was more of an excuse for learning FUSE than because it would be useful do something like that. Although it may be possible to edit the source code of certain classes and functions in their own separate "files", it will not be useful for many objects, such as IDEs, because you will lose header information, etc.
It would be nice to have a live, βseeing how you are editing,β ASTMatcher-based tool, or some simple refactoring scripting language bindings.
EDIT: Currently, the clang format is also used to format the code style and (starting from 3.4) the clang-format.py script for Vim integration. clang-apply-replacements " , which finds files containing serialized Replacements and applies these changes after deduplication and conflict detection. "
Maybe you should watch this video where some of these materials are dismantled.