Hallo Leute,
habe bis vor kurzen noch mit SharpDevelop gebastelt... Bin nun auf VisualStudio umgestiegen und habe dort mein altes Projekt reingeladen. Funktioniert auch super. Aber, was ich in VS einfach nicht schaffe ist, dass ich im Projektmappen-Explorer eine CS-Datei auf eine andere schieben kann und diese dann eine Ebene tiefer angezeigt wird. Die alten importierten Dateien werden zwar eine Ebene (oder sogar mehrere) tiefer angezeigt, die in VS erstellten allerdings sind immer direkt unterhalb eines Ordner angeordnet.
Das ganze plustert meiner Meinung nach einfach nur alles auf und hilft ungemein die Übersicht zu verliren 😦 Kann mir einer sagen, wie ich also im PM-Explorer die Dateien Gruppieren kann?
Danke Frokuss
Hallo Frokuss,
ja, leider kann Visual Studio das nativ leider nicht wirklich.
es gibt zwei Möglichkeiten dieses trotzdem zu erreichen
entweder du editierst die Projektdatei manuell oder du benutzt das Add-On
https://marketplace.visualstudio.com/items?itemName=MadsKristensen.FileNesting
Viele Grüße
Lars
Sorry, aber wozu braucht man das?
Wenn du Klassen hast die so groß sind das du sie in mehrere Dateien aufspalten musst, ist da etwas ganz gehörig falsch.
Und wenn man vernünftige Designs benutzt, ist das auch sehr selten nötig.
Danke Lars. Werde mir mal das Addon angucken.
@FZelle: Unabhängig davon, dass ich das nicht mal für deinen Fall verwende... Ich habe z.B. eine Klasse Anwender und eine Klasse Kontakt. Zweiteres erbt vom ersten. Muss ich dann wirklich jede einzelne Klasse bei mir aufgelistet haben? Oder reicht es eventuell auch aus, wenn mir einfach nur Kontakt angezeigt wird?
oder: ich habe mir eine eigene Tab-Leiste erzeugt (jaja, ich weis, gibt alles schon fertig). Dort habe ich einmal das komplette konstrukt drinnen, dann die einmal die Tableiste, den Contentbereich und die einzelnen Tabs. Ich will jetzt nicht alle 4 Klassen angezeigt haben. reicht mir, wenn ich eine Klasse sehe... Hast du mehrere solcher Konstrukte, hast du nun mal viele Klassen... Und mit Partial-Klassen arbeite ich eher selten... Das mache ich nur, wenn ich so ~150 Zeilen Code gut in eine seperate Datei auslagern kann... z.B. die ganzen Events. Aber wie gesagt... kommt fast nie vor...
Gruß Frokuss
Naja; jetzt versuchst Du aber OOP Design Themen mit Dateiorganisation zu erschlagen.
Meine Erfahrung/Tipp: besser lassen und das Konzept von Namespaces (und damit implizit auch die Ordnerstruktur) verstehen und anwenden.
Gibt wenig sinvolle Verwendung für sowas (Konfigurationsdateien sind ein positives Beispiel).
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Zumal das Beispiel jetzt eher ein schlecht gewähltes wäre. Wenn eine Klasse Kontakt von Anwender erbt würde ich wohl eher den Anwender angezeigt haben wollen. Denn was passiert, wenn plötzlich eine weitere Klasse von Anwender erbt?
Alles in allem bin ich aber auch der Überzeugung, dass soetwas ganz und gar nicht notwendig ist. Der richtige weg wären wie Abt bereits genannt hat, eine vernünftige Ordner und Namespace Struktur.
Beispiel:
Tab-Leiste [Ordner]
Tab-Header
Tab-Page
Tab-Content
Nun könnte man eventuell noch Page und Content zusammen führen was m.E. aber wenig Sinn macht.
Wissen ist nicht alles. Man muss es auch anwenden können.
PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |
Ich habe meist Projekte mit mehreren 100.000 Zeilen, und die werden nur dann unübersichtlich wenn man sich nicht an das hält was Abt sagt.
Und 150 Zeilen Eventhandler auslagern ist eine der schlechtesten arten wie man diese Anzeige benutzen kann.
Das einzige was da sinn macht sind maschinengenerierte Dateien wie die .designer.cs oder die von TT.* oder RESX.