После копания в исходном коде MonoDevelop 2.6.0.1, начиная с вчерашнего дня, я наконец нашел необходимое изменение кода.Я полагаю, что это будет сделано для справки, на случай, если кому-то будет интересно.
Оказывается, что "Страница приветствия" в MonoDevelop представлена надстройкой WelcomePage
.В свою очередь, визуальная сторона надстройки представлена классом MonoDevelop.WelcomePage.WelcomePageView
.Здесь приведен метод GetRecentProjects()
, который фактически извлекает список проектов для отображения.
С помощью этого метода элемент управления переходит к свойству DefaultPath
в классе RecentFileStorage
, который дает местоположениегде последние проекты 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
или добавить его к содержимому файла иным способом.