Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Visual Studio Project MRU List Editor IV

0.00/5 (No votes)
9 Oct 2010 1  
An update the class core for editing Visual Studio's MRU list
Sin_t_tulo.png

Introduction

This little tool allows you to edit the "Recent Projects" list on the Visual Studio start page.

The project is based on earlier versions designed by peterchen, Josh Beach, Nelviticus.The code was made from zero but taking the concept of the above codes.

The reason for this update is to clarify, classify, and guide the application code written in the object-oriented programming.

I have simplified many parts of the code, such as the management of the MRU list. Now everything is contained in a class, and data collected from the Windows registry are standardized structures. This time around I'm manipulating, and I can retrieve the object.

There was not much to change, as there was a good work done by other programmers. I changed several things, among them, now if you try to explore a project that does not exist, this tells you to and do not open a folder by default

Using the code

To use this new class that I designed and can begin to manage the list of recent projects, we simply create a new instance of the class VS_MRU_Manager.

The class offers the following methods to manage lists:

Get_MRU_List:This method returns a list of objects of type List <structVS_MRU>

Get_VS_Versions: This method returns the list of versions of Visual Studio installed on this machine.

Delete_MRU_Project: This method eliminates the desired project from the list of recent projects.

Delete_All_MRU_Projects: This method eliminates all the projects on the list of recent projects.

Save_MRU_Project_List: This method saves and rearranges the windows registry KeyName the list of projects specified in the parameters of the function.

Delete_Orphan_MRU_Projects: This method removes all orphaned projects on the list of recent projects.

Standard structures for information management within the program:

public struct structVS_Version
{
    public string Name; //Contains the name of the version.
    public string Version; //Version identifier.
    public string Year; //Year of the version.
    public string RegKeyLocation; //Version path in the Windows registry.
}
public struct structVS_MRU
{
    public string ProjectName;
    public string ProjectPath;
}

History

June 5, 2008 - peterchen

  • Fixed: Save failed when Visual Studio 2008 was not installed
  • Added: Additional keyboard support
    Shift+Up/Down to move an item, Del to remove, Num-+ to add an existing project/solution
  • Changed selection change after Delete to match my personal preferences

Oct 29, 2009 - Nelviticus

  • Changed: Uses ListView instead of ListBox for better display of file name and directory - much easier to read
  • Added: Now supports Visual Studio 2010. You can add support for other versions by editing the config file in your installation directory (if using the installer) or editing the project settings (if building the project yourself). No need to add a new AddVersion() call and re-build the application

April 22, 2010 - Nelviticus

  • Fixed: Browsing to Visual Studio 2010 projects by double-clicking entries or clicking the 'Explorer' button now works. VS2010 uses environment variables in the file paths it stores in the registry, but because the Process.Start method doesn't expand these, we have to do it manually.

October 2, 2010 - Alberto Molero

  • Can't add project files that already on the list.
  • Automatic update MRU project list when you delete the project, adding a new project to the list, and remove orphaned projects.
  • A specific class to manage everything related to the lists of recent projects.
  • Standardization of information extracted from the Windows registry by using structures.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here