Jak trwale wyłączyć składanie regionów w programie Visual Studio 2008

106

Czy ktoś wie, jak wyłączyć zwijanie kodu w Visual Studio 2008? Niektórzy moi koledzy to uwielbiają, ale ja osobiście zawsze chcę zobaczyć cały kod i nigdy nie chcę, aby kod był schowany z pola widzenia. Chciałbym ustawić, które oznacza, że ​​moja kopia programu Visual Studio nigdy nie składa się #regionsani nie zawiera treści funkcji.

Steve Cooper
źródło
10
Całkowicie źle to odczytałem jako pieszczoty regionu. Mój błąd.
Jeff Yates
12
Pieszczanie swoich regionów jest już zabronione w moim biurze;)
Steve Cooper
Okropne pytanie. Kiedy zostaniesz ekspertem w p. język, który uwielbiasz składać kod w swoich plikach.
Bitterblue
7
Nie, to kwestia stylu, a nie ekspertyzy. Nie lubię naprawdę długich zajęć i funkcji; składanie kodu pomaga zarządzać kodem, który jest zbyt długi. Pliki dłuższe niż około 150-200 linii ostrzegają mnie, że klasa jest gotowa do refaktoryzacji.
Steve Cooper

Odpowiedzi:

138

Edycja: polecam tę inną odpowiedź

Przejdź do menu Narzędzia-> Opcje. Przejdź do edytora tekstu -> C # -> zaawansowane. Odznacz opcję „Włącz tryb konspektu po otwarciu plików”.

Spowoduje to wyłączenie wszystkich konspektów, w tym regionów, dla wszystkich plików kodu C #.

Greg
źródło
11
Odznaczenie tej opcji wyłącza jednak całkowicie tworzenie konspektu. Czy jest gdzieś inne ustawienie, które po prostu wyświetli wszystkie regiony w kodzie rozwinięte po otwarciu pliku?
Dirk Vollmar
Myślę, że musisz do tego użyć makr, ale nie znam kodu, aby to osiągnąć.
Greg
1
Najbardziej irytująca „funkcja”
Christian Kuetbach
Lokalizacja opcji została przeniesiona w VS 2013 : Edytor tekstu -> C # -> Widok, bloki instrukcji konspektu.
idbrii
Czy ktoś może wyjaśnić, jaki tryb konspektu jest PROSZĘ?
Colonel Panic
56

Zaakceptowana odpowiedź wyłącza zwijanie WSZYSTKICH kodów. Jeśli chcesz wyłączyć zwijanie #region, ale zwijać komentarze, pętle, metody itp. Napisałem wtyczkę, która zrobi to za Ciebie.

Spraw, aby #regiony były mniej do bani (za darmo):

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

  • Automatyczne rozwijanie regionów po otwarciu pliku
  • Opcjonalnie zapobiegaj zwijaniu regionów (ale nadal możesz zwinąć inny kod)
  • Nadaj liniom regionu #region / #end mniejsze, jaśniejsze tło, aby były mniej zauważalne (również opcja)
  • Działa w C # i VB (ale tylko w VS 2010/2012, nieobsługiwane w 2008)

Zrzut ekranu narzędzia Region

NotDan
źródło
11
Dzięki za to wydaje się być lepszym i delikatniejszym podejściem, a nie tylko wyłączaniem wszystkich konturów.
Vivelin
1
Wspaniały! Cieszę się że ci się podoba.
NotDan
Jakieś plany dotyczące wersji VS 2013? Czy źródło jest dostępne? Jestem pewien, że ktoś byłby chętny do dodania wsparcia w 2013 roku.
Chuck Conway
4
Nadzieja na VS 2017.
Nick Painter
10

Możesz również wyłączyć zawijanie regionów w wygenerowanym kodzie (na przykład w przypadku używania skrótu programu Visual Studio do automatycznego wdrażania interfejsu).

tekst alternatywny http://dusda.com/files/regionssuck.png

Dusda
źródło
Znalazłem to w Narzędzia> Opcje> Edytor tekstu> C #> Zaawansowane> Zaimplementuj interfejs . Odznacz kod wygenerowany przez Surround z #region . Dzięki jeszcze raz.
zmiażdżyć
9

Opcje / Edytor tekstu / C # / Zaawansowane / Włącz tryb konspektu podczas otwierania plików

MarcE
źródło
8

Nie jest to trwałe, ale naciśnięcia klawiszy Ctrl-M Ctrl-L rozszerzają regiony w pliku

Lou Franco
źródło
4

Szybkim sposobem przełączania rozwijania / zwijania wszystkich regionów jest również: CTRL + M + L

jules
źródło
2

Opublikowałem odpowiedź w powiązanym, ale nie powielonym wątku, który może pomóc niektórym osobom tutaj. Szczegółowo opisałem, jak utworzyć makra, które dezaktywują # regiony pojedynczej jednostki, komentując dyrektywy #region i #endregion, wraz z towarzyszem do ich ponownej aktywacji. Po wyłączeniu #regions funkcja Ctrl + M + O / Collapse to Definitions robi dokładnie to, co chcę. Mam nadzieję, że przyda się to komuś poza mną.

Skrót do zwinięcia do definicji z wyjątkiem regionów

JMD
źródło
1

Ta opcja wydaje się być dostępna tylko w C #, a nie w C / C ++ (Visual Studio 2005). Aby wyłączyć konturowanie w plikach C / C ++, musisz zrobić sztuczkę, zmieniając kolor konturu na kolor tła edytora. Aby to zrobić, przejdź do Narzędzia> Opcje> Środowisko> Czcionki i kolory> Zwijany tekst> Zmień kolor „Pierwszego planu elementu” na biały (lub inny kolor tła).

Czarek Tomczak
źródło
To! To jest to, czego szukałem! Naprawdę doceniam ten wgląd w irytującą „funkcję”, którą chciałem zabić od miesięcy (jeśli nie lat)!
jerhewet
@jerhewet, używając tego rozwiązania, możesz wpaść w kłopoty, jeśli przez pomyłkę klikniesz na ten biały obszar i region się zawinie, a następnie, aby go rozwinąć, musisz wycelować w niewidoczny obszar.
Czarek Tomczak
0

rozwiązałem problem za pomocą zdarzenia środowiskowego:

  1. uruchom edytor makr (alt + f11)
  2. otwórz plik macroproject / EnvironmentEvents
  3. wklej następujący kod:

    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

Pozdrowienia Tobi

xks
źródło