• White men can't?

    David jumping on a trampoline

    It is very important to test out new play equipment before letting the kids have a go :-)

  • NDepend v4

    I read today that NDepend v4 is now released.

    Probably the most interesting change is the addition of CQLinq – a LINQ language for querying the code base that supersedes the old “CQL” query language (that was more SQL-like).

    It also includes support for Visual Studio 11 and a new API to make creating your own static analyzer(s). There’s a full list of new features in the Release Notes.

    Upgrades from v2/3 are half the cost of a v4 license.

    If you haven’t upgraded from v3 to v4, you can still download the latest v3 from the downloads page (it will say that your v3 license key isn’t valid for v4 but give you a link to the v3 download)

  • Editing project files in Visual Studio

    The standard way of editing a project file in Visual Studio is to first unload the project, and then right-click on the unloaded project in the Solution Explorer and choose ‘Edit Project’.

    Wouldn’t it be nice if this was just one step instead of two?

    Well one option is to install the Visual Studio PowerCommands or VSCommands extensions, both which add an ‘Edit Project’ option to the context menu for loaded projects. But if that’s the only feature you want then installing one of those extensions might be more than you need.

    Another option is to create a Visual Studio Macro and then add that to the context menu manually. Here’s how:

    1. First, go to the Tools menu and choose Macros Macros IDE.
    2. A “Microsoft Visual Studio Macros” IDE window appears.
    3. In the project explorer, right-click on ‘MyMacros’ and choose Add Add Module
    4. Name the module “Projects”
    5. Within the new module, add the following code:

      Public Sub EditProject() ‘ Ensure only projects are selected For Each item As SelectedItem In DTE.SelectedItems

           If Not (TypeOf item.Project Is Project) Then
               MsgBox("Can't open project(s) for editing as non-project items are selected", MsgBoxStyle.Exclamation)
               Exit Sub
           End If
       Next
      
       ' ensure solution is active
       DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate()
      
       For Each item As SelectedItem In DTE.SelectedItems
           DTE.ExecuteCommand("Project.UnloadProject")
           DTE.ExecuteCommand("OtherContextMenus.StubProject.EditProjectFile")
      
       Next
      

      End Sub

    6. Save and close the Microsoft Visual Studio Macros IDE
    7. Now you can associate a keyboard shortcut with this new macro, and you can optionally add it to the project context menu.

    8. To add it to the context menu, go to Tools Customize
    9. Select the ‘Commands’ tab and choose ‘Project and Solution Context Menu Project’ in the Context Menu dropdown list.
    10. Scroll down the list of controls for this menu to find the location where you’d like this macro to appear.
    11. Select an existing control, and click on ‘Add Command’
    12. Select the ‘Macros’ category
    13. Select the new macro from the Commands list and click on ‘OK’
    14. Click on ‘Modify Selection’ to rename the menu item for the macro to ‘Edit Project’ Visual Studio Customize dialog window

    Now, when ever you use the keyboard shortcut or the new ‘Edit Project’ from the Solution Explorer’s context menu, the selected project(s) will now be opened in the text editor.