This is the archived version of Roland Weigelt's weblog that ran from 2003 to 2023 at weblogs.asp.net

Contents tagged with GhostDoc

  • GhostDoc 2.1.2 Released

    <summary>
    GhostDoc is a free add-in for Visual Studio that automatically generates XML
    documentation comments for C#. Either by using existing documentation inherited
    from base classes or implemented interfaces, or by deducing comments from
    name and type of e.g. methods, properties or parameters.
    </summary>

    20071125_GhostDocQuick Facts

    • Bugfix release
    • Download on the GhostDoc Website
    • Users of earlier versions: Please read the ReadMe on upgrading!

    About this Release

    Version 2.1.2 fixes a problem with side-by-side installations of GhostDoc versions for Visual Studio 2005 and 2008.

    What’s New in GhostDoc 2.1.2:

    • Fixed: GhostDoc versions for Visual Studio 2005 and Visual Studio 2008 interfering when installed side-by-side.
    • Changed: An upgrade installation by starting the MSI file while an older version is installed is no longer supported, i.e. you have to uninstall GhostDoc before running the new setup. Note that this does not affect an upgrade of the configuration of earlier versions: the configuration file is not removed during uninstallation of the GhostDoc add-in, so you'll still be offered to upgrade your configuration when installing the new version. For detailed installation instructions, please take a look at the ReadMe in the ZIP file.
    • Added: A few special words for ("of the" trigger and prefix words, "no the" words).

    Note that VB.Net support is turned off by default and has to be turned on in the configuration dialog.

  • Vortrag über Visual Studio Extensibility in Braunschweig

    Nach Leipzig bin ich nun am nächsten Montag, 16.7.2007, in Braunschweig bei der dortigen .NET Developer Group zu Gast. Ab 19:00 halte ich einen Vortrag über Visual Studio Extensibility mit den folgenden Themen:

    • Code Snippets
    • Project/Item Templates und Wizards
    • Makros
    • Add-ins

    Ein gewisser Schwerpunkt wird bei den Visual Studio Add-ins liegen, wo ich u.a. auf den einen oder anderen Fallstrick hinweisen werde, über den ich bei der Entwicklung von GhostDoc gestolpert bin.

    Die Teilnahme ist kostenlos und ohne vorherige Anmeldung möglich, die Veranstalter freuen sich aber bestimmt über einen kurzen vorherigen Kontakt. Veranstaltungsort ist das Restaurant Flair.

    Zur offiziellen Ankündigung

  • GhostDoc 2.1.1 Released

    <summary>
    GhostDoc is a free add-in for Visual Studio that automatically generates XML
    documentation comments for C#. Either by using existing documentation inherited
    from base classes or implemented interfaces, or by deducing comments from
    name and type of e.g. methods, properties or parameters.
    </summary>

    20070624_GhostDocQuick Facts

    • Bugfix release
    • Download on the GhostDoc Website
    • Users of earlier versions: Please read the ReadMe on upgrading!

    About this Release

    While adding VB.Net support in 2.1.0 I somehow introduced a bug that broke a few things, causing the “Document this” command to not work properly in some situations. In full accordance to Murphy’s Law the bug was hidden in the thin layer between Visual Studio and the main portion of GhostDoc that isn’t covered by unit tests…

    What’s New in GhostDoc 2.1.1:

    • Added: A bit more detailed logging information at certain places. Please take a look at the topic “How to Enable Logging” in the help file for details.
    • Fixed: "Document this" not working on properties defined in interfaces.
    • Fixed: Readonly properties in interfaces not recognized properly in VB.Net.
  • Four Years of Blogging

    Over the last years I have blogged about various things, but a quick look at the tag cloud of my weblog shows that a large number of posts had one specific topic: My hobby project GhostDoc. It’s easy to forget how long GhostDoc has been in the making (with large pauses in between, of course), so for this “blogiversary” I guessed I’d take a look at the history of GhostDoc in the context of this weblog.

    2003–07–02: First Blog post. Just another blogger making his first appearance. Hey, give me some credit, I didn’t use the “Hello World” line…

    2003–11–21: First mention of GhostDoc in a blog post. 3:15 am, a good time to post an announcement of a new project.

    2003–11–28: Release of GhostDoc 0.5 consisting of a macro, a helper assembly and a looong list of installation instructions. The silence in the blogosphere regarding this release is deafening. Sometimes people see a tool, look past the limited scope of the first release and get excited about what that tool could do in the future. Not in this case.

    2004–01–13: Screenshots of GhostDoc 0.9. That version never sees a public release, just a bunch of my colleagues are crazy enough to install it...

    2004–06–30: GhostDoc 1.0 is entered as a contest entry to Roy Osherove’s Visual Studio add-in contest. Just minutes before the end of the deadline, in true geek style.

    2004–08–13: 1st Place for GhostDoc. One of the prizes: A tour of the Microsoft Campus in Redmond – but I have to get there by myself. Did I mention I live in Germany?

    2005–04–15: A GhostDoc Feature I Will Not Implement – this is a classic.

    2005–04–21: I receive a copy of the book (Visual Studio Hacks by James Avery) I wrote a chapter for. It may be only one chapter of many, but mum and dad are very proud.

    2005–09–07: Microsoft Campus Tour. A slight detour to Redmond on the way to PDC 05. I get there by myself (remember?), I get a tour of the campus. What a cool day.

    2005–10–03: GhostDoc 1.3.0. The last version for Visual Studio .NET 2003, and (praise the gods of Extensibility) the last time I have to mess with COM registration of Visual Studio add-ins.

    2005–10–04: GhostDoc on Channel 9 – sort of. No interview, just the video that was shown before at the “Show Off” session at PDC 05. Please don’t ask how much time and effort went into these 4:36. It’s ridiculous. And by the way: yes, that’s a German accent.

    2005–11–11: GhostDoc is one of "10 Must-Have Add-Ins" in MSDN Magazine –sounds good. Depending on the point of view, the fact that the article was written by James Avery (author of Visual Studio Hacks mentioned above) may have helped, but people seem to agree.

    2005–11–15: The results of the Larkware Contest 2005 are in: GhostDoc 1.9.0, the first release for Visual Studio 2005, makes the confusingly named second place (“1st prize” behind a “grand prize”).

    2006–04–01: A Sneak Peek at GhostDoc 2.0. Some people obviously didn’t check the date. The “real” 2.0 is released in May 2007.

    2006–09–21: GhostDoc Wins the Audience Award at BASTA! Conference. Imagine yourself standing on a stage in full stage light, looking at a pretty huge audience. Imagine ten nominated projects to be voted for by show of hands. Imagine your project getting virtually as many hands as the SharpDevelop project (what? wow!). And then imagine a completely different project receiving the prize, causing overall confusion. That’s what happened on that day. And before things could be cleared up, the tight schedule forced everybody off the stage. Fortunately a review of the notes taken by the beautiful, but slightly numerically challenged hostesses responsible for the counting followed. In the end it turned out that GhostDoc received three votes more than SharpDevelop. Three votes. Funny, that’s two votes by guys of my .NET user group, and one vote by somebody who later told me that he had no idea what GhostDoc was before I gave my elevator speech on stage.

    2006–10–20: Whoops... I Just Asked a Question and Now I Won a Prize… Strange stuff happens to me at the Microsoft Visual Studio Extensibility Contest.

    2007–01–30: A chapter on GhostDoc in yet another book. Needless to say, mum and dad are proud again.

    2007–05–01: GhostDoc 2.0.0 is out. No more thanking my girlfriend in the help file – we married one week after the release of 1.9.5 in August 2006. Version 1.9.6 took much longer than expected and finally became 2.0.0. The huge number of downloads makes me check my hosting package. OK, enough headroom left for many more downloads.

    2007–06–24: GhostDoc 2.1.0 is out. VB.Net developers love me again.

    2007–07–02: Four years of blogging. Time flies by. Development on GhostDoc will slow down again over the next months as I’ll be working on another hobby project. But I’ll stay in touch with the topic of Visual Studio Extensibility – GhostDoc has turned me into a speaker. Small user group meetings (Paderborn, Leipzig, Braunschweig), the BASTA! conference in September and other appearances are in the pipeline. Things promise to stay interesting.

    OK, enough blogging, back to preparing the talk on Friday.

  • Vortrag über Visual Studio Extensibility in Leipzig

    Am nächsten Freitag, 6.7.2007, bin ich um 19:30 bei der .NET User Group Leipzig zu Gast und halte dort einen Vortrag über Visual Studio Extensibility.

    Die Themen des Vortrags an diesem Abend:

    • Code Snippets
    • Project/Item Templates und Wizards
    • Makros
    • Add-ins

    Ein gewisser Schwerpunkt wird beim Thema Visual Studio Add-ins liegen, wo ich u.a. auf den einen oder anderen Fallstrick hinweisen werde, über den ich bei der Entwicklung von GhostDoc gestolpert bin.

    Die Teilnahme ist kostenlos, eine Anmeldung ist erforderlich. Laut dem Organisator Torsten Weber laufen die Anmeldungen gut, noch ist aber Platz für weitere Interessierte.

    Anmeldung und weitere Infos hier

  • GhostDoc 2.1.0 Released

    <summary>
    GhostDoc is a free add-in for Visual Studio that automatically generates XML
    documentation comments for C#. Either by using existing documentation inherited
    from base classes or implemented interfaces, or by deducing comments from
    name and type of e.g. methods, properties or parameters.
    </summary>

    20070624_GhostDocQuick Facts

    • Support for VB.Net added
    • Full support for events, including inherited documentation and user-defined custom rules.
    • Download on the GhostDoc Website
    • Users of earlier versions: Please read the ReadMe on upgrading!

    About this Release

    For Visual Basic developers, version 2.1 is what 2.0 should have been: VB.Net support has been added again. Even though I got help (huge thanks to Daniel Root for the translation of the demo project), I spent more time than I wanted on testing, debugging and deployment – in the end it’s a huge number of small things that add up.

    C# developers who have to implement many interfaces with events (like I do) will enjoy the full support for events, as it includes a text generation rule for using inherited documentation (VB.Net developers benefit from this of course, too).

    What’s New in GhostDoc 2.1.0:

    • Added: Support for Visual Basic .NET has been added again (was disabled in version 2.0.0), but still is regarded as "experimental". The feature is turned off by default and you have to turn it on in the configuration dialog. Please see the docs for more information.
    • Added: The setup for the demo project now contains a VB.Net version.
    • Added: Full rule support for events (configurable default documentation, inherited documentation e.g. for interface implementations, and used-defined custom rules)
    • Added: New macro $(DeclaringTypeKind) that specifies the kind of type a member is defined in (i.e. class, struct or interface).
    • Changed: All occurrences of "class" in the default templates have been replaced by $(DeclaringTypeKind).
    • Changed: As the next version of Visual Studio (codename "Orcas" ) will be named Visual Studio 2008, all texts have been updated accordingly.
    • Fixed: Documentation of constructors of structs referring to the initialization of a "class" instance.
    • Fixed: Problems with parameter names starting with an '@' (e.g. "@class").
  • Visual Studio Add-ins at BASTA!

    20070605_Basta I’ve received an email that I was accepted as a speaker for the BASTA! conference in September in Mainz, Germany . The topic will be the development of add-ins for Visual Studio 2005.

    There’s a thing or two that I learned while working on GhostDoc that I’d like to share. My goal is to show both how easy it is to write and debug a simple add-in to be used just by yourself (and maybe your closest buddies), and what it takes to create a “production quality” add-in that runs on the various language versions of Windows and/or Visual Studio.

    This will be my first “large” conference as a speaker and I’m sure it will be pretty exciting. Good thing that I’ll have a “warm-up phase” in the next months, speaking about Visual Studio extensibility in general at various .NET user groups (more on that soon).

    Note to self: Things to avoid as a speaker

  • GhostDoc: Support for VB.Net?

    Even though GhostDoc is a tool for C# developers, I had (experimental) support for VB.Net in the 1.9.x versions of GhostDoc. When I had to cut down the feature set for version 2.0.0, I cut the features I cared for the least (that’s the freedom of a hobby freeware project). Well, not being a VB.Net developer at all, VB.Net support was one of those.

    After the release, more people than expected have asked about VB.Net support for 2.0.0., so even though I’m not a VB.Net developer and I’m not exactly highly motivated to work on VB.Net support, I’ve decided to take a look into this for the next version. No promises on a release date and if I run into larger problems (which I don’t expect, it should all be a matter of working around slight differences in the Visual Studio file code model), I reserve the right to punt the feature to a later version.

    What you VB guys could do is to help me by translating the demo project of 2.0.0 to VB.Net syntax and sending it to me. Sounds like only a small thing, but this definitely would save me some time.

    Update 2007–06–04: A huge “Thank You” to Daniel Root for the translation of the demo project.

  • GhostDoc News

    • GhostDoc 1.9.5 mentioned in MSDN Magazine June 2007
      Surprise… I just had skipped the ads when the title “Quickly Add XML Comments to your Visual Studio Projects” caught my eye on page 11. Nice little article and I especially like the last paragraph, where the author (Scott Mitchell) shows that he really “gets it”, instead of falling into the trap of being overly enthusiastic about GhostDoc’s capabilities.
    • Two weeks of GhostDoc 2.0.0
      On May 1st I released version 2.0.0 of GhostDoc. Here’s what happened in the last two weeks so far:
      • 203 downloads of version 1.3.0 (still many people forced to use VS.Net 2003, it seems)
      • 87 downloads of version 1.9.5 (some deep linking)
      • 118 downloads of GhostDoc 2.0.0 for Orcas
      • 2809 downloads of GhostDoc 2.0.0 for Visual Studio 2005
      Whoa.. the first thing I did was checking the bandwith limit of my webhoster (phew, no probs here ;-).
    • My Amazon wish lists
      After receiving four books off my GhostDoc wish list(s) in 2006, I’m happy to report that this number has already been surpassed in the first five months of 2007. I’d like to say a big Thank You!
  • GhostDoc 2.0.0 Released

    <summary>
    GhostDoc is a free add-in for Visual Studio that automatically generates XML
    documentation comments for C#. Either by using existing documentation inherited
    from base classes or implemented interfaces, or by deducing comments from
    name and type of e.g. methods, properties or parameters.
    </summary>

    20070501_GhostDocQuick Facts

    • Support for Vista out of the box
    • Support for Orcas (tested: Beta 1)
    • Better support for generics, more language elements, new rules, new macros
    • Download on the GhostDoc Website
    • Users of earlier versions: Please read the ReadMe on upgrading!
      (The file is contained in the ZIP file)

    About this Release

    Version 2.0 is the first real feature release for a long time. Originally intended to be a minor update to fix installation problems on Windows Vista (and to be called 1.9.6), it ended up much larger than I had planned. In the second week of April I had the opportunity for almost one week to work exclusively on GhostDoc, so I used the time to implement the features I was missing the most in my everyday, non-GhostDoc-related work. Along the way I was able to implement a few of the external feature requests waiting in my issue tracking database.

    What then followed was what could best described as deployment hell, but I must admit that I was being extra ambitious, targeting a simultaneous release of (separate) versions for Visual Studio 2005 and Orcas plus Vista compatibility (which in my case required a little more than simply patching an MSI). Building and testing setups plain sucks, period. No matter how careful you plan things (very carefully), how much automated your build process is (very automated) or how intensely virtual machines are used (very intensely) – the moment you modify a working setup, you’re doomed. There’s always one more typo, one more slight problem; it seems as if you’re never finished.

    OK, enough rambling of a tired developer, here’s the good stuff:

    What’s New in GhostDoc 2.0.0:

    • Added: Support for Visual Studio codename "Orcas". Note that GhostDoc for Visual Studio 2005 and GhostDoc for Visual Studio "Orcas" are released in separate setups and have to be installed into separate folders. Both offer equal functionality and thus share the same configuration file, though. This will stay this way as long as GhostDoc 2.x is released both for 2005 and "Orcas".
    • Added: Support for generic methods. The type parameters are now documented using the <typeparam> tag. For type parameter names starting with 'T' (e.g. "TKey") documentation text is generated (e.g. "Type of the key"), for all other type parameter names the text is left empty. Note that this behavior is currently hard-coded.
    • Added: New text generation rules for classes, interfaces and structs (with support for generic type parameters). The default rules generate empty summaries and place the cursor so you can start typing the summary immediately. It is possible to change the summary template to insert e.g. the class name split into individual words, but honestly I don't want to ship GhostDoc with that behavior by default as I didn't find it too helpful. In addition to the default rules, it's also possible to define custom rules (e.g. for classes with a name ending on a specific suffix).
    • Added: A new macro $(End) for specifying the location of the text cursor after the documentation text has been generated.
    • Added: A new macro $(Rule) that inserts the display name of the rule that generated for documentation text. Useful for debugging custom rules, this macro can e.g. be used in the custom text that is added to new doc comments (see the last tab of the GhostDoc configuration dialog).
    • Added: A macro of the format $(%VarName%) inserts the value of the environment variable with the name "VarName" (or an empty string if no variable with that name exists).
    • Added: A few language elements are now supported with limited functionality, i.e. without specific rule types (new rule types may be added in future versions, but they didn't have a high priority to be included in 2.0 as the existing functionality already helps a lot):
      • enums - empty summaries for the enum and all of its values
      • enum values - empty summary
      • events - summary starting with "Occurs when"
      • delegates - empty summary
      • variables - empty summary
      The cursor is moved inside the summary tag so you can start typing right away. As usual, existing documentation will not be overridden.
    • Added: New method rules:
      • A rule for Dispose(bool disposing)
      • A rule for overloaded operators
      • Rules for implicit/explicit conversion operators
      On a side note, these new rules have been implemented using custom method rules, i.e. using only what was already available in earlier versions of GhostDoc.
    • Added: Before upgrading or importing a configuration, it is now possible to quickly create a backup copy by clicking the link in the lower left of the dialog. This is useful especially during an upgrade installation.
    • Changed: The experimental support for VB.Net has been disabled in this release. I was pretty tight on my time budget and couldn't spend any time on keeping support for C# and VB.Net in sync.
    • Changed: The demo project is no longer installed to a sub-folder of the GhostDoc directory (where it caused problems when working with a non-admin account). Instead, the demo project is now an optional feature with its own setup, suggesting an installation path in the user's Visual Studio project folder.
    • Fixed: Error message when installing GhostDoc by double-clicking the MSI file on a Vista system.
    • Fixed: When defining custom rules, conditions for method and type names didn't work well with type parameters (generics).
    • Fixed: The "Document this" command worked only when the cursor was positioned in a specific way. This has been relaxed, the cursor may now also be positioned on the whitespace before the language element (in the same line as the identifier), or somewhere inside the documentation comment.

    Update 2007–05–02: Please guys, please read the instructions on upgrading in the ReadMe!