65.9K
CodeProject 正在变化。 阅读更多。
Home

Visual Studio 项目 MRU 列表编辑器 IV

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.33/5 (3投票s)

2010年10月3日

CPOL

3分钟阅读

viewsIcon

30849

downloadIcon

583

用于编辑 Visual Studio MRU 列表的类核心更新

Sin_t_tulo.png

引言

这个小工具允许您编辑 Visual Studio 启动页上的“最近使用的项目”列表。

该项目基于 earlier versions 由 **peterchen, Josh Beach, Nelviticus** 设计。代码是从头开始编写的,但借鉴了上述代码的理念。

此次更新的原因是为了澄清、分类和指导面向对象编程中编写的应用程序代码。

我简化了代码的许多部分,例如 MRU 列表的管理。现在所有内容都包含在一个类中,从 Windows 注册表中收集的数据都已标准化为结构。这样我就可以随时知道我正在操作什么,并且可以从该对象中检索出来。

没有什么大的改变,因为其他程序员已经做了很好的工作。我更改了一些东西,例如,现在如果您尝试浏览一个不存在的项目,它会告诉您,而不会打开一个默认文件夹

使用代码

要使用我设计的新类来管理最近使用的项目列表,我们只需创建一个 VS_MRU_Manager 类的实例。

该类提供了以下方法来管理列表

Get_MRU_List:此方法返回一个 List<structVS_MRU> 类型的对象列表

Get_VS_Versions此方法返回此计算机上安装的 Visual Studio 版本列表。

Delete_MRU_Project此方法会从最近使用的项目列表中删除所需的项目。

Delete_All_MRU_Projects此方法会删除最近使用的项目列表中的所有项目。

Save_MRU_Project_List此方法保存并重新排列函数参数中指定的项目列表的 Windows 注册表 KeyName。

Delete_Orphan_MRU_Projects此方法会从最近使用的项目列表中删除所有孤立的项目。

用于程序内部信息管理的标准结构

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;
}

历史

2008 年 6 月 5 日 - peterchen

  • 已修复:未安装 Visual Studio 2008 时保存失败
  • 已添加:附加的键盘支持
    Shift+上/下 移动项目,Del 删除,Num-+ 添加现有项目/解决方案
  • 更改了删除后的选择更改,以符合我的个人偏好

2009 年 10 月 29 日 - Nelviticus

  • 已更改:使用 ListView 而非 ListBox,以更好地显示文件名和目录 - 更易于阅读
  • 已添加:现在支持 Visual Studio 2010。您可以通过编辑安装目录中的 *config* 文件(如果使用安装程序)或编辑项目设置(如果自行构建项目)来添加对其他版本的支持。无需添加新的 AddVersion() 调用并重新构建应用程序

2010 年 4 月 22 日 - Nelviticus

  • 已修复:通过双击条目或单击“Explorer”按钮浏览到 Visual Studio 2010 项目现在可以正常工作。VS2010 在其存储在注册表中的文件路径中使用环境变量,但由于 Process.Start 方法不会扩展这些变量,因此我们必须手动进行。

2010 年 10 月 2 日 - Alberto Molero

  • 无法添加列表中已有的项目文件。
  • 当您删除项目、向列表中添加新项目以及移除孤立项目时,MRU 项目列表自动更新。
  • 一个专门的类来管理与最近使用的项目列表相关的所有内容。
  • 通过使用结构来标准化从 Windows 注册表中提取的信息。
© . All rights reserved.