PowerCommands for VS 2008

Add-ins & Extensions, Utilities, Visual Studio
A short while ago I wrote a post about the MSDN Code Gallery.  For all intents and purposes I liked what I saw with a few exceptions (nothing major).  I even posted a simple Send Email Message snippet just to try it out.  Today, I noticed a new post that I think will prove to be very useful to many Visual Studio 2008 users - PowerCommands for Visual Studio 2008.  This is a set of extensions for the Visual Studio 2008 IDE that offer various types of functionality, including: Collapse Projects Copy/Paste Class Copy/Paste References (this will be hugely popular in my opinion) Copy As Project Reference (another popular one) Edit Project File Open Containing Folder (very nice!) Open Command Prompt (also very nice!) Unload/Reload Projects Remove and Sort Usings…
Read More

TFS/MSBuild Sidekicks Updates

Add-ins & Extensions, TFS, Utilities
The Attrice corporation has been hard at work updating their set of Sidekick Utilities for VSTS/TFS 2008 (I know I'm excited!).  I've been using these tools for quite some time now and have been waiting for the upgrade ever since we updated to VSTS 2008 a month or so ago. First in line are the Team Foundation Sidekicks which includes the following features: History Sidekick - provides various functionality for viewing the history of items within version control. Status Sidekick - (I use this one a lot) - allows you to search and view pending changes for items based on user name, project name, and/or a given date range.  Based on the current status of an item you have the option to undo a pending change or lock. Workspace Sidekick…
Read More

TFSInfo Updated for TFS 2008

TFS, Utilities
A few months ago I created a simple command line utility called TFSInfo that can be used to display various bits of information about a Team Foundation Server 2005 installation.  I have now updated this utility to work with TFS 2008 as well as TFS 2005.   You can see from the screen shot which information is displayed.  In case you can't see the image, the following information is displayed by TFSInfo: AT server name AT Version AT Edition (e.g. Standard, Workgroup, or Trial) DT server Name DT Server Version (not available for TFS 2008) SQL Server Version Reporting Server URL TFS Installation Date TFS Product ID You'll notice in the list above that the Data Tier schema version is not available for TFS 2008.  This is because the column…
Read More

NDiagnostics – Beta Release

Utilities
Any of us that creates software on a day-to-day basis, that's actually used by someone other than yourself, has undoubtedly had to answer technical support questions about your software and/or troubleshoot why it's not working. In a lot of cases, you may have a dedicated support team that interacts directly with your customer base and they only contact you if they come across something they can't resolve or explain. Over time, the support teams tend to become very efficient at resolving application-specific issues regarding setup and configuration. However, when an application is first released, the process isn't so straight-forward and you may have to field a lot of questions.Now, don't get me wrong, I'm more than happy to answer any questions I can about the software that I produce. However,…
Read More

SafetyTip – My First Mobile App

Mobile, Utilities
A co-worker recently sent me a link about calculating checksums for tips (i.e. the tip you leave your server when paying for a meal at a restaurant).  Without getting into the crux of the poster's original argument ("thieving restaurant servers" - I don't know how often this happens) I found the idea of creating checksums for tips intriguing. That same night, at one of my family's favorite restaurants, I decided to put the checksum into practice.  However, I quickly realized that mentally calculating checksums for tips wasn't all that fun :-). So, what's a software developer (with a Windows Mobile-enabled phone) to do?  Develop an application, of course! I decided to build a simple Windows Mobile application that supports the following features: Allows the entry of the total net amount…
Read More

NLarge Utility

Utilities
I've been putting the finishing touches on a TFS 2008 presentation that I'll be giving at this year's Tulsa TechFest conference later this month and came across a utility that promises to be extremely useful.  It's called NLarge and provides the ability to zoom in and out of a presentation (or any other displayed materials) using a smooth scrolling effect.  NLarge runs in the taskbar notification area and can be activated with a hotkey (Alt+1).  Once activated, the zoom feature can be controlled with the mouse, tablet pen, and/or keyboard.  Although I haven't used this utility during a presentation yet, I think it will be extremely valuable in aiding those in the back of the room to see what I'm focusing on. NLarge is an open source project available on…
Read More

Sandcastle – Building API Documentation

Utilities
For anyone who has ever had to generate documentation for their .NET projects, you know only too well how difficult and time consuming that can be. There have been a few utilities available in the past that helped out in this area.  One example is NDoc.  NDoc generates some very nice API documentation in several different formats.  However, it doesn't work so well for Visual Studio 2005.  Also, the original developer of NDoc has recently announced that he is dropping future development for NDoc in favor of Sandcastle (as well as other circumstances - although the project may be picked up and administered by another volunteer). Microsoft's Sandcastle project may not be as extensive as NDoc in some areas (e.g. support for custom tags - at least not yet) but it…
Read More

Class Designer PowerToys

Utilities
Although the PowerToys for the Visual Studio 2005 Class Designer and Distributed System Designers have been around for a while now (last release was December 1, 2005) I have just recently started to use them. There is some very useful functionality built into these PowerToys. Actually, there is surprising amount of functionality built in and I've only started to make use of some of it.You can download the source code and the installer from the gotdotnet workspace.Here is a list of features:Design Tools EnhancementsDiagram SearchFormatting CommandsFloating Property GridPan/Zoom Window (a personal favorite)Design Surface Scrolling ImprovementsCreate Comments with Double-ClickDesign Surface GridClass Designer EnhancementsExport Diagrams for Web (a personal favorite)Display Xml Comment CommandDocumentation Tool WindowFiltering AppearanceFiltering LinesFiltering MembersMSDN Help on System TypesFast NavigationInterface Lollipop Labels CommandsInheritance Visualization CommandsShow Type CommandAssociation and Inheritance…
Read More

A GUID Debugger Visualizer for Visual Studio 2005

Utilities, Visual Studio
For those of you working in Visual Basic 2005, have you ever had a situation where you would like to view the value of a GUID variable during a debugging session?One of the nice additions to Visual Studio 2005 are debugger visualizers. During a debugging session you can just hover over a variable to view the contents of that variable. This works for almost all .NET data types. However, if you try it with a GUID value, you can't see the actual value - rather you see "{System.Guid}" or "Empty", if you expand the visualizer.I got tired of constantly typing "? guidVariable.ToString" in the Immediate window so I decided to create a GUID debugger visualizer. This visualizer allows you to view the actual value of the GUID variable, reset the…
Read More

AutoWaitCursor Class

Utilities
If you've ever had to deal with turning the "wait" cursor on and off within your Windows Forms application then you've undoubtedly wished there was a better way.The typical approach is to set the Cursor property for the current form to Cursors.WaitCursor at the beginning of a long-running process and then resetting it back to Cursors.DefaultCursor when the process has finished. You might even set the default cursor within a Finally block in case an exception is raised so as to prevent leaving the cursor in a "wait" state.I've noticed that no matter how diligent you are, you almost always end up with the cursor out of sync at some point (e.g. your "wait" cursor doesn't display when it should or it displays when it shouldn't).What if you could have…
Read More