OpenWithTest released on Visual Studio Gallery

June 30th, 2010
Comments Off

Download

Either download from the extension manager by searching OpenWithTest or go to the project page here.

Summary

Open with Test is a Visual Studio extension which serves one simple task: To always open your test files and implementation files together.

Details

When writing unit tested applications (especially while practicing TDD) you will often open an implementation file (i.e SomeClass.cs) followed by the test file(i.e. SomeClassTests.cs).  This extension makes this a one step process.

It works by detecting when you open a new file and attempting to find via convention the test file. It assumes that you create one test file per class.  So, if you create a class called Car in the file Car.cs then you will have a test file named CarTests.cs which tests the car class.

Currently, only C# (.cs) files are supported but I plan to expand this to other files types soon.

Configuration

Out of the box, this extension will assume a file is a test file if it ends with the suffix Test,Tests, Fact or Facts.  However, this can be configured.  To change these go to Tools -> Options -> Open With Test and you will see this screen:


Feedback

I would love to get feedback about features or suggestion so please feel free to leave a comment on this blog post or start a discussion post on the Visual Studio Gallery page.

Snippet Designer 1.3 Released!

June 1st, 2010
Comments Off

I just released Snippet Designer 1.3.


CodePlex Page: http://snippetdesigner.codeplex.com/

Visual Studio Gallery Page: http://visualstudiogallery.msdn.microsoft.com/en-us/B08B0375-139E-41D7-AF9B-FAEE50F68392

The key features of this release are support for HTML/ASP.NET, JavaScript and SQL snippets and a much improved snippet searching experience.

If you already have it installed for Visual Studio 2010 you will get an update in your extension manager for the new version.

Change log

Changes for Visual Studio 2010

  • Fixed bug where "Export as Snippet" was failing in a website project
  • Changed Snippet Explorer search to use a relevance based algorithm which yields much better results
  • Added support for JavaScript snippets
  • Added support for SQL snippets
  • Added support for HTML/ASP.Net snippets
  • Added support for <AlternativeShortcuts> tag
  • Made the color of the snippet replacement highlighting configurable


Changes for Visual Studio 2008

  • Fixed bug where "Export as Snippet" was failing in a website project
  • Changed Snippet Explorer search to use a relevance based algorithm which yields much better results

DiffPlex 1.1 Released

April 21st, 2010
Comments Off

I released a small update to DiffPlex that helps improve performance for both the release and debug builds.  I now also package the release build in the download zip file instead of the debug.  The release build shows a significant performance improvement over the debug dll’s. 

 

You can download the new version at the DiffPlex home page.

Author: MattManela Categories: Uncategorized Tags:

DiffPlex 1.1 Released

April 21st, 2010
Comments Off

I released a small update to DiffPlex that helps improve performance for both the release and debug builds.  I now also package the release build in the download zip file instead of the debug.  The release build shows a significant performance improvement over the debug dll’s. 

 

You can download the new version at the DiffPlex home page.

Author: MattManela Categories: Uncategorized Tags:

DiffPlex 1.1 Released

April 21st, 2010
Comments Off

I released a small update to DiffPlex that helps improve performance for both the release and debug builds.  I now also package the release build in the download zip file instead of the debug.  The release build shows a significant performance improvement over the debug dll’s. 

 

You can download the new version at the DiffPlex home page.

Author: MattManela Categories: Uncategorized Tags:

A Mercurial PowerShell Prompt

April 1st, 2010
Comments Off

Since switching to Mercurial I often use the “hg summary” command.

hg summary [--remote]

aliases: sum

summarize working directory state

    This generates a brief summary of the working directory state, including
    parents, branch, commit status, and available updates.

    With the --remote option, this will check the default paths for incoming
    and outgoing changes. This can be time-consuming.

 

When you execute this command in a directory that is under source control you will see something like this:

parent: 35:008279cba4b4 tip
This is the commit message of the last checkin
branch: default
commit: 1 modified, 1 unknown
update: (current)

 

I am usually most interested in which branch I am currently working in and what is the current status of my working directory.  Since I use PowerShell as my command line I decided to overwrite the default PowerShell prompt (PS >) with some of the data from the “hg summary” command.

To do this I added the following code to my PowerShell profile:

if (test-path function:\prompt)       { 
  $oldPrompt = ls function: | ? {$_.Name -eq "prompt"}
  remove-item -force function:\prompt 
  } 
  
function prompt() {
  $host.ui.rawui.WindowTitle = (get-location).Path
  
  $summary = hg summary 2>&1
  if($summary.Exception -eq $null) {
    $regex = "(?si)(parent:(?<parent>.*?)(\n|\r)+.*?)(branch:(?<branch>.*)\s)(commit:(?<commit>.*)\s)(update:(?<update>.*))";
    $summary = [System.String]::Join([System.Environment]::NewLine,$summary)
    $res = $summary -match $regex
    $format = "hg b:{0} c:{1}" -f $matches["branch"].Trim(), $matches["commit"].Trim()
    write-host ($format) -NoNewLine 
    write-host (">") -NoNewLine 
  }
  else {
    & $oldPrompt
  }
 
  return " "
 
}

With this in place when you are in a directory that is not controlled by Mercurial you will see the normal prompt.  But once you enter a source controlled directory the prompt will look like:

image

This quickly shows me that I am in the default branch and I have 1 file modified and 1 unknown file in my directory.

