GithubHelp home page GithubHelp logo

tinytinni / includefilter Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 301 KB

A GUI for filtering "include hierarchy"-files of C++ compilers.

License: GNU General Public License v3.0

CMake 49.43% Shell 4.05% C++ 46.53%

includefilter's Introduction

Logo Include Filter

CMake

A GUI for filtering "include hierarchy"-files of C++ compilers.

Preview

All 3 big C++ Compilers support some kind of include hierarchy output when compiling source code. For MSVC, it is the /showIncludes option, for clang/gcc it is -H or --trace-includes.

The output can be very helpful tracking down some specific problems.

But also, the output can be very large and, especially the MSVC output and the hierarchy can be hard to track. Figuring out what header file includes a specific header file and at which level can be cumbersome to untangle, especially on MSVC as they choosed to use the whitespace as the hierarchy depth indicator.

For example, which files includes cstddef (last line). This is a shortened example for the Readme, it can get much messier very fast.

    Note: including file:   C:\libs\Qt\6.5.0\msvc2019_64\include\QtWidgets\QMainWindow
    Note: including file:    C:\libs\Qt\6.5.0\msvc2019_64\include\QtWidgets\qmainwindow.h
    Note: including file:     C:\libs\Qt\6.5.0\msvc2019_64\include\QtWidgets/qtwidgetsglobal.h
    Note: including file:      C:\libs\Qt\6.5.0\msvc2019_64\include\QtGui/qtguiglobal.h
    Note: including file:       C:\libs\Qt\6.5.0\msvc2019_64\include\QtCore/qglobal.h
    Note: including file:        C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\include\type_traits
    Note: including file:         C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\include\yvals_core.h
    Note: including file:          C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\include\vcruntime.h
    Note: including file:           C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\include\sal.h
    Note: including file:            C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\include\concurrencysal.h
    Note: including file:           C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\include\vadefs.h
    Note: including file:          C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\include\xkeycheck.h
    Note: including file:         C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\include\cstddef

This GUI program can read the include hierarchy output from the compiler and presents it in a treeview.

You can filter the tree view and by presseing "enter", the program jumps to the first occurance of the finding.

Supported Formats and Reading Options

Supports formats from MSVC, clang and gcc. Either read it from a file or copy the compiler output in the clipboard + paste it in the IncludeFilter GUI program.

It can also parse a subset of the given hierarchy output.

License

GPLv3 License © Matthias Möller. Made with ❤ in Germany.

includefilter's People

Contributors

tinytinni avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.