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


106

Кто-нибудь знает, как отключить сворачивание кода в Visual Studio 2008? Некоторым из моих коллег это нравится, но лично я всегда хочу видеть весь код и никогда не хочу, чтобы код сворачивался из поля зрения. Мне нужен параметр, который означает, что моя копия Visual Studio никогда не сворачивается #regionsили не выполняет функции.


10
Совершенно неверно истолковать это как ласку по региону. Виноват.
Джефф Йейтс,

12
У меня в офисе уже запрещено ласкать ваши регионы;)
Стив Купер

Ужасный вопрос. Когда вы станете экспертом в п. язык, который вы должны любить складывать код в ваших файлах.
Bitterblue

7
Нет, это вопрос стиля, а не опыта. Мне не нравятся действительно длинные классы и функции; сворачивание кода помогает управлять слишком длинным кодом. Файлы длиной более 150-200 строк предупреждают меня, что класс готов к рефакторингу.
Стив Купер,

Ответы:


138

Изменить: я рекомендую этот другой ответ

Перейдите в меню Инструменты-> Параметры. Перейдите в Текстовый редактор-> C # -> Дополнительно. Снимите флажок «Переходить в режим выделения при открытии файлов».

Это отключит все контуры, включая регионы, для всех файлов кода C #.


11
Однако снятие отметки с этой опции полностью отключает обводку. Есть ли где-нибудь еще одна настройка, которая будет просто отображать все области в коде, развернутые при открытии файла?
Дирк Фоллмар,

Я думаю, что для этого вам нужно использовать макросы, но я не знаю кода для этого.
Грег,

1
Самая раздражающая «фишка»
Кристиан Куетбах.

Расположение параметра перемещено в VS 2013 : Текстовый редактор -> C # -> Просмотр, Блоки инструкций структуры.
идбрий

Кто-нибудь может объяснить, что такое режим выделения, ПОЖАЛУЙСТА?
Colonel Panic

56

Принятый ответ отключает ВСЕ сворачивание кода. Если вы хотите отключить сворачивание #region, но сворачивать комментарии, циклы, методы и т. Д., Я написал плагин, который сделает это за вас.

Сделайте # регионы менее отстойными (бесплатно):

http://visualstudiogallery.msdn.microsoft.com/0ca60d35-1e02-43b7-bf59-ac7deb9afbca

  • Автоматическое расширение регионов при открытии файла
  • Необязательно предотвратить сворачивание регионов (но все же иметь возможность свернуть другой код)
  • Сделайте линии области #region / #end меньшего размера и более светлым фоном, чтобы они были менее заметны (также вариант)
  • Работает на C # и VB (но только в VS 2010/2012, не поддерживается в 2008 году)

Скриншот инструмента "Регион"


11
Спасибо за это, это кажется лучшим и более мягким подходом, чем просто отключение всего контура.
Vivelin

1
Большой! Я рада что тебе нравится.
NotDan

Есть ли планы на версию VS 2013? Источник доступен? Я уверен, что кто-то захочет добавить поддержку 2013 года.
Чак Конвей

4
Надеюсь на VS 2017.
Ник Пейнтер

10

Вы также можете отключить перенос областей в сгенерированный код (например, когда вы используете ярлык Visual Studio для автоматической реализации интерфейса).

альтернативный текст http://dusda.com/files/regionssuck.png


Я нашел это в Инструменты> Параметры> Текстовый редактор> C #> Дополнительно> Реализовать интерфейс . Снимите флажок Окружить сгенерированный код с #region . Еще раз спасибо.
раздавить

9

Параметры / Текстовый редактор / C # / Дополнительно / Вход в режим выделения при открытии файлов



4

Кроме того, быстрый способ переключения раскрытия / свертывания всех регионов: CTRL + M + L


2

Я опубликовал ответ в связанной, но не повторяющейся теме, которая может помочь некоторым здесь. Я подробно описал, как создать макросы, которые будут деактивировать #regions отдельного модуля, закомментировав директивы #region и #endregion, с помощником для их повторной активации. С отключенным #regions функция Ctrl + M + O / Collapse to Definitions делает именно то, что я хочу. Надеюсь, это будет полезно для кого-то помимо меня.

Ярлык для свертывания определений, кроме регионов


1

Кажется, что этот параметр доступен только в C #, но не в C / C ++ (Visual Studio 2005). Чтобы отключить выделение в файлах C / C ++, вам нужно проделать трюк, изменив цвет выделения на цвет фона редактора. Для этого перейдите в Инструменты> Параметры> Среда> Шрифты и цвета> Сворачиваемый текст> Измените цвет «Передний план элемента» на белый (или любой другой цвет вашего фона).


Это! Это то, что я искал! По-настоящему ценю это понимание раздражающей "особенности", которую я искал уничтожить месяцами (если не годами)!
jerhewet

@jerhewet, используя это решение, у вас могут возникнуть проблемы, если вы по ошибке щелкните эту белую область, и область складывается, а затем, чтобы развернуть ее, вам нужно щелкнуть прицельным щелчком в невидимой области.
Czarek Tomczak

0

Я решил проблему для себя с помощью environmentmentevent:

  1. запустить макроредактор (alt + f11)
  2. открыть макропроект / EnvironmentEvents
  3. вставьте следующий код:

    Private Sub DocumentEvents_DocumentOpened(ByVal Document As EnvDTE.Document) Handles DocumentEvents.DocumentOpened
        If (Not Document Is Nothing) Then
            If (Document.FullName.ToLower().EndsWith(".cs")) Then
                Try
                    DTE.ExecuteCommand("Edit.ExpandAllOutlining")
                Catch ex As Exception
                End Try
            End If
        End If
    End Sub

    Private Sub WindowEvents_WindowActivated(ByVal GotFocus As EnvDTE.Window, ByVal LostFocus As EnvDTE.Window) Handles WindowEvents.WindowActivated
        If (Not GotFocus Is Nothing) Then
            If (Not GotFocus.Document Is Nothing) Then
                If (GotFocus.Document.FullName.ToLower().EndsWith(".cs")) Then
                    Try
                        DTE.ExecuteCommand("Edit.ExpandAllOutlining")
                    Catch ex As Exception
                    End Try
                End If
            End If
        End If
    End Sub

Привет Тоби

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.