.
Anmeldung | Registrieren | Hilfe | Posteingang
Suchen
Home Foren News Member Offers Termine Developer Blogs Knowledge Base

Navigation

Navigationslinks überspringen.
Knowledge Base reduzierenKnowledge Base
Tutorials reduzierenTutorials
Webentwicklung
Cliententwicklung
Datenbankentwicklung
IT Professional
Sharepoint
Sprachspezifisch reduzierenSprachspezifisch
C#
Visual Basic
C++
XAML
SQL
JavaScript
Erfahrungsberichte reduzierenErfahrungsberichte
Entwicklersoftware
Bücher
FAQ Grundlagen

Verknüpfungen

  • Knowledge Base durchsuchen
  • Hilfe zur Knowledge Base
  • RSS Feed
  • Twitter

Vom Code zur Dokumentation - Teil 01.- Prerequisits und Vorbereitungen

Vom Code zur Dokumentation - Logo

Was erwartet uns?

Zur Erstellung einer Dokumentation gibt es mittlerweile mehrere Tools die sinnvoll, dabei zugleich praktisch, teilweise aber auch zu aufwendig sind. Eines dieser schönen handlichen konstenlosen Tools ist z.B. der Sandcastle-Help-File-Builder (SHFB). Ich werde mich im Moment nur mit den zur Zeit kostenlosen Möglichkeiten beschäftigen, da diese sofort und für jeden Einsatzbereit zur Verfügung stehen. Der SHBF ist ein GUI für Sandcastle. Sandcastle wiederum ist das Tool, an dem Microsoft zur Zeit arbeitet um die automatische Generierung der Dokumentation zu erleichtern. Im Moment und schon seit langer Zeit immer wieder als CTP erhältlich (aktuell Januar 2008), dennoch schon sehr gereift und stabil einsetzbar. So etwas gibt es nicht erst seit gestern. Unter Java war dies mit der JavaDoc-Syntax und unzähligen Tools schon vor langem möglich. In der C++ Welt gibt es auch einige - auch OpenSource z.B. doxygen. Nun gut, genug über den Tellerrand geschaut. Also Microsoft verwendet dieses Programm selbst um die Dokumentationen zu erstellen. Die neuere Onlinedoku der MSDN-Library-Seiten wird z.B. damit erstellt.

Unser Ziel

Wir wollen in ein paar kurzen Schritten erklären was wir benötigen um eine Dokumentation zu erstellen. Wir laden uns die Programme herunter und konfigurieren unsere Arbeitsumgebung. Dabei leite ich Schritt für Schritt die Erstellung einer ersten, rudimentären Dokumentation die uns zeigt, dass es leicht funktioniert.

Inhalt

  1. How-To zum Erstellen einer Dokumentation
  2. Was gibt es für Alternativen
  3. Was erwartet uns in der Artikelserie

Lost gehts!

Was ist notwendig um aus meinem Quellcode eine Dokumentation mit Sandcastle zu generieren?

  1. Sandcastle-Help-File-Builder und Sandcastle in der aktuelle Version herunter laden und installieren.
  2. HTML-Help-Workshop für HTML-Help1 Dateien (*.chm) oder
  3. Das Visual Studio 2005 SDK (oder für VS2008 das SDK) für HTML-Help2 Dateien. Die Dokumentation kann dann in die MSDN vom Visual-Studio über ein weiteres Tool eingebunden werden (z.B. H2Reg von http://www.helpware.net ). Alternativ kann zum Ansehen auch das Tool H2Viewer ebenfalls von http://www.helpware.net Helpware benutzt werden, ohne die Hilfedatei zu registrieren.
  4. Installation in nachfolgender Reihenfolge, da Sandcastle in einer alten Version bereits mit dem SDK ausgeliefert wird und daher die Umgebungsvarialbe DXROOT sonst überschrieben wird. Sollte das passieren oder schon der Fall sein, kann die Variable ohne Probleme neu gesetzt werden.
    1. VS2005SDK
    2. Sandcastle
    3. SHFB
  5. Im Visual Studio 2005 die Projekteinstellungen anpassen, falls nicht schon passiert. Unter der Seite Build im Bereich Output die Checkbox für "XML documentation file:" setzen und einen Dateinamen angeben.
  6. Das Assembly (Klassen, Funktionen, Eigenschaften, Felder), über die internen Dokumentationstags (summary, param, remarks, see, sealso, ref usw.) dekorieren.
  7. Im SHFB ein neues Projekt anlegen und dann entweder die Assemlby + XML-Dokudatei über "Add" hinzufügen, oder über Datei "Project" -> "New Project From Visual Studio Project" oder falls schon eine Dokumentation mit NDoc angefangen wurde den entsprechenden Punkt anwählen.
  8. Einstellungen wie gewünscht vornehmen (Details werde ich in späteren Postings näher beschreiben, bei Fragen gerne an mich wenden). Der SHFB sucht sich die notwendigen, vorhin schon aufgezählten, Programme selbständig. Bei Probleme kann der Pfad manuell gesetzt werden. Davon rate ich ab, da der Build der Dokumentation sonst Systemspezifisch ist. Anders kann über SourceSafe die Dokumentation entsprechend mitgepflegt werden.

Das waren erst einmal die wichtigen und notwendigen Schritte um eine vorzeigbare Dokumentation des Quellcodes und der Codestruktur vorzulegen.

Was gibt es für Alternativen?

Ebenfalls Opensource und auch auf Sandcastle aufbauend gibt es das Projekt DocProject. Es ist ebenfalls umfangreich und integriert sich im Gegensatz zu SHFB direkt ins Visual-Studio. Die Ergebnisse sind logischerweise ähnlich, da sie ja auf Sandcastle basieren. Meiner Meinung nach kann mit DocProject feiner in die Erstellungen eingegriffen werden. Hier fehlt mir aber noch die praktische Erfahrung. Kommerzielle Angebote für Komplette Hilfe-Dateien (IDE artige Programme) gibt es auch zu genüge. Ein kommerzielles Pendant zu DocProject stellt Document! X von Innovasys dar, dass sich sehr gut ins Visual Studio integriert und einen um viele Funktionen erweiterten Umfang besitzt. Ein kostenloses Tool das bei VS2005 noch mitgeliefert wird ist HelpStudio Lite (der kleine Bruder vom HelpStudio) ebenfalls aus dem Hause Innovasys. Für 2008 muss dieses Separat herunter geladen werden. Wer Geld ausgeben kann und will oder muss (Super mit inbegriffen) findet also auch dazu seine Lösung. Zum Schluss sei noch ein weiteres kommerzielles Tool aus dem Hause ComponentOne genannt: Doc-To-Help 2008 

Was erwartet uns in der Artikelserie

In den nächsten Posts werde ich erklären, was mit den einzelnen Einstellungen gemacht werden kann und wie ich z.B. weitere Dokumente benutze um eigenständige Sitemaps unabhängig von dem Code zu erstellen. Diese sind für Übersichtsseiten und kleine HowTo's  praktisch um sowohl eine User- als auch eine Referenz-Dokumentation zu erhalten.

 
Bei Fragen gerne auf mich zukommen! Im übrigen ist die englische Hilfe zu dem SHFB sehr ausgiebig und vollständig.


Update:

  • Aritkel auf neues Format der Serie umgestellt.
  • Den Link für Sandcastle aktuallisiert. Mehr Informationen unter diesem Blog-Eintrag von mir.
von Rainer Schuster, 02.06.2008 zugeordnet zu C# , C++ , Cliententwicklung , JavaScript , Tutorials , Visual Basic , Webentwicklung .

Kommentare

DocProject kann für größere Assemblies (1-2 MByte) schon mal 1-2 Stunden kompilieren (liegt das an Sandcastle?). Ich bin wieder zurück zu NDoc, auch wenn das Design nicht mehr dem aktuellen MSDN-Standard entspricht
von Andreas Kleffel, 09.07.2008.

Das kann durchaus möglich sein, wobei ich hier noch keine Performanceverlgeiche oder -messungen vorgenommen habe. Es ist sicherlich auch denkbar, das DocProject selbst einen höheren Aufwand betreibt, denn DocProject, wie auch der Sandcastle Help File Builder sprechen gezielt einzelne Komponenten von Sandcastle an und führen so mehrere Schritte zum Erstellen der Dokumentation durch. Ich kann dein Kommentar zur Performance mit DocProject gerne einmal weiterleiten, stehe in gutem Kontakt mit Dave Sexton. Darüber hinaus kann sich jeder per E-Mail und im Diskusionsforum bei ihm melden. Er ist überaus freundlich und hilfsbereit, offen für Ideen und sucht sogar sehr stark das Feedback aus der Community. Das Potential, das in DocProject liegt, ist vermutlich größer, als viele ahnen.
von Rainer Schuster, 10.07.2008.

Eigener Kommentar

Sie müssen angemeldet sein, um ein Kommentar zu erstellen.
  • Schwierigkeit: Einsteiger
  • Views: 7116
  • Zur Druckversion
  • Artikel von Rainer Schuster

Kick it on dotnet-kicks.de

Artikel

Autor

Kick it!

Wenn ihnen dieser Artikel gefällt, bitte "kicken" sie ihn.

WPF Forum | ASP.NET Forum | ASP.NET MVC Forum | Silverlight Forum | Windows Phone 7 Forum | SharePoint Forum | Dotnet Jobs | Dotnet Termine | Developer Blogs | Dotnet News

Das Team | Regeln | Impressum