Ich suche nach einem Tool (vorzugsweise einem Visual Studio-Plugin), das alle Dateien anzeigt, die in einer bestimmten Datei enthalten sind, und alle Dateien anzeigt, die in diesen Dateien enthalten sind, und so weiter.
Wie kann ich das C/C++ #include-Diagramm einfach anzeigen? [closed]
Zuerst, cinclude2dot.pl ist ein Perl-Skript, das C/C++-Code analysiert und ein #include-Abhängigkeitsdiagramm als Punktdatei zur Eingabe in graphviz erstellt.
http://www.flourish.org/cinclude2dot/
Wenn Sie nicht den Weg eines solchen manuellen Tools gehen möchten, dann ist der zweifellose Gewinner meiner Meinung nach ein Tool namens “IncludeManager“ von ProFactor.
http://www.profactor.co.uk/includemanager.php
Es gibt eine kostenlose Testversion, und es ist großartig. Es ist ein Plug-in für Visual Studio, das vollständig integriert ist, also doppelklicken Sie auf etwas hier drüben führt Sie zu der Stelle, an der es enthalten ist da drüben.
Tooltip-Mouseovers geben Ihnen alle Informationen, die Sie möchten, und Sie können nach unten / oben bohren, ganze Unterbäume entfernen, die Sie nicht interessieren, andere Darstellungen als Diagramme anzeigen, durch eine Liste von Übereinstimmungen für dies und das blättern, es ist wunderbar.
Wenn Sie schnell sind, können Sie die #include-Struktur eines großen Projekts umgestalten, bevor die Testversion abläuft. Trotzdem kostet es nicht viel, etwa 35 US-Dollar pro Lizenz.
Für das, was es tut, ist es fast perfekt. Nicht nur Diagramme einschließen, sondern auch projektübergreifende Abhängigkeiten von gemeinsam genutzten Dateien, Auswirkungen auf Build-Zeiten, detaillierte Eigenschaften in Rastern, perfekt.
-
IncludeManager sieht so aus, als würde es den Trick leicht machen und ist kostengünstig. Ich werde dem eine Chance geben.
– Boinst
1. Oktober 2013 um 6:46 Uhr
-
IncludeManager wurde kostenlos veröffentlicht, da sie den Handel eingestellt haben.
– Silber est
11. Februar 2020 um 0:10 Uhr
-
cinclude2dot
war für mich am nützlichsten, einen einmaligen Blick auf den besten Header zu werfen, der aus einer schlecht dokumentierten Bibliothek aufgenommen werden sollte. Mit dem Befehl graphviz~/scripts/cinclude2dot.pl | dot -Tsvg > output.svg
– MHebes
12. Januar um 14:20 Uhr
Kgiannakakis
Sauerstoffmit Hilfe von Graphviz, kann das tun. Sie müssen zuerst eine Konfigurationsdatei bearbeiten. Dies wird beim ersten Mal nicht einfach sein, aber danach ist keine große Bearbeitung erforderlich.
-
Eigentlich ist es in den meisten Fällen einfach – entweder verwenden Sie die Windows-GUI des Doxygen-Assistenten, um es zu generieren, oder führen Sie es von der Befehlszeile aus aus
doxygen -g
um eine Vorgabe zu generierenDoxyfile
Stellen Sie dann sicher, dass Sie die Werte habenINCLUDE_GRAPH
undINCLUDED_BY_GRAPH
einstellenYES
. Möglicherweise müssen Sie Doxygen dann einige Male ausführen und die Ausgabe überprüfen, um die Parameter zu optimieren.– der_Mandrill
22. Juli 2013 um 9:13 Uhr
-
Doxygen funktionierte recht gut, die Windows-GUI-Version benötigte keine Konfigurationseinstellungen, nur einige Informationen für das Projekt, aber das Dokument war innerhalb von 2 Minuten nach der Installation fertig. Ich habe Graphviz eine PATH-Umgebungsvariable erstellen lassen, wahrscheinlich wird sie benötigt, sie fragt während der Installation um Erlaubnis, sie zu erstellen.
– Beatcoder
9. August 2021 um 4:02 Uhr
Icabod
Vielleicht nicht ganz das, was Sie wollen, aber der Visual Studio-Compiler (cl.exe) hat eine Option /showIncludes
die Ihnen einen Baum der Includes zeigt, wenn Sie eine Datei kompilieren.
Wenn Sie diese Informationen für eine einzelne Datei wünschen, können Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Datei klicken, „Eigenschaften“ auswählen und im Abschnitt „Befehlszeile“ einfach /showIncludes zu den „Zusätzlichen Optionen“ hinzufügen. (Beachten Sie, dass ich VC++ 2005 verwende, daher kann es bei neueren Versionen anders sein).
Die Ausgabe, die Sie erhalten, ist ein wenig … verworren, aber sie zeigt Ihnen, was enthalten ist und in welcher Reihenfolge.
Übrigens ist das gleiche Feature in GCC und dem Intel C++ Compiler (zumindest meine Versionen). -H
.
wischen
Sie können die von dieser Stack Overflow-Antwort vorgeschlagene Methode ausprobieren:
Es gibt eine C/C++ -> Erweiterte Projekteinstellung “Show Includes”. Das erzeugt den Baum. Es wird dem Compiler-Schalter zugeordnet /showIncludes
Phil Devaney
Wenn Sie Visual Studio 2010 verwenden, können Sie das neue verwenden Visualisierungs- und Modellierungs-Feature-Pack von Microsoft, das über eine Funktion zum Generieren eines Include-Diagramms verfügt. Dies ist jedoch nur über ein MSDN-Subskript verfügbar.
-
Wenn das Feature-Pack so nützlich ist, wie es aussieht, verdient dieser Beitrag mindestens 100 Upvotes.
– James McNellis
19. Juni 2010 um 4:22 Uhr
-
Auf den Screenshots sieht das Modellierungs-Feature-Pack tatsächlich wie ein Traumwerkzeug aus. Sie benötigen jedoch nicht nur ein MSDN-Abonnement, sondern auch ein Premium oder Ultimate Visual Studio, um sich für den Download zu qualifizieren ;-(
– Buschnick
26. Mai 2011 um 8:43 Uhr
-
Und es funktioniert im Allgemeinen NICHT für C++-Projekte.
– CJohnson
21. Juni 2013 um 5:23 Uhr
Jens Gustedt
Nicht in Ihren Vorlieben, aber doxygen macht das ganz gut.
-
Wenn das Feature-Pack so nützlich ist, wie es aussieht, verdient dieser Beitrag mindestens 100 Upvotes.
– James McNellis
19. Juni 2010 um 4:22 Uhr
-
Auf den Screenshots sieht das Modellierungs-Feature-Pack tatsächlich wie ein Traumwerkzeug aus. Sie benötigen jedoch nicht nur ein MSDN-Abonnement, sondern auch ein Premium oder Ultimate Visual Studio, um sich für den Download zu qualifizieren ;-(
– Buschnick
26. Mai 2011 um 8:43 Uhr
-
Und es funktioniert im Allgemeinen NICHT für C++-Projekte.
– CJohnson
21. Juni 2013 um 5:23 Uhr
jdehaan
http://www.codeproject.com/KB/applications/includefinder.aspx
Dies ist kein VS-Plug-In, kann aber ein Starter für Ihr eigenes Tool sein. Soweit ich sehen konnte, liest es nur VC6-Projekte, die neueren VS haben ein einfach zu analysierendes XML-Format. Was Sie davon brauchen, sind die standardmäßigen Include-Pfade, damit das Tool die enthaltenen Dateien finden kann. Alternativ könnten Sie in der GUI ein Einstellungsfeld als Benutzereingabe bereitstellen.
betrogen? stackoverflow.com/questions/42308/…
– Johann Kotlinski
18. Juni 2010 um 12:59 Uhr
Ja. Meine Suche hat mich im Stich gelassen.
– CannibalSmith
18. Juni 2010 um 13:42 Uhr
@JohanKotlinski, ich denke, in diesem Thema geht es nur darum, die Abhängigkeiten zu verfolgen, nicht darum, wie man ein Diagramm erstellt, ein wichtiger Unterschied, meiner Meinung nach.
– R Sahu
15. November 2015 um 4:45 Uhr