Laden...

sharpDox - Ein Dokumentationstool für C# | Version 1.2

Erstellt von Geaz vor 11 Jahren Letzter Beitrag vor 4 Jahren 132.170 Views
Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

So, Version 0.9.7.1 ist bereits online!

Folgendes wurde geändert:

  • Better support for generics, abstracts, virtuals and statics
  • Fixed a bug in the chm exporter

Falls ihr Version 0.9.7 benutzt besorgt euch umgehend die neue Version, da dadurch ein großes Problem im CHM Exporter behoben wurde.

Gruß
Geaz

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

Neue Version und HTML-Plugin online (siehe ersten Beitrag).

Gruß
Geaz

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

Neue Version online mit vielen tollen Features 😃
Siehe Startbeitrag.

Gruß
Geaz

S
16 Beiträge seit 2013
vor 10 Jahren

Hallo Geaz,

ich bin ganz zufällig auf das hier gestoßen und habe es einfach mal geladen und nen Projekt "Bauen" lassen.

Mit dem Ergebnis bin ich auf den ersten Blick sehr zufrieden.

Das Programm gefällt mir sehr gut, danke dafür 😃

Falls ich nooch was finde was verbessert werden sollte oder so, gib ich dir Bescheid.

Grüße


Two Damn Geeks - 2dmg.org - Andorim

Andorim's Blog - blog.andorim.de - Andorim

96 Beiträge seit 2012
vor 10 Jahren

Hmmm...

von der Oberfläche her ein schickes Tool,

die chm-Datei zeigt mir links den kompletten Baum an, auf der rechten Seite nur "Die Navigation zu der Webseite wurde abgebrochen.", egal auf welchen node ich links klicke

edit:
Die im zip-Paket enthaltene chm-Datei verhält sich ebenso


Gruß
Carlo

"Palabras que no coinciden con hechos no valen nada."

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

Die im zip-Paket enthaltene chm-Datei verhält sich ebenso

Das ist sehr eigenartig! Bei mir klappt es wie es soll...
Auch ein weiteres Projekt das ich erstellt habe klappt einwandfrei...
Welches Betriebssystem nutzt du?

Gruß
Geaz

Edit: Kann es sein, dass du die CHM von einem Netzwerkpfad ausführst? Dann kann es zu diesem Problem kommen. Einfach von der lokalen Platte ausführen, dann klappts. Ist ein Problem bei dem Help Viewer.

P
660 Beiträge seit 2008
vor 10 Jahren

Hallo,

wenn das lokal immer noch nicht geht, dann guckst du hier:
Windows 7: How to display .chm content

MfG
ProGamer*Der Sinn Des Lebens Ist Es, Den Sinn Des Lebens Zu Finden! *"Wenn Unrecht zu Recht wird dann wird Widerstand zur Pflicht." *"Ignorance simplifies ANY problem." *"Stoppt die Piraterie der Musikindustrie"

96 Beiträge seit 2012
vor 10 Jahren

es zu diesem Problem kommen. Einfach von der lokalen Platte ausführen, dann klappts. Ist ein Problem bei dem Help Viewer.

Exakt, das wars! Merci!


Gruß
Carlo

"Palabras que no coinciden con hechos no valen nada."

96 Beiträge seit 2012
vor 10 Jahren

Ein Plugin zur Erstellung eines PDF-Reports existiert wohl (noch) nicht, oder?


Gruß
Carlo

"Palabras que no coinciden con hechos no valen nada."

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

Ein PDF Exporter existiert in der Tat NOCH nicht. Ich sitze gerade an einem Word-Exporter. Das könnte man dann bei Bedarf einfach aus Word heraus in ein PDF speichern.

Wann ich das Word-Plugin fertig habe weiß ich aber leider nicht. Bin da schon länger immer wieder mal dran, aber das Programm fordert dann doch immer wieder anders meine Aufmerksamkeit 😃

96 Beiträge seit 2012
vor 10 Jahren

Kann ich mir vorstellen. Na dann werde ich noch etwas abwarten, bislang macht das Tool jedenfalls einen guten Eindruck!


Gruß
Carlo