After committing it will show:

image

Which shows that the current working directory is in a clean state.

Author: MattManela Categories: Mercurial, Powershell Tags:

A Mercurial PowerShell Prompt

April 1st, 2010
Comments Off

Since switching to Mercurial I often use the “hg summary” command.

hg summary [--remote]

aliases: sum

summarize working directory state

    This generates a brief summary of the working directory state, including
    parents, branch, commit status, and available updates.

    With the --remote option, this will check the default paths for incoming
    and outgoing changes. This can be time-consuming.

 

When you execute this command in a directory that is under source control you will see something like this:

parent: 35:008279cba4b4 tip
This is the commit message of the last checkin
branch: default
commit: 1 modified, 1 unknown
update: (current)

 

I am usually most interested in which branch I am currently working in and what is the current status of my working directory.  Since I use PowerShell as my command line I decided to overwrite the default PowerShell prompt (PS >) with some of the data from the “hg summary” command.

To do this I added the following code to my PowerShell profile:

if (test-path function:\prompt)       { 
  $oldPrompt = ls function: | ? {$_.Name -eq "prompt"}
  remove-item -force function:\prompt 
  } 
  
function prompt() {
  $host.ui.rawui.WindowTitle = (get-location).Path
  
  $summary = hg summary 2>&1
  if($summary.Exception -eq $null) {
    $regex = "(?si)(parent:(?<parent>.*?)(\n|\r)+.*?)(branch:(?<branch>.*)\s)(commit:(?<commit>.*)\s)(update:(?<update>.*))";
    $summary = [System.String]::Join([System.Environment]::NewLine,$summary)
    $res = $summary -match $regex
    $format = "hg b:{0} c:{1}" -f $matches["branch"].Trim(), $matches["commit"].Trim()
    write-host ($format) -NoNewLine 
    write-host (">") -NoNewLine 
  }
  else {
    & $oldPrompt
  }
 
  return " "
 
}

With this in place when you are in a directory that is not controlled by Mercurial you will see the normal prompt.  But once you enter a source controlled directory the prompt will look like:

image

This quickly shows me that I am in the default branch and I have 1 file modified and 1 unknown file in my directory.

After committing it will show:

image

Which shows that the current working directory is in a clean state.

Author: MattManela Categories: Mercurial, Powershell Tags:

A Mercurial PowerShell Prompt

April 1st, 2010
Comments Off

Since switching to Mercurial I often use the “hg summary” command.

hg summary [--remote]

aliases: sum

summarize working directory state

    This generates a brief summary of the working directory state, including
    parents, branch, commit status, and available updates.

    With the --remote option, this will check the default paths for incoming
    and outgoing changes. This can be time-consuming.

 

When you execute this command in a directory that is under source control you will see something like this:

parent: 35:008279cba4b4 tip
This is the commit message of the last checkin
branch: default
commit: 1 modified, 1 unknown
update: (current)

 

I am usually most interested in which branch I am currently working in and what is the current status of my working directory.  Since I use PowerShell as my command line I decided to overwrite the default PowerShell prompt (PS >) with some of the data from the “hg summary” command.

To do this I added the following code to my PowerShell profile:

if (test-path function:\prompt)       { 
  $oldPrompt = ls function: | ? {$_.Name -eq "prompt"}
  remove-item -force function:\prompt 
  } 
  
function prompt() {
  $host.ui.rawui.WindowTitle = (get-location).Path
  
  $summary = hg summary 2>&1
  if($summary.Exception -eq $null) {
    $regex = "(?si)(parent:(?<parent>.*?)(\n|\r)+.*?)(branch:(?<branch>.*)\s)(commit:(?<commit>.*)\s)(update:(?<update>.*))";
    $summary = [System.String]::Join([System.Environment]::NewLine,$summary)
    $res = $summary -match $regex
    $format = "hg b:{0} c:{1}" -f $matches["branch"].Trim(), $matches["commit"].Trim()
    write-host ($format) -NoNewLine 
    write-host (">") -NoNewLine 
  }
  else {
    & $oldPrompt
  }
 
  return " "
 
}

With this in place when you are in a directory that is not controlled by Mercurial you will see the normal prompt.  But once you enter a source controlled directory the prompt will look like:

image

This quickly shows me that I am in the default branch and I have 1 file modified and 1 unknown file in my directory.

After committing it will show:

image

Which shows that the current working directory is in a clean state.

Author: MattManela Categories: Mercurial, Powershell Tags:

DiffPlex 1.0 Released!!

February 27th, 2010
Comments Off

The DiffPlex (http://diffplex.codeplex.com) project is now available on Codeplex!

The DiffPlex project is a combination of a .NET Diffing Library with a Silverlight and HTML diff viewer. It is released open source under the MS-PL license.

code

silverlight

websiteInput

 

 

websiteOutput

Author: MattManela Categories: Codeplex, DiffPlex, Open Source Tags:

DiffPlex 1.0 Released!!

February 27th, 2010
Comments Off

The DiffPlex (http://diffplex.codeplex.com) project is now available on Codeplex!

The DiffPlex project is a combination of a .NET Diffing Library with a Silverlight and HTML diff viewer. It is released open source under the MS-PL license.

code

silverlight

websiteInput

 

 

websiteOutput

Author: MattManela Categories: Codeplex, DiffPlex, Open Source Tags: