Search Work Items, Team System Addin


The ability to quickly and easily search for work items using a little search box seams to be a popular Team System wishlist feature.  Teamprise has a Java Team Explorer client, which they say they make sales because of their search capabilities alone.

This plugin puts a little search box right into Visual Studio to make it easy to find work items.  It is an addin for Team Foundation Client (Team Explorer) and is accessible from the Team menu when you’re connected to a Team Foundation Server and is also avalible from a VS Toolbar.  You just type in some search text and it runs a work item query for you showing you results across the work item store.

Installing

To install, simple run the installer, then manually add the Work Item Tracking – Search Work Items toolbar to VS.  Right-click the VS toolbar and select the toolbar (should be the last one listed).

Downloads and Source Code are now avalible on the CodePlex project at:

http://www.codeplex.com/searchworkitems/

Vista Users: You have to run setup.exe in the .zip.

Using

After installing, just type what you want to search for, and results are shown across Team Projects and Work Item Types.  To search for a keyword across the Title field and History (which contains info on most all other field changes, including Assigned To, etc), just type in your keyword (like widget) and hit [ENTER].

 
You can also pop up a specific work item by entering it’s ID

You can also search from the Team menu.

You need to be connected to a Team Foundation server first.  The first time you search after loading VS it’ll take awhile to load the results because Team Explorer is loading the work item store, just like expanding your Team Project node takes awhile, like “Work Items (working…)”.

Feedback

To provide a suggestion or bug report, please simply leave a comment on this post.  Thanks!

Configuration

There are a few config options…

You can configure the search SELECT criteria that’s used by editing the work item query template.  Just use the command --template to bring up the template.  Any occurrences of [search] are replaced with the user’s search criteria.

 

When a search is performed, the active Team Foundation Server is used.  Using @Project in the template will cause the search to be run against the active project (even though it may not in the WIQ template).

I can imagine the most common configuration change would be to filter on the Current Project or Work Item Type and add or rearrange the fields returned (pictured above).

Performance

Since “search” is not a fully supported scenario in TFS yet, this tool simple creates a work item query with that uses a Contains condition on the Title and History fields since I’ve found these to be the most useful in a search.  But what’s the cost of this on your server?

Long text fields like History and Description have Full Text indexed by default.  So searches on these fields are relatively fast, but only match exact text like a search for “crash” would match crash, but not crashes, crashed, crashing.  String fields, like Title, are not index so searches take about 3x as long but will match deviations, like crashes and crashed.

Thanks to Amit Ghosh, a Dev Lead on TFS, for this info.  Read Amit’s full mail on The Cost of Contains.

You can improve the performance of the searching query by modifying the template (see “Configuration” above) to do some preliminary filtering on the current project, a specific work item type, or remove searching Title.

Improvement Ideas

Here are some of the ideas I’m already toying with for improving the tool. If there’s anything that stands out, let me know in a comment so I can better prioritize the work.

  • Provide a GUI for setting configuration options
  • Provide a button to “limit to current project”
  • Add a drop-down to select the “work item type” to filter on
  • Support more advanced searches, like “Title: *Widget*”
  • Support using regular expressions in the search
  • Support non-English installs of VS
  • Consider creating a separate VS Tool Window for search results
  • Bug: “Object reference not set to an instance of an object.” Error Sometimes After 1st Search
    If the 1st search you do takes awhile, sometimes there is a “Null Reference Exception” error dialog.  I haven’t tracked this down because it is intermittent, doesn’t seam to affect any operation, and the last call from my app is to run the query (nothing else) and the error occurs after the query results are shown.   Hmmm, maybe a TFS thing?

Wish TFS didn’t lock up the VS UI when running a work item query….

References

Here are the references I found helpful in creating this tool.

Conclusion

Hope you find it useful.  If so, post a little comment… 🙂

Note: This is not an official Microsoft product or Power Toy.  Search capabilities may be in the next version of the product, I don’t know yet.

Comments (63)

  1. Naren's Blog says:

    It is popular request in WIT forums for a tool where keywords can be typed to search across all fields

  2. Know-a-Code posts up a neat little VS add-in that lets you do a free-text search on your work items !

  3. Archi says:

    Finally a great Add In that provides keyword search to be searched across all fields in all workitems….

  4. Installed it and am very happy with it. Thanks a lot! Another bullet being removed from my own ToDo list 🙂

    Just one possible extra feature: being able to search with more restrictions, for instance searching only "open" work items and ignore closed etc.

  5. Raimond Brookman says:

    Ignore my previous comment 🙂

    I RTFM’ed

  6. Dave says:

    Does this work with SP1? I have just installed it on WinXP and when loading VS2005 it throws an exception and asks to remove the add in.

  7. Tim Hibbard on TFS Work Item Management Outlook Addin. Noah Coad on Search Work Items, Team System…

  8. Bertrand Huard says:

    My undertanding of the search of history is that it only searches for comments that where entered in that field (it will not search for contents of other fields, for example the description of the field.).

    So basically you would need to add more Or statement for Description and anything other common field

    Ideally a search of history would search all the contents.

  9. Many people ask for Work Item Queries to be interactive, to prompt the user for parameters. Noah Coad…

  10. Great little tool my company is using it now.  Thanks a lot Noah.

  11. Ian Nelson says:

    I returned to work after Tuesday’s MSDN Roadshow fired up and full of ideas, eager to try out ASP.NET

  12. Tilfried Weissenberger says:

    Would be great if it would treat each entered word as separate CONTAINS and honors phrases. ie:

    "build failure" copy type:bug

    would find the phrase "build failure" and the word "copy" only in items of WIT "Bug"

  13. For those wanting to bundle this toolbar as part of another installer or do an unattended installation the command:

    msiexec.exe /qb /i SearchWorkItems.msi

    will suppress the installer launching a web browser to this page.

  14. Just to summarize some great new cool things that are happening in the team system space. First of all

  15. Leon Grave says:

    I tried your add-in.

    It installed without any problems, but I don’t have the extra toolbar or the extra menuitems in the team menu.

    It also doesn’t show up in the add-in manager.

    Any ideas?

    Btw, I’m running Windows XP, VS2005 SP1 agains a TFS SP1 server.

  16. Some of the common challenges which seem to be plaguing eeryone in the magical world of TFS: Best Practices

  17. In my quest to blog a little review of most of my favorite apps, I come to SnagIt by TechSmith. SnagIt

  18. Una funcionalidad que llevo mucho tiempo echando en falta en el Team Explorer es la posibilidad de buscar

  19. Has anyone else seen the textbox in this app’s toolbar disappear?  I reinstalled and it’s still an empty toolbar widget.

  20. I recently posted about changing stored credentials used by Visual Studio 2005 Team Explorer. Removing

  21. Jeremie says:

    I have other fields besides the Work Item ID that are strictly number. These are mostly for integration with other systems. It would be nice to be able to search these fields as well instead of all numbers are automatically considered Work Item IDs.

  22. Joshua says:

    Hi Noah,

    This feature is great.  Two issues:

    1. Can you add a ‘run’ button for the mouse?

    2. Doing a text search runs on ALL projects even when a specific project is selected.

    Thanks

  23. Martin says:

    Great little tool. Just works. Should be part of the product 🙂

  24. paso says:

    I really like the tool and want to use it also in the VS2008 beta but I can’t seem to get the Orcas version running.

    After the installation finishes, it tries to download/run the setupSearchWorkItemsVS05.zip.

    I can see the entry in the Program Files Coadnet folder, but I can not find the toolbar in VS or see the entry in the Team menu

    Any idea what may be wrong or how to find out ?

    BTW: The installer spells "Oracs"

  25. Ryan says:

    I used the –template command and it worked great, but now I want to tweak my template again and the –template command no longer works…Any suggestions?

  26. markovich says:

    Installed it and am very happy with it. Thanks a lot! Another bullet being removed from my own ToDo list 🙂

  27. markovich says:

    After the installation finishes, it tries to download/run the setupSearchWorkItemsVS05.zip.

  28. BillyM says:

    Looks like a great tool… however, after installing it in both VS 2005 and Orca, I am finding that it shows up in the Add-in Manager, but NOT "View Toolbars" or "Team".

    Any suggestions?

  29. Noah Coad says:

    The Visual Studio Industry Partners conference is going on right at the Redmond Marriott hotel in Redmond,

  30. Chital Panchal says:

    This is really helpful tool for searching workitems, but there is problem while installed in visual studio 2005 – team edition for software developers.

    Actually, There is visual studio 2005 – team edition for software developers on my machine. I have installed search workitems utility, after installation it is showing toolbar for  Work Item Tracking – Search work Items, but it does not displayed in Team menu or on tool bar.

    Please help for the same.

    Thanks in advance.

  31. Chital Panchal says:

    FYI!  – It was running fine with the VS2005 – Professional edition.

    can anyone help for the same!

    Chital Panchal

  32. Valery Letroye says:

    I was very interested in this add-in

    However, when I start VS.Net I received the following message :

    the Add-in ‘Search Work Item" failed to load or cause an exception.

    blablabla…

    ErrorMessage: <unknow error>

    Error number: 8013150a

    We are using VS.Net 2005 Enterprise, Team Edition for Developers  Version 8.0.50727.762  (SP.050727-7600)

    Microsoft Visual Studio 2005 Team Explorer – ENU Service Pack 1 (KB926601)  

    Team Foundation Server Power Tools   1.2

    Any idea of the blocking issue ?

    I have this error in my EventVwr :

    aspnet_wp.exe could not be started. The error code for the failure is 80004005. This error can be caused when the worker process account has insufficient rights to read the .NET Framework files. Please ensure that the .NET Framework is correctly installed and that the ACLs on the installation directory allow access to the configured account.

    ? :/

    Valery.

  33. Valery Letroye says:

    Sorry, I found a solution (but not sure of the reason).

    I have moved the addin from %VSMYDOCUMENTS%Addins to %APPDATA%MicrosoftMSEnvSharedAddins and it works now fine!

    %VSMYDOCUMENTS% is on a network drive and I suspect that the customer I am currently working for has added some restrictions on this folder…

    Valery.

  34. Mark says:

    For those who installed this without any errors but the addin never shows up, I figured out why- at least in my case…

    I had moved my "My Documents" directory from the default location in Documents and Settings to a different location at 1 point in time, and Search Work Items was installing Team System addins in that new location. However, Team System was looking in "C:Documents and Settings<user>My DocumentsVisual Studio 2005Addins" (I suspect this is the %VSMYDOCUMENTS%Addins path). You could fix this like I did by copying the addins directory to the original path the addin was expected in, or I suspect you could add the new path to the addins file path (Under Tools->Options->Environment->Add-in/Macros Security).

    Credit goes to this page, who mentioned where the add-ins get installed for Team System. http://www.developermania.com/newsgroups/category/4/189/microsoft_public_vsnet_ide.aspx

  35. Noah Coad says:

    Due to popular demand for community participation in further development, I’ve posted the Search Work

  36. Joshua says:

    Cannot get this to work on Vista… Please help.

  37. Hi,

    Here is another nice plugin that adds a search box to your Results view to allow you to search inside your current window only:

    http://www.acorns.com.au/2007/12/2/TFS+Quick+Search+Plugin.aspx

    Regards,

    Corneliu.

  38. Todd S says:

    I still have the problem described on codeplex – I see the addin in the addin mgr but nothing appears to be loaded.  I have restarted several times.

  39. Bhuvan says:

    IT doesnt work. Installed fine without any errors. I can even see it in the Add-In Manager but No tool bar is available in the list.

  40. Glenn B says:

    I had the problem where it didn’t appear for me, and neither in the Add-Ins Manager. I’m running Windows XP SP2 and Visual Studio 2008 Release Version. I installed the VS90 (Orcas) version of this add-in.

    The Problem:

    It creates the folder: "..My DocumentsVisual Studio Codename OrcasAddins" and puts the necessary files there. However the release version of Orcas creates: "..My DocumentsVisual Studio 2008" folder. The installer for the tool was created during the beta releases of Orcas, so that makes sense.

    The Solution:

    Just move the Addins folder under "..My DocumentsVisual Studio Codename Orcas" —> "..My DocumentsVisual Studio 2008". Restart Visual Studio and your addin will appear!

  41. Glenn B says:

    Note that you shouldn’t move the Addins folder, but just copy it.

    VSTS 2008 loads the addin from the "Visual Studio 2008" folder, but the plugin looks for the query template in "Visual Studio Codename Orcas" folder.

  42. MartinD says:

    Other potential enhancements:

    * Ability to edit the MRU (especially to remove mispelled search terms)

    * Ability to maintain multiple templates and select which one to use for the search. For example, the different templates could expand the fields that are searched (Title only, Title + History, etc.) or the scope of the search (current project vs. all projects)

    * Ability to enter a number as the search value and not get "The work item does not exist, or you do not have permission to access it."

  43. Consider making this add-in a part of Team Foundation Power Tools – it would definitely be a worthwhile addition to TFPT!

  44. Поиск рабочих элементов, содержащих заданный текст – задача, встречающаяся довольно часто. Однако же,

  45. Holger says:

    I’ve installed the VS2008 version and I’m abled to see it both as a toolbar and in the Team menu. But whenever I’m entering something and pressing [ENTER] nothing happens …

  46. noahc says:

    New Updates!  VS 2008 Support + more

    Thanks to William Bartholomew, version 2.0 now supports Visual Studio 2008 as well as Visual Studio 2005, fixes the install problems, and contains a number of small updates.

    I’ve also moved documentation to the CodePlex wiki where we can make feature improvements and easily document them.

    http://www.codeplex.com/searchworkitems/Wiki/View.aspx?title=Documentation

  47. Jens Hofmann says:

    Hi,

    what about providing a second dropdown where i can select Workitems located under "Workitems/My Queries"?

    The aim of this is: Use the selected "My Query" and concatenate it with the "–template"-Query using "or" and execute the new temporary created query.

    With this approach it’s possible to search against existing queries. I think this feature is very important and shouldn’t be that difficult to implement. What do you think about it?

    Jens

  48. noahc says:

    Hey Jens, I like the idea and would love to have you implement it.  The project is open source on CodePlex and if you send me your CodePlex user ID I’ll add you as a developer.

  49. Predius says:

    I was also struggling with no menu items and no toolbar showing up. In my case the Visual Studio 2008 SDK was missing. You can download that from msdn downloads.

    Devenv /log did report an exception produced by the addin, but the information there was not conclusive. So I downloaded the source code. As I loaded the project into my dev environment, the reason for the failure was obvious. 🙂

    Minor change request: Is there a general way to lookup for missing namespaces? It would help if the installation process and the startup process would find and report missing namespaces.

  50. Muku Ramani says:

    Figured out the way for the menu to show up. Here’s the sequence of installation that made it work for me –

    1. Uninstall the Search Work Items (if already installed)

    2. Uninstall Team Foundation Power Tools (if already installed)

    3. Install SetupSearchWorkItems.msi (old version – may not be required)

    4. Install SearchWorkItemsSetup-2.1.0.en-us.msi (new version)

    5. tfpt.msi (Team Foundation Power Tools March 2008 release)

  51. vineet says:

    First of all , Great Tool , Veru Usefull, One Question

    how to change the appeareance of the control , i am using VS 2008. i want to Increase te width of the Search box , and also want to change the label????

  52. scarnahan says:

    I love this tool!  I have both VSTS2005 and 2008 installed and installed the latest version.  It shows up fine in VSTS2008 but does not appear in VSTS2005 at all.

    I can see it in the add-in list, but that is it.

  53. hsimah says:

    Sadly, I get the toolbar, but there is nothing on it. It did work when I first installed it, then I reset my workspace layout from Visual Basic to General and that killed it.

    No amount of uninstalls and reinstalls can fix it. Does anyone have any idea? This search bar is a god-send.

    Either way, well done for creating it.

  54. Olga says:

    This tool is fantastic, I use it all the time. Sadly I now have upgraded to VS9 and it no longer works. Any plans for upgrade?

  55. Wendy says:

    Like Olga I found this tool fantastic.  However we have also upgraded to VS09 and it will no longer search on text, only on the work item number.  Trying to search on text gives the message "There is a problem on the server."

    Looking forward to an upgrade if you do it.

  56. Alex says:

    Wendy, you should rebuild full-text search index on your server.

  57. Henry says:

    @hsimah I had the same problem. I solved it by going to Tools > Customize and then on the Commands tab looking at the Addins category. In the Commands list there should be a Search Work Items option which you can then drag to a toolbar.

    Hope that helps.

  58. lazers says:

    I installed it and tried on VS 2010, it works. Now the issue is that i have both VS 2010 and 2008 installed on my system and when i enter "–template" in 2010, it tries to open VS 2008 and therefore i am not able to edit the default search template. Please help

  59. Sneve says:

    I can't quite get this working in VS 2012. I updated the <SupportedPoducts> to version 11.0 but it is crashing my VS team explorer.  any ideas?  Thanks.

Skip to main content