"Palabras que no coinciden con hechos no valen nada."

2.080 Beiträge seit 2012
vor 10 Jahren

Sieht toll aus ^^

Ich suche aber gerade nach Sequenzdiagrammen, die auf der Webseite versprochen werden.
Wo kann ich die finden oder erstellen lassen?

NuGet Packages im Code auslesen
lock Alternative für async/await

Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

Zu den Sequenzdiagrammen:

Die Sequenzdiagramme werden lediglich für Aufrufe innerhalb des Codes erstellt der analysiert wird. Code der nicht zum Projekt gehört oder von dir ausgeschlossen wurde, wie zum Beispiel .Net Framework Aufrufe oder ausgeschlossene private Methoden (Sichtbarkeitseinstellungen), werden nicht visualisiert. Sollten dann entsprechende Aufrufe vorhanden sein, so finden sich diese bei der entsprechenden Methode als letzter Eintrag (in der CHM & HTML Ausgabe).

2.080 Beiträge seit 2012
vor 10 Jahren

Ich hab gedacht, das wäre sowas, wie SharpDox Folie 3 ("und Sequenzdiagramme") dargestellt.

außerdem habe ich zwei vorhin folgenden Fehler:

Fehlermeldung:
2014-01-09 15:26:28,304: ERROR – System.ArgumentNullException: Der Wert darf nicht NULL sein.
Parametername: objectToConvert
bei SharpDox.Plugins.Html.Templates.Sites.IndexTemplateBase.ToStringInstanceHelper.ToStringWithCulture(Object objectToConvert)
bei SharpDox.Plugins.Html.Templates.Sites.IndexTemplate.TransformText()
bei SharpDox.Plugins.Html.Steps.CreateHtmlStep.CreateHtml(HtmlExporter htmlExporter, SDRepository repository, IStrings strings, String docLanguage, String outputPath)
bei SharpDox.Plugins.Html.Steps.CreateHtmlStep.ProcessStep(HtmlExporter htmlExporter)
bei SharpDox.Plugins.Html.HtmlExporter.Export(SDRepository repository, String outputPath)
bei SharpDox.Build.Context.Step.ExportStep.RunAllExporters(SDRepository repository)
bei SharpDox.Build.Context.Step.ExportStep.ExportSolution(SDRepository repository)
bei SharpDox.Build.Context.BuildContext.BuildDocumentation()

Das wiederholt sich, daher reicht nur die eine Fehlermeldung aus dem Log.

Das komische daran: Vorher hat alles wunderbar funktioniert. Ich hab dann das Plugin XmlExporter mal unwissend und ohne nachzudenken in den Plugins-Ordner geschmissen. Seit dem funktioniert das nicht mehr, ein Neudownload (für den Fall, dass ich etwas beschädigt habe) hat das Problem aber auch nicht behoben.

NuGet Packages im Code auslesen
lock Alternative für async/await

Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.

2.298 Beiträge seit 2010
vor 10 Jahren

Hallo,

das von dir gezeigte in dem Screenshot ist eines der Sequenzdiagramme und diese werden bei den entsprechenden Methoden angezeigt, welche die von Geaz genannten Kriterien erfüllen.

Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |

2.080 Beiträge seit 2012
vor 10 Jahren

Ich finde da keine Diagramme O.o
Oder benötigt SharpDox dafür irgendwelche Voraussetzungen? Das kleine Projekt, dass ich zum ausprobieren genommen habe, ist mehr oder weniger von der Hand runter geschrieben, nix dokumentiert und sehr klein.

Und den Fehler von Vorhin hab ich auch geklärt.
Wird kein Projektname angegeben, dann gibts die ArgumentNullException. Besser wäre, wenn er dann einfach den Projekt-Ordner-Namen nimmt, oder anzeigt, dass der Name eingegeben werden soll.

AUßerdem vermisse ich ein bisschen dieses kleine Feature, dass man in der Drop-Down-Liste für die Sprachen den Anfangsbuchstaben eintippen kann und der dann zu der Stelle hin springt. Ist nicht wirklich notwendig, ich hab das aber immer gerne genutzt, wenn das bei einer Software dabei war.

NuGet Packages im Code auslesen
lock Alternative für async/await

Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

Oder benötigt SharpDox dafür irgendwelche Voraussetzungen?

Keine Voraussetzungen. sharpDox kommt mit einer eigenen UML Bibliothek die das übernimmt. Kannst ja wenn du magst und kannst dein Projekt rüber schicken und ich schau drauf.

Wird kein Projektname angegeben, dann gibts die ArgumentNullException. Besser wäre, wenn er dann einfach den Projekt-Ordner-Namen nimmt, oder anzeigt, dass der Name eingegeben werden soll.

Das soll definitiv nicht so sein! Schreibe ich in die Issue-Liste und ist mit dem nächsten Release behoben. Danke!

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

Und wieder eine neue Version 😃

Diesmal wurde extrem an der Performance der Exporter geschraubt. Sollte um einiges schneller als vorher sein! Außerdem wurde eine Auswahl für die Exporter hinzugefügt. Hier die Changes:

  • Added exporter selection
  • Reworked html & chm plugins
  • HTML Documentation now working on chrome

http://sharpdox.de

Viel Spaß!

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

Hallo!

Neue Version 0.9.8.3 online!

CHM Plugin available as plugin now  
Support for typeparamref tag added  
Support for seealso tag added  
Added type constraints to syntax  
Some fixes  

Gruß
Geaz

16.842 Beiträge seit 2008
vor 10 Jahren

Direkt mal getestet.

  • Kennzeichne bitte Pflicht-Angaben in den "Allgemeinen Einstellungen"; ich vergess die Sprache jedes mal 😉

  • Warum öffnet sich bei "neue Konfiguration" die Punkte "allgemeine Einstellungen" und "Bauen" rechts, aber die "Exporteinstellungen" unten?
    Schau Dir mal den Github-Uploader für Windows an. Vielleicht kannst Du Dich an dessen Design orientierne; das fände ich etwas angenehmer als diese dynamischen Fenster-Klappmechanismen.

  • Im IE11 bleibt der Content-Bereich leer. Scheint ungültiges HTML zu sein bzw. vermeide iFrames! Verwende lieber jQuery.get() und div-Container, wenn Du ohnehin mit jQuery arbeitest.

  • Zahlreiche jQuery Fehler (insbesondere jQuery.hashchange)

  • sehr viele CSS Fehler / unerlaubte Werte

  • Navigation wird verrissen, wenn die Klassen mal etwas länger sind (zB UnmatchedFileSystemEntryTypeException)

  • Eine statische Klasse mit vielen Konstanten (~250) ist im Summary nicht mehr lesbar (viel zu klein). Zusätzlich überlagert sie zahlreiche Einträge des mittlerein Bereichs

Insgesamt finde ich das Projekt weiterhin sehr gut und freue mich, dass Du daran weiter entwickelst.
Als Tipp meinerseits würde ich Dich darum bitten mehr auf dynamisches HTML zu setzen, statt fixe Breiten, fixe Pixel-Angaben etc.
Auf meinem 27" mit 2560er Auflösung beträgt die Doku-Breite gerade mal ~45% der Gesamtbreite des Bildschirms. Auf meinem 24" mit 1920er wenigstens 60%. Die ganze vorhandene Breite (evtl responsive) auszunützen wäre wirklich eine Erleichterung!

Die Idee mit dem "reinzoomen", was von wo verwendet wird, finde ich gut; vielleicht könntest Du das ganze noch etwas "sauberer" und deutlicher umsetzen.
Bei einer tiefen Schachtelung verliert man gern den Überlick.

Aber Top. Ein Lob im Gesamten von mir!

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

Hi Abt,

vielen Dank für dein ausführlichen Beitrag! Freue mich immer über eine Rückmeldung, damit ich auch immer schön weiter dran arbeiten kann 😃

Das Layout für die HTML Doku werde ich in der nächsten Version überarbeiten.
Jedoch habe ich ein, zwei Fragen und hoffe, dass du mir diese beantworten kannst:

Scheint ungültiges HTML zu sein bzw. vermeide iFrames! Verwende lieber jQuery.get() und div-Container, wenn Du ohnehin mit jQuery arbeitest.

Ich hatte in einer vorherigen Version alles mit jQuery.get() gemacht. Leider gab es hier das Problem, dass z.B. der Chrome-Browser damit nicht lokal arbeitet (cross-domain). Damit ich das Problem im IE und Chrome lokal nicht mehr habe, habe ich das ganze auf IFrames umgeändert. Da du nun erwähnst, dass jquery.get() besser wäre, würde mich interessieren wie du das Problem umgehen würdest. 😃

Ansonsten werde ich mir deine Ausführungen für die nächste Version zu Herzen nehmen. Danke dafür!

Gruß
Geaz

16.842 Beiträge seit 2008
vor 10 Jahren

Öhm.. nkann ich nicht nachvollziehen. $.get funktioniert mit Chrome (verwende ich selbst).

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

Hast du das mal auf einem lokalem Dateisystem versucht? Dann bekommst du einen Fehler wegen der Cross-Domain-Policy. Das selbe Problem gibt es im IE wenn man $.get() auf dem lokalen Dateisystem nutzt. Sobald die Dateien auf einem Webserver sind ist das alles kein Problem mehr. Wollte aber, dass die Doku auch ohne Webserver läuft. Deswegend die IFrames.

Das Problem mit dem IE11 liegt übrigens an der veralteten jquery Version (gerade getestet). Falls du nicht auf die nächste Version warten willst, tausch die jquery Datei mal aus. Dann sollte die Doku auch im IE11 ersteinmal klappen.

Habe bereits zwei Issues bei Github für das Html-Plugin geöffnet 😃

Gruß
Geaz

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

Hallo Zusammen,

da ich die aktuelle GUI als ganz "nett" empfinde, aber als nicht wirklich praktikabel, überlege ich zur Zeit wie ich die GUI umgestalten könnte.
Aktuell bin ich bei dem angehängten Ansatz.

Ich stelle mir die ganze Applikation quasi als großes Propertygrid vor (im Bild lediglich angedeutet). Dabei würden alle bisherigen Konfigurationsseiten jeweils als eigene Kategorie im Grid angezeigt. Dadurch kann schön einfach alles entsprechend eingestellt werden, ohne auf den Seiten umher zu wechseln. Zudem kann man das Fenster dann auch vergrößern/verkleinern.

Im unteren Bereich stelle ich mir dann einen "Bau"-Button und eine Fortschrittsanzeige vor. Was haltet ihr von diesem Ansatz? Würde mich über ein paar Meinungen freuen! Danke 😃

Gruß
Geaz

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

Hallo Zusammen,

je mehr ich an dem Konzept arbeite desto mehr mag ich es 😃
HIer ein kleine Update für euch. Ich denke die neue GUI wird Bestandteil der nächsten Version.

Grüße & ich würde mich noch immer über Rückmeldungen freuen 😉

A
350 Beiträge seit 2010
vor 10 Jahren

Finde ich persl. echt schick, wirkt nicht überladen und alles klar strukturiert 😃

111 Beiträge seit 2011
vor 10 Jahren

Gefällt mir auf Anhieb besser als vorher weil es aufgeräumter wirkt.

Ich bin mir nicht 100% sicher aber so zusammengesetzte Worte gibt es im Englischen nicht Versionnumber dürfe z.B. version number geschrieben werden usw.

Kommt ein Mann in die Wirtschaft und sagt zum Wirt: 16 Bit!
Sagt der Wirt: Das ist ein Wort!

16.842 Beiträge seit 2008
vor 10 Jahren

.. und mandatory bezieht sich i.d.R. auf andere Themen.
Hier wäre wohl "required" besser bzw. gebräuchlicher.

96 Beiträge seit 2012
vor 10 Jahren

Ich erhalte immer die Meldung > Fehlermeldung:

Could not find the chm compiler. Please set the correct path in the chm settings. wie auch immer ich den Pfad (Ordner) angebe.
Ich nehme an, es muss der Ordner angegeben werden, in welchem sich die dll befindet?
Es wäre schöner, wenn man die dll an der Stelle direkt auswählen könnte.


Gruß
Carlo

