Автоматически открывать регионы в Visual Studio 2010

Мне бы хотелось, чтобы области, которые отображаются в моем окне Visual Studio, были расширены по умолчанию при открытии файла кода. Это возможно в VS2010, или есть расширение, которое сделает это для меня?

За исключением этого, мой запрос - вещь, которая может быть записана в расширении?

6 ответов

Решение

Вы могли бы написать макрос, который вызывает команду Visual Studio Edit.StopOutlining для вас каждый раз, когда вы открываете документ.

На этой странице MSDN описано, как написать базовый макрос, который обрабатывает события: http://msdn.microsoft.com/en-us/library/ee1f34as.aspx Вместо обработки WindowClosing ты должен справиться WindowActivated,

Как это:

Public Sub windowopen(ByVal window As EnvDTE.Window, ByVal lostFocus As EnvDTE.Window) Handles WindowEvents.WindowActivated
    DTE.ExecuteCommand("Edit.StopOutlining")
End Sub

Конечно, это позвонит Edit.StopOutlining на каждом окне, которое вы открываете; поэтому, возможно, вам придется немного отфильтровать, какой тип документа был активирован.

Если вы хотите отключить регионы, щелкните правой кнопкой мыши в любом окне кода и выберите Outlining, затем Stop Outlining,

Существует бесплатное расширение Visual Studio 2010, которое автоматически расширит все регионы:

Автоматическое расширение областей Visual Studio

Пожалуйста, также посмотрите этот связанный вопрос:

Как навсегда отключить складывание области в Visual Studio

Для более новых версий Visual Studio (например, 2015, но он также должен работать на 2010) есть расширение под названием " Я ненавижу #Regions". Вы можете скачать и установить его через Сервис> Расширения и обновления> Онлайн. Он автоматически расширяет все регионы и уменьшает размер шрифта тегов регионов. Надеюсь, поможет.

Чтобы создать макрос, который расширяет все области для файлов C#, выполните только следующее.

  1. Откройте окно макросов Visual Studio Studio в меню "Инструменты"> "Макросы"> "Макросы IDE".

  2. В vb-файле EnvironmentEvents в Project Explorer (если его нет, создайте новый модуль, и он появится) добавьте следующий код после автоматически сгенерированной области кода.

    Private Sub WindowEvents_WindowActivated(ByVal GotFocus As EnvDTE.Window, ByVal LostFocus As EnvDTE.Window) Handles WindowEvents.WindowActivated
    If GotFocus.Document.FullName.EndsWith(".cs") Then
        DTE.ExecuteCommand("Edit.StopOutlining")
    End If
    

    End Sub

  3. Сохраните и постройте проект

Если вам нужна дополнительная помощь с макросами, прочитайте эту страницу msdn для получения дополнительной информации.

Есть одна проблема с этим макросом, над которой я сейчас работаю, заключается в том, что если вы щелкнете по любому файлу в обозревателе решений, VS автоматически откроет его.

Для тех, кто все еще ищет решение без добавления расширения, вы можете расширить все регионы, отключив Enter outlining mode when files open который можно найти в Tools -> Options -> Text Editor -> C# -> Advanced

Другие вопросы по тегам