Welcome curious reader!
My name is Andreas Reich and I work currently as a Software Engineer at Unity in Stockholm (Opinions do not reflect those of my employer etc. 😉 ).
I was born in Germany, where I did my Master’s degree in Computational Visualistics and co-founded the awesome student game developer club Acagamics.
I am privately interested in a lot of technical stuff, among them GPU programming, game engines, software design and programming languages.
Hi Andreas,
I think you wrote this nice VS plugin “Include Toolbox”.
How can I modify the filter to have first the includes with “” and than the includes with
e.g.:
#include “a.h”
#include “b.h”
#include
#include
Regards,
Marco
LikeLike
You mean first includes with quotation marks and then with the angle brackets (wordpress doesn’t display that)? Hmm I can see how this can be useful, but currently it’s not possible. The regex list in the option for sorting always takes the include string itself without quot/angle brackets.
I opened a ticket here, I’m going to add an option for that 🙂
LikeLike
I just put an updated version online. Enjoy!
LikeLike
I just installed the update. Nice work now this tool is really useful for me ! Thanks for your effort.
LikeLiked by 1 person
Hi Andreas,
The include toolbox is a great work! I gave it a try both at work and at home, after some IWYU configuration it worked like a charm for win32 builds. Using latest IWYU (0.80) and setting prefix_header_includes to “keep”.gave me the best results.
I also found several things that can be improved:
– It seems toolbox does not pass current target (x64 or win32) to IWYU, causing errors in x64.
– It doesn’t pass Nuget dependencies to IWYU – for instance, I’m using Nuget distributed Boost library
– When using SSE2, Clang seems not able to emulate MSVC well enough, causing compilation errors
– In case Clang fails due to too many compilation errors, the incomplete / erroneous suggestions from IWYU are still auto-applied
– IWYU added headers are always appended below the last inclusion, even when it is an inactive macro block. I’m not sure if this is an IWYU issue or the plugin’s.
– There is no way to pass in additional options / definitions to IWYU
– Trial and error mode does not take inactive macro block into account, so it would remove an inactive #include just because it would still compile.
– Include graph does not support searching
Despite imperfection, the plugin is powerful and easy to use. I can see it becoming a must-have for developers on windows / visual studio soon. Thanks for the work!
Regards,
Fei
LikeLike
Hi Fei,
Thank you very much for the kind words!
A few of the issues you’re listing are quite limitations of IWYU, others are already logged and most deserve a closer look. I’ll put them on GitHub and look after them when I have more time (fairly busy currently). Thanks for the feedback!
Cheers,
Andreas
LikeLike
Alright there we go:
I was wrong earlier, none of those were logged yet 🙂
LikeLike