"Palabras que no coinciden con hechos no valen nada."

709 Beiträge seit 2008
vor 10 Jahren

Wenn ich das richtig sehe, ist damit der Pfad zum "HTML Help Workshop" gemeint.

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

Genau, zunächst muss "HTML Help Workshop" installiert werden. Dann muss in den CHM Einstellungen der Pfad zum Workshop angegeben werden. Also der in dem der chm Compiler (hhc.exe) liegt. Sollte dann funktionieren.

Außerdem: Danke für das Feedback zur neuen GUI! Ich bin fast fertig und hoffe, dass ich eine neue Version gegen Ende des Monats veröffentlichen kann!

Gruß
Geaz

96 Beiträge seit 2012
vor 10 Jahren

Ok, danke für die Hinweise, es funktioniert so.

Nebenbei:
Kann es sein, dass die hhc.exe in der alten Version mitgeliefert wurde?


Gruß
Carlo

"Palabras que no coinciden con hechos no valen nada."

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

Ja, in der alten Version wurde alles nötige mitgeliefert. Leider erlaubt die Lizenz des "HTML Help Workshops" dies aber nicht. Deswegen musste ich das ändern.

Gruß
Geaz

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

So, nachdem die neue GUI so weit fertig ist, wollte ich die HTML-Doku für die neue Version ebenfalls neugestalten.

Die alte HTML-Doku hatte einige Probleme (zu schmal bei großen Monitoren, Probleme mit langen Titel in Klassen (im Menü und im Diagramm) usw.).

Deswegen versuche ich für die neue Version all diese Probleme zu beheben und gleichzeitig etwas frischen Wind reinzubringen.

Im Bild seht ihr den bisherigen Entwurf. Die Navigation wird links feststehen und lediglich das Menü wird scrollbar sein. Der rechte Teil der Dokumentation wird sich an die Monitorbreite anpassen.
Alle Farben der Dokumentation werden durch das überarbeitete Plugin zu verwalten sein (so kann z.B. das blau und orange ersetzt werden).

Nun wollte ich euch fragen wie ihr das Design bisher findet. Würde mich über ein paar Antworten freuen 😃

Gruß

16.842 Beiträge seit 2008
vor 10 Jahren

Könntest Du auch nur *.proj files zulassen?
Ich will nur einzelne Projekte dokumentieren lassen; keine ganze Solution.

Ginge das?

Das Layout sieht um welten besser aus.

* Die Selektbox akzeptiert keine Eingaben ohne Maus.
* Eine Landingpage wie es zB SandCastle erstellt fände ich wünschenswert sowie eine Möglichkeit eine ProjektURL anzugeben.
* Im IE wird das "Frame" falsch angezeigt
* Summaries werden noch nicht vollständig unterstützt.

Insgesamt bist Du auf einem wirklich wirklich guten Weg; leider insgesamt aber noch kein Ersatz für SandCastle für mich aufgrund ein paar KO-Dingen wie eben Landing Page und Summarysupport.

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

Hallo zusammen,

ich habe mal eine erste "Demo" der neuen HTML Doku online gestellt.

http://sharpdox.de/doc

Bitte beachten: Das Plugin befindet sich noch in Entwicklung. Die Demo soll lediglich einen Überblick darüber geben wie ich mir die neue HTML Doku gedacht habe und einige neue Features (z.B. die Suche) vorstellen.

Was ist neu:

  • Komplett überarbeitetes responsive Design
  • Suche und History
  • Neue Navigation
  • Verlinkbare Seiten

Das neue Design wurde bisher im Firefox und Chrome getestet. Im IE sollte es inzwischen auch schon laufen, wurde bisher aber noch nicht dafür angepasst. Also nicht wundern, wenn es da noch nicht so sauber klappt.

Ich würde mich wie immer über euer Feedback freuen! 😃

16.842 Beiträge seit 2008
vor 10 Jahren

Ich mag das Einklappen des Menüs nicht.
Wenn ich von Namespace A nach B will muss ich 87634 mal auf "zurück" klicken.
Ein Treeview wie in http://referencesource.microsoft.com/ fände ich deutlich besser.

Wenn man eine Url bei Dir kopiert hat man eine Guid, bei der man nicht weiß, was dahinter steckt: test.boxxnet.de/#05b137dc-619c-4de0-948f-706cc06ba50e
MS macht das so: referencesource.microsoft.com/#Microsoft.Build.Tasks.v4.0/ThisAssembly.cs Stichwort hübsche Urls 😉

Ich hab zwar gesehen Du verwendest OpenSans aber ich finde den kontrast nicht gut.
Evtl liegt einfach an der zu hellen Schriftfarbe für den Hintergrund; aber sieht aus wie eine verschwommene Serifenschrift.

Mal an Segoe UI oder was klassisches in Sachen Doku Times New Roman gedacht?

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

Hallo Abt,

danke für dein Feedback!
Ich habe die Demo aktualisiert und die von dir angesprochenen Punkte angepasst.

  1. Beim Menü habe ich versucht ein Kompromiss zu erreichen, indem ich jetzt quasi eine Baumstruktur nachahme wenn Untermenüs angeklickt werden. Eine "klassische" Baumnavigation fällt für mich aus verschiedensten Gründen weg.

  2. Bei der Schriftfarbe habe ich jetzt erst einmal versucht den Kontrast zu verbessern indem ich die Farbe ändere.

  3. Die URLs habe ich verbessert indem diese jetzt "sprechend" sind (außer bei Mitgliedern von Typen, da die URLs sonst eventuell zu lang werden).

Würde mich über ein erneutes Feedback freuen.

Gruß und schönen Rest-Sonntag
Geaz

16.842 Beiträge seit 2008
vor 10 Jahren

Darf ich fragen, wieso die raus fällt? Rein charakterlich ist eine Baumstruktur dafür perfekt, denn genau so sind Namespaces aufgebaut.

System
System.:::

Mit ein bisschen Design-Gefühl (das ich nicht habe) kann man das bestimmt auch intuitiv umsetzen.

Das mit den URLs kann ich nicht nachvollziehen.
Ich hab bisschen rumgeklickt und normalerweise war die GUID immer länger als der Methodenname 😉

Beispiel:
http://test.boxxnet.de/#SharpDox.Sdk.Config.IConfigController?21278334-daaf-4e3b-a8a8-a9e717679b3a

http://test.boxxnet.de/#SharpDox.Sdk.Config.IConfigController.Save

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

Im Prinzip ist es ja auch jetzt eine Baumstruktur. Nur das halt lediglich der aktuelle Knoten plus den Eltern angezeigt wird. Ein Wunsch von mir war, dass das Design im nächsten Schritt auch für Tablets funktioniert. Eine "klassische" Baumansicht empfinde ich für Tablets als absolut unpassend. Aber das wird wohl alles Geschmackssache sein 😃

Zu den URLs:
Du musst bedenken, dass für die URLs eindeutige Identifikationsmerkmale notwendig sind. Was machst du also mit der URL, wenn der Typ die Save Methode noch einmal überschreibt? Um die Methode innerhalb des Typen eindeutig zu identifizieren benötigst du also mindestens noch die Parametertypen.

  1. Empfinde ich die URLs dann als sehr unschön.
  2. Können die URLs dadurch extrem lang werden, da theoretisch beliebig viele Parameter mit einem sehr langen Methodennamen möglich wären.

Auch wenn 2. nicht der Regelfall ist, würde ich diesen doch sehr gerne mit einer "anständigen" URL abdecken.

(obere Ausführungen gelten natürlich nur, falls ich nicht irgendwo einen Denkfehler habe 😄)

Grüße
Geaz

16.842 Beiträge seit 2008
vor 10 Jahren

Fokussierst Du Tablets aus Trend-sicht, oder weil Du es nützlich findest?
Ich hab zwar zwei Tablets, aber ich kenne keinen Anwendungsfall wo ich auf meinem Tablet solch eine Doku brauche - ich entwickle ja am PC.
Ergo würde ich auch die Ansicht am PC fokussieren.

Wenn Du das ganze responsive machen willst kannst Du ja floating Menus umsetzen; sprich, dass sich das Menu bei Tablets anders verhält als auf Desktops.
Ehrlich gesagt wäre es an der Zielgruppe vorbei geschossen, wenn Du anfängst solch eine Doku in erster Linie Touch- und Tabletfähig zu machen.

Wenn es mehrere Methodensignaturen gibt dann würde ich optional eine (kürzere) Nummer vergeben, oder die URL mit den Überladungen angeben. Klammern sind in URLs ja nicht verboten.
Dann betrachte überlange URLs als Sonderfall und kürze die eben mit GUIDs.

Ich finde es so jedenfalls sehr unschön, da ich in der URL nicht erkenne, welche Methode dahinter steckt - Überladungen hin oder her.

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

Alsoooo...

Da der erste Neuentwurf mich und auch andere nicht 100%ig überzeugt hat, habe ich erneut von vorne angefangen. Diesmal ist das Hauptaugenmerk auf die Bedienung am Rechner gelegt worden. Deswegen gibt es nun eine Baumnavigation, welche ich hoffentlich ordentlich umgesetzt habe 😃

Zudem habe ich die Links "sprechender" gemacht und habe es ähnlich dem Vorschlag von Abt umgesetzt. (Achtung: Bisher können im neuen Design keine Mitglieder eines Typen direkt verlinkt werden. Dies wird sich aber noch ändern.)

Habe die Demo auf http://test.boxxnet.de aktualisiert und ein Screenshot angehängt. Würde mich erneut über Feedback freuen 😃

Danke für eure bisherige Hilfe!

Geaz

16.842 Beiträge seit 2008
vor 10 Jahren

Ich seh eine TreeView hust 😁
👍

So kann ich mir wirklich vorstellen das statt der QuickIO Online Help zu nutzen!

Fehler: verkleiner ich das linke TreeView-Feld kann ichs nicht mehr vergrößern.

H
114 Beiträge seit 2007
vor 10 Jahren

Hallo Geaz,

hab mir eben mal deine Testseite unter http://test.boxxnet.de/ angeschaut und bekomme diese leider nicht richtig angezeigt (siehe Navigationsbereich im Screenshot). Browser ist Opera in der Version 20.0.1387.91.
Aber ansonsten macht es einen guten Eindruck, werd ich die Tage mal ausprobieren und gegen ein kleines Projekt von mir laufen lassen.

Grüße, HiGHteK

742 Beiträge seit 2005
vor 10 Jahren

Der Header ist mir noch zu groß, mach die hellblaue Leiste weg und pack das Logo links in den dunkelblauen Streifen.

Außerdem ist mir das Zoomen im Klassendiagram noch negativ aufgefallen. Hier wäre es besser, wenn es meine Maus-Position als "Zentrum" benutzt.

Gelöschter Account
vor 10 Jahren

Der HTML Exporter generiert aber kein JavaScript oder? Anders gesagt, du generierst doch sicher pestfreies HTML? Ich frage weil ich die boxxnet Seite nicht wirklich anschauen kann da ich JavaScript grundsätzlich abschalte und mir vorstellen kann die von SharpDox generierte HTML Dokumentation über das WebBrowser Control anzuzeigen das mit JavaScript nicht (wirklich) zurecht kommt.

BTW: Ich weiss es zwar nicht genau, aber du machst dich in jedem Fall weniger angreifbar wenn du der boxxnet Präsenz auch ein Impressum hinzufügst. Hast du auf sharpdox.de ja eh schon und kostet nicht viel Zeit.

64 Beiträge seit 2012
vor 10 Jahren

Hallo Geaz,

beim öffenen deiner Anwenung erhalte ich im Log leider immer einen Fehler.

