从昨天开始直通了MonoDevelop 2.6.0.1源代码之后,我终于找到了必要的代码更改。我想我会把这个为了参考起见,以防有人感兴趣。
事实证明,MonoDevelop中的“欢迎页面”由WelcomePage
插件代表。反过来,插件的视觉方面由类MonoDevelop.WelcomePage.WelcomePageView
表示。在这里是一个方法GetRecentProjects()
,它实际上检索要显示的项目列表。
通过这种方法,控制权下降到RecentFileStorage
类中的DefaultPath
属性,该属性给出默认情况下最近存储项目xml的位置。它定义为
public static string DefaultPath {
get {
return Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), ".recently-used");
}
}
的Environment.SpecialFolder.Personal
枚举值代表当前用户的个人文件夹中;在我的情况下,它是/home/ken
请注意,这里没有版本信息。这意味着最近的文件列表将始终引用文件/home/ken/.recently-used
,而不管您正在运行哪个版本的MonoDevelop。此外,文件的布局不适用于多个版本,因此唯一的方法是重定向此文件的位置。这很容易完成,通过将上述属性更改为像
public static string DefaultPath {
get {
return Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "MonoDevelop2_6", ".recently-used");
}
}
之前建设。
我个人认为,这些事情应该分开,因为这是一个很容易改变我可能会推动一些版本信息被添加到.recently-used
文件的路径,或以其他方式将其添加到该文件的内容。