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

Contents tagged with Tools

  • ReSharper 4.5 – Yup, now I’m a fan

    People around me have been huge ReSharper fans for quite a while, but it took me until ReSharper 4.1 to actually give it a try. So I played around with it, liked the features and – uninstalled it after a few weeks.

    I can almost hear the uproar of ReSharper fans “how dare you? This is like going back to writing code with Notepad!”. But honestly, version 4.1 did get on my nerves. I was constantly reminded that I had ReSharper installed, unfortunately in a bad way. Visual Studio simply didn’t “feel right” anymore in terms of performance. One of the many things that nagged me was that starting a new instance of Visual Studio for opening a solution always took a considerable amount of time.

    ReSharper 4.5 is a different story, though. Of course, certain features need a certain amount of CPU and I/O power, that’s a natural fact. Of course there’s still a slight delay here and there compared to a naked Visual Studio.

    And when opening a solution by starting a new VS instance, ReSharper is “cheating” a little my making its features available only after a few seconds. But that’s perfectly fine with me – when I open a solution I usually need some time to look around a bit before doing actual work, time that ReSharper can use for initialization. That’s much better than making me wait until I can even decide whether I opened the right solution.

    After a full day of coding on two C# solutions that with 4.1 installed made everything feel rather sluggish all in all, I can say that now with 4.5 installed I never thought about going back to a Visual Studio without ReSharper. And now that I’m not constantly thinking about performance, I finally can enjoy the many nice features of ReSharper.

    Indeed, if you’re not a ReSharper user, now is a very good time to give it a try!

  • Notepad3 vs. Notepad2, or The Spirit of Open Source

    I already mentioned Notepad2 in a past blog post: It's a nice little free Notepad replacement that meets my requirements for a program that is similar to, but slightly better than the original, with a fast startup.

    That's why it makes me sad to read about what has happened to the author, Florian Balmer: Somebody took the (GPLed) source code of Notepad2, changed a few lines and released it as an "improved version" called Notepad3 to various download sites. In theory there's nothing wrong about this as the licensing conditions are met, but some kind of unpleasant aftertaste remains to put it mildly.

    Read the full story in a commentary by Florian titled The Spirit of Open Source.

  • 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.

  • 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.
  • 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").
  • 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!

  • Visual Studio anpassen und erweitern - in Paderborn

    Mein Kollege Jens Schaller und ich sind am 2. April 2007 bei der .NET User Group Paderborn zu Besuch, wo wir ab 18:00 einen Vortrag mit dem Titel “Visual Studio anpassen und erweitern” halten werden.

    Auf der Agenda stehen:

    • Code Snippets
    • Project und Item Templates
    • Makros
    • Add-ins
    • Packages

    Das ist natürlich eine Menge Stoff für einen Vortrag, deshalb werden wir flexibel auf die Interessenslage der anwesenden Zuhörer reagieren. Einen gewissen Schwerpunkt wird es beim Thema “Add-ins” geben, wo wir beide auf unsere Erfahrungen aus der Entwicklung unserer jeweiligen Hobbyprojekte  SonicFileFinder (Jens) bzw. GhostDoc zurückgreifen können.

  • SonicFileFinder 1.8 Released

    My colleague Jens Schaller has released a new version of SonicFileFinder, a free add-in for Visual Studio 2005. SonicFileFinder adds a fast search for files in the current solution, just by entering parts of the file name. This is definitely one of those tools I install on every development machine I work on.

    The new version has a long list of additions and fixes, my personal highlights are (in no particular order):

    • Opening the Windows Explorer for the selected file will now not only open the containing folder, it will also select the file.
    • The feature “Search by Initials” now works with partial matches. For example typing the uppercase letters “PB” will find “PrefetchBuffer.cs” as in earlier versions, but also “PrefetchBufferManager.cs”, “PrefetchBufferException.cs” etc.
    • Fixed support for multi-monitor systems (nice if you have multiple copies of Visual Studio opened on different monitors)

    Jens has also added Vista compatibility for the installer – before anyone is asking: yes, I’ll add that to GhostDoc in the next minor release (no idea regarding a release date yet, I’m currently busy finishing an important part of another hobby project). In the meantime, there’s a workaround, see the GhostDoc website for more information.

    Update 2007–02–23: Jens just put up a bugfix release (SonicFileFinder 1.8.1)