Fehlermeldung:
2014-04-11 15:03:54,989: ERROR – System.IO.FileLoadException: Die Datei oder Assembly "System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes" oder eine Abhängigkeit davon wurde nicht gefunden. Der angegebene Assemblyname oder die Codebasis ist ungültig. (Ausnahme von HRESULT: 0x80131047)
Dateiname: "System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes"
bei Autofac.Builder.RegistrationData..ctor(Service defaultService)
bei Autofac.Builder.RegistrationBuilder`3..ctor(Service defaultService, TActivatorData activatorData, TRegistrationStyle style)
bei Autofac.Builder.RegistrationBuilder.ForTypeTImplementer
bei Autofac.RegistrationExtensions.RegisterType[TImplementer](ContainerBuilder builder)
bei SharpDox.Core.ContainerConfig.RegisterLocalStrings()
bei SharpDox.Core.ContainerConfig.RegisterDefaultComponents()
bei SharpDox.Core.ContainerConfig..ctor()
bei SharpDox.Core.BootStrapper.BuildDIContainer()
bei SharpDox.Core.BootStrapper..ctor(String[] args)
bei SharpDox.Core.AppEntry.Main(String[] args)

++Rekursion ++
(lat. , die) siehe Rekursion

Geaz Themenstarter:in
148 Beiträge seit 2013
vor 10 Jahren

Danke für eure Antworten! Version 0.9.8.4 ist nun online und kann ausprobiert werden 😃

Fehler: verkleiner ich das linke TreeView-Feld kann ichs nicht mehr vergrößern.

Behoben

@HiGHteK: Konnte ich hier leider nicht nachvollziehen. Bei mir hat es im Opera geklappt...

@malignate: Zoom geändert. Der Header bleibt in dieser Version erst einmal so.

@Sebastian.Lange: Die HTML-Ausgabe beinhaltet Javascript. Bisher ist keine Ausgabe geplant die ohne Javascript auskommt.

@EifelYeti: Den Fehler hatte ich mal, als mir ein Update für das .NET 4.0 Framework gefehlt hat.

Danke und beste Grüße
Geaz

N
9 Beiträge seit 2012
vor 10 Jahren

Hi,

wie wäre es mit einer Möglichkeit, verschiedene "Themes" für die Doku bereitzustellen?
Falls jemand auf Bootstrap steht, kann man sich schnell sein eigens Theme hinzaubern. Alternativ würde es mir auch reichen, das bestehende Template einfach editieren zu können, um bestimmte Styleanpassungen vorzunehmen.

Ich habe mir das Programm runtergeladen, ohne in die Dokumentation zu schauen (und von diesem Thread wusste ich bis eben nicht mal etwas). Beim Ausprobieren war ich leicht irritiert, weil ich nicht wusste, was für einen Pfad ich bei "Eingabepfad" angeben sollte.
Nach etwas rumprobieren habe ich rausbekommen, dass es weder die XML-Doku, noch eine Assembly, sondern eine Solution sein muss (oder geht auch was anderes?).
Jedenfalls würde ich dort verdeutlichen, welche Dateien man verwenden kann - z. B. mit einem Filter im OpenFileDialog.

Kann natürlich auch sein, dass es manche von mir vorgeschlagene Features schon gibt, da ich mir wie gesagt noch nichts großartig durchgelesen habe.

Ich werde hiermit dann wohl meine alten und ranzigen Sandcastle-Dokus ablösen, wenn ich noch etwas rumgetestet habe.

Edit:

Ich hab dann noch ein paar kleine Sachen:

  • "Void" ist groß geschrieben (siehe Anhang).
  • Enums, Structs, Interfaces usw. haben die gleichen Icons im TreeView wie Klassen
  • Der SVG-Output scheint einen kleinen Bug zu haben (siehe Anhang). Die Funktion ist diese hier.
  • Wenn <exception>-Dokumentationen angegeben sind, wäre es ziemlich gut, wenn sharpDox diese auch bei der Methode anzeigt (siehe ebenfalls verlinkter Code/Anhang)
  • Wie wäre es mit Syntax-Highlighting für die Metoden-Signaturen? Von dem hier rate ich ab, der kommt nicht mit Generics zurecht. Highlight.js ist ganz schön und würde mit VS-Theme sicherlich passen. Habe aber nur serverseitig als Node-js-Modul Erfahrungen damit, das gibts aber auch am Client.

Schönen Gruß von der Konkurrenz. 😉

Gelöschter Account
vor 10 Jahren

Bisher ist keine Ausgabe geplant die ohne Javascript auskommt.

*lol* Na dann viel Glück noch weiterhin. unfassbar