#visual-studio #visual-studio-2010 #resharper
#visual-studio #visual-studio-2010 #resharper
Вопрос:
Visual Studio, похоже, не ограничивает количество открытых вкладок редактора. Я использую ReSharper, и при определенном количестве открытых вкладок редактора все становится очень медленным. Поэтому я должен отслеживать открытые вкладки и периодически закрывать старые. Было бы здорово, если бы я мог установить ограничение, чтобы оно закрывало старые вкладки при достижении предела.
Есть ли настройка в VS / ReSharper или какие-либо дополнения VS, которые могут помочь достичь этого?
Комментарии:
1. Вероятно, не слишком полезно, но я нахожу resharper невыносимым (даже на моем quad xeon с 12 ГБ оперативной памяти) из-за подобных вещей, поэтому я удалил его и вместо этого использую инструменты повышения производительности: visualstudiogallery.msdn.microsoft.com /…
Ответ №1:
В данный момент я пытаюсь решить эту проблему с помощью примитивного дополнения. Кажется, работает нормально. Все еще тестирую его.
public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_applicationObject.Events.WindowEvents.WindowCreated =
window =>
{
if (window.Document != null)
{
documentWindows.AddFirst(window);
if(documentWindows.Count > 7)
{
Window lastWindow = documentWindows.Last.Value;
documentWindows.Remove(lastWindow);
lastWindow.Close(vsSaveChanges.vsSaveChangesYes);
}
}
};
_applicationObject.Events.WindowEvents.WindowClosing =
window =>
{
if(window.Document != null)
{
documentWindows.Remove(window);
}
};
}
Комментарии:
1. Очень интересно. Жаль, что это не завершено, как вы получаете «documentWindows», пожалуйста? Как пользователь IntelliJ и новичок в Visual Studio, я действительно скучаю по этой функциональности (среди прочего :))… Заранее спасибо.
2. documentWindows — это всего лишь список окон, которые я поддерживаю, все это есть в приведенном выше коде, кроме определения поля. Весь мой код для добавления, за исключением определения списка Windows, приведен выше. Все остальное — это стандартный шаблонный код, сгенерированный при создании проекта VS adding в VS.