Visual Studio 2008'de bölge katlama kalıcı olarak nasıl devre dışı bırakılır


106

Visual Studio 2008'de kod katlamanın nasıl kapatılacağını bilen var mı? Bazı meslektaşlarım buna bayılıyor, ama ben şahsen her zaman tüm kodu görmek istiyorum ve kodun asla gözden kaybolmasını istemiyorum. Visual Studio kopyamın asla katlanmadığı #regionsveya gövdeleri çalıştırmadığı anlamına gelen bir ayar istiyorum .


10
Bunu bölgeye düşkünlük olarak tamamen yanlış yorumladım. Benim hatam.
Jeff Yates

12
Bölgelerinize okşamak ofisimde zaten yasaklanmıştır;)
Steve Cooper

Sorulacak korkunç bir soru. Bir p. dosyalarınızda kod katlamayı sevmeniz gereken dil.
Bitterblue

7
Hayır, bu stil sorusu, uzmanlık değil. Gerçekten uzun sınıfları ve işlevleri sevmiyorum; kod katlama, çok uzun süren kodu yönetmenize yardımcı olur. Yaklaşık 150-200 satırdan uzun dosyalar, sınıfın yeniden düzenleme için hazır olduğu konusunda beni uyarıyor.
Steve Cooper

Yanıtlar:


138

Düzenleme: Bu diğer cevabı tavsiye ederim

Araçlar-> Seçenekler menüsüne gidin. Metin Düzenleyici-> C # -> Gelişmiş'e gidin. "Dosyalar açıldığında anahat moduna gir" seçeneğinin işaretini kaldırın.

Bu, tüm c # kod dosyaları için bölgeler dahil tüm anahatları devre dışı bırakır.


11
Ancak bu seçeneğin işaretinin kaldırılması, ana hatlarını tamamen devre dışı bırakır. Bir dosya açıldığında genişletilmiş koddaki tüm bölgeleri görüntüleyecek başka bir ayar var mı?
Dirk Vollmar

Bunu yapmak için Makroları kullanmanız gerektiğini düşünüyorum, ancak bunu başarmak için kodu bilmiyorum.
Greg

1
En sinir bozucu "özellik"
Christian Kuetbach

VS 2013'te taşınan seçenek konumu : Metin Düzenleyici -> C # -> Görünüm, Anahat İfade Blokları.
idbrii

LÜTFEN hangi ana hat modunun olduğunu açıklayabilir mi?
Albay Panic

56

Kabul edilen cevap TÜM kod katlamayı kapatır. # Bölge katlamayı devre dışı bırakmak, ancak yorumları, döngüleri, yöntemleri vb. Daraltmak istiyorsanız, bunu sizin için yapan bir eklenti yazdım.

# Bölgelerin daha az emmesini sağlayın (ücretsiz):

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

  • Bir dosya açıldığında bölgeleri otomatik genişlet
  • İsteğe bağlı olarak bölgelerin daraltılmasını önleyin (ancak yine de diğer kodu daraltabilirsiniz)
  • #Region / #end bölge çizgilerine daha küçük, daha açık bir arka plan verin, böylece daha az fark edilirler (ayrıca bir seçenek)
  • C # ve VB'de çalışır (ancak yalnızca VS 2010/2012'de, 2008 için desteklenmez)

Bölge Aracı Ekran Görüntüsü


11
Bunun için teşekkürler, bu tüm ana hatları devre dışı bırakmak yerine daha iyi ve daha nazik bir yaklaşım gibi görünüyor.
Vivelin

1
Harika! Beğenmene sevindim.
NotDan

VS 2013 sürümü için planınız var mı? Kaynak mevcut mu? Eminim birisi 2013 desteğini eklemeye istekli olacaktır.
Chuck Conway

4
VS 2017 için umut.
Nick Painter

10

Üretilen kodda bölge kaydırmayı da devre dışı bırakabilirsiniz (bir arabirimi otomatik uygulamak için Visual Studio kısayolunu kullandığınızda olduğu gibi).

alternatif metin http://dusda.com/files/regionssuck.png


Bunu Araçlar> Seçenekler> Metin Düzenleyici> C #> Gelişmiş> Uygulama Arayüzü'nde buldum . #Region ile Surround tarafından oluşturulan kodun işaretini kaldırın . Tekrar teşekkürler.
ezmek

9

Seçenekler / Metin Düzenleyici / C # / Gelişmiş / Dosyalar açıldığında anahat moduna girin


8

Kalıcı değildir, ancak Ctrl-M Ctrl-L tuş vuruşları bir dosyadaki bölgeleri genişletir


4

Ayrıca, tüm bölgeleri genişletmenin / daraltmanın hızlı bir yolu şudur: CTRL + M + L


2

Buradaki bazı insanlara yardımcı olabilecek ilgili ancak yinelenmeyen bir ileti dizisinde bir yanıt yayınladım. Tek bir birimin #bölgelerini devre dışı bırakacak makroların, #region ve #endregion yönergelerini yeniden etkinleştirmek için bir tamamlayıcıyla yorumlayarak nasıl oluşturulacağını ayrıntılı olarak anlattım. #Regions devre dışı bırakıldığında, Ctrl + M + O / Collapse to Definitions işlevi tam olarak istediğim şeyi yapıyor. Umarım bu benim dışımda biri için yararlıdır.

Bölgeler hariç tanımlara daraltmak için kısayol


1

Bu seçenek yalnızca C # 'da kullanılabilir ve C / C ++' da kullanılamaz (Visual Studio 2005). C / C ++ dosyalarında özetlemeyi devre dışı bırakmak için, ana hat rengini düzenleyicinin arka plan rengine değiştirerek bir numara yapmanız gerekir. Bunu yapmak için Araçlar> Seçenekler> Ortam> Yazı Tipleri ve Renkler> Daraltılabilir Metin> "Öğe Ön Plan" rengini Beyaz olarak değiştirin (veya arka plan renginiz ne olursa olsun).


Bu! İşte aradığım şey bu! Aylardır (yıllarca değilse) yok etmek istediğim sinir bozucu bir "özellik" hakkındaki bu içgörüyü gerçekten takdir ediyorum!
jerhewet

@jerhewet bu çözümü kullanarak, yanlışlıkla o beyaz alana ve bölge kıvrımlarına tıklarsanız başınız belaya girebilir, ardından açmak için görünmez bir alana tıklamanız gerekir.
Czarek Tomczak

0

sorunu benim için bir çevre olayıyla çözdüm:

  1. makro düzenleyiciyi başlat (alt + f11)
  2. macroproject / EnvironmentEvents'i aç
  3. aşağıdaki kodu yapıştırın:

    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

Selamlar Tobi

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.