Perkecil semua #regions only (!) Di C # (Visual Studio)

103

Ada sejumlah pintasan keyboard dan perintah menu untuk secara otomatis meluaskan atau menciutkan semua foldable dalam dokumen saat ini. Ctrl+ M, Ctrl+ Lmengalihkan semua file yang dapat dilipat secara rekursif, dari namespace atas ke metode dalam dan komentar. Pada dasarnya semua yang memiliki ikon [+] di margin kiri. Ctrl+ M, Ctrl+ Omelakukannya sedikit lebih sedikit, tetapi masih menyentuh metode dan komentar di dalam kelas.

Saya mencari fungsi yang secara khusus hanya berhubungan dengan #regionfoldable dan tidak ada yang lain. Bukan ruang nama, kelas, komentar, atau metode. Saya benar-benar hanya ingin melipat area yang secara eksplisit ditandai dengan #regionkata kunci.

Apakah ada pintasan tersembunyi atau ekstensi untuk itu?

Saya lebih suka solusi keyboard, untuk Visual Studio 2015 (RC untuk saat ini).

Jika ada yang bertanya mengapa: Saya ingin mendapatkan gambaran umum dari file tersebut, tetapi segera melihat semua detailnya ketika saya memutuskan untuk melihat ke dalam satu wilayah.


Memperbarui:

Solusi pada tahun 2020

Karena pertanyaan ini telah menerima banyak jawaban, beberapa di antaranya tidak berguna, yang lain sudah usang, solusi yang berfungsi untuk Visual Studio 2019 dapat ditemukan dalam jawaban yang kurang dihargai ini di sini: https://stackoverflow.com/a/58999093/143684

ygoe
sumber
Saya tidak berpikir begitu (terbuka untuk koreksi). Sudahkah Anda mencoba tampilan kelas - ini akan menampilkan semua anggota kelas (bukan drop-down di bagian atas editor teks) dan Anda dapat mengklik dua kali untuk melompat ke anggota yang dipilih.
amcdermott
1
Saya pikir tidak ada hal seperti itu, Ctrl + M, Ctrl + O adalah yang paling dekat
voytek
Jendela Tampilan Kelas berisi semua item dalam satu daftar datar, bukan "wilayah" sama sekali. Bukan untuk itu saya menggunakan wilayah. Saya membutuhkan wilayah untuk menemukan anggota dengan cepat berdasarkan topik, terutama di kelas yang panjang dengan sejumlah kecil metode serupa masing-masing untuk jenis model yang berbeda. Wilayah mengelompokkannya menurut jenis model di sini.
ygoe

Jawaban:

210

di Visual Studio 2017 saya harus mengaktifkan 'Ciutkan #regions saat runtuh ke definisi' di

Tools -> Options -> Text Editor -> C# -> Advanced

secara eksplisit menciutkan semua saat menekan Ctrl+ M+O

Myz
sumber
8
Sayangnya ini juga meruntuhkan segalanya (hampir), bukan hanya daerah. Jadi bukan ini yang saya cari. Ekstensi Quick Launch Tasks masih ada untuk VS 2017 dan dapat diinstal secara terpisah sekarang, lihat saya komentar lain.
ygoe
20
Ini mungkin bukan yang diminta OP, tapi itulah yang saya cari.
Homer
11
Opsi di build saat ini adalah "Ciutkan #region saat menciutkan ke definisi" dan terletak di Alat> Opsi> Editor Teks> C #> Tingkat Lanjut. Ini juga yang saya cari. Ini membuat Ctrl + M + O bekerja seperti yang dilakukannya di VS 2015
Matt Becker
65

Ctrl+ M+ Oakan menciutkan semua.

Ctrl+ M+ Lakan memperluas semua. (dalam VS 2013 - Toggle All outlining)

Ctrl+ M+ Pakan memperluas semua dan menonaktifkan penggambaran.

Ctrl+ M+ Makan menciutkan / memperluas bagian saat ini.

Opsi ini juga ada di menu konteks di bawah Kerangka.

Klik kanan di editor -> Outlining untuk menemukan semua opsi. (Setelah menonaktifkan kerangka, gunakan langkah yang sama untuk mengaktifkan penjelajahan.)

Brendon Vdm
sumber
1
Ini benar-benar satu-satunya jawaban yang benar ... CTRL + (M lalu O / L) hanya akan memperluas / menciutkan wilayah di halaman yang langsung menjawab pertanyaan asli.
Levi Fuller
15
Tidak benar lagi dengan VS2017RC. Menyatukan semua tidak menciutkan wilayah. (Setidaknya build saat ini: 15.0.2620.0)
François
3
Untuk VS 2017, simak jawaban dari @Myz di bawah ini.
Jeffrey Harmon
29

Ekstensi Visual Studio Productivity Power Tools 2015 dari Microsoft memiliki fitur bernama Quick Launch Tasks yang menambahkan perintah baru ke menu Quick Launch. Salah satunya adalah CiutkanRegions dan ia melakukan hal itu.

Perintah sebaliknya adalah ExpandRegions dan itu memperluas semua wilayah untuk penelusuran cepat seluruh file. Perintah-perintah ini dapat digunakan dengan cukup cepat dengan menekanCtrlQ hotkey dan mengetik Collresp. Exp, lalu tekan Enter(jika Anda tidak memiliki perintah lain dengan awalan yang sama).

ygoe
sumber
7
Berikut adalah ekstensi yang sesuai untuk Visual Studio 2017: Tugas Peluncuran Cepat
ygoe
Tidak lagi valid dengan Visual Studio 2019 karena mengubah cara kerja pencarian Tugas Cepat.
Tawarikh
17

Untuk menciutkan kawasan: Alat> Opsi> Editor Teks> C #> Lanjutan> Centang "Ciutkan #region saat menciutkan ke definisi"

Ciutkan gambar #regions

Osama Nour
sumber
Oh, kami sudah memilikinya 3 tahun yang lalu. Lihat jawaban paling atas.
ygoe
10

centang Tanda Centang di Pengaturan -> TextEditor -> C # -> Lanjutan -> Ciutkan #regions saat menciutkan definisi.

lalu klik kanan di editor> menguraikan> ciutkan ke definisi

dev_ter
sumber
7

Saya tidak tahu apakah ini baru, tetapi ada pengaturan untuk teks c #:

Pengaturan -> TextEditor -> C # -> Lanjutan -> Ciutkan #regions saat menciutkan definisi.

Saat kumpulannya CtrlM CtrlOakan menciutkan #regions.

Roland
sumber
7

Saya tahu ini adalah pertanyaan lama, tetapi inilah pembaruan untuk studio visual 2019:

Solusi Tugas Cepat dari jawaban @ ygoe tidak berfungsi untuk Visual Studio 2019, karena versi itu mengubah cara pencarian bilah Tugas Cepat. Ditambah itu tidak pernah menjadi solusi yang disukai untuk pertanyaan asli, karena Anda perlu mengetik tindakan cepat daripada memiliki pintasan keyboard.

Saya menemukan solusi berbeda di pasar yang benar-benar meruntuhkan dan memperluas semua wilayah di file yang saat ini dibuka dengan pintasan keyboard: Ciutkan Wilayah

Dari halaman ekstensi:

Binding tombol default adalah (Ctrl + R, Ctrl + Num +) dan (Ctrl + R, Ctrl + Num-). Dapat diubah di Tools-> Options-> Environment-> Keyboard.

Kronik
sumber
Terima kasih atas info bagus ini! Karena saya tidak menggunakan tugas cepat untuk banyak hal lain, saya mungkin beralih ke ekstensi itu. Diuji dan berfungsi (di VS 2017 dan 2019).
ygoe
4

Saya merekomendasikan menggunakan ekstensi Visual Studio gratis "Menees VS Tools Extension for Visual Studio." Cukup cari di Tools -> Extensions and Updates di Visual Studio. Setelah terinstal, Anda hanya perlu menekan Ctrl+ M+ Kdan hanya wilayah yang akan diciutkan. Ini situs web mereka https://marketplace.visualstudio.com/items?itemName=BillMenees.MeneesVSTools2013

Untuk mengedit pengaturan lihat di bawah Tools -> Options -> Menees VS Tools -> General.

TheJonz
sumber
-2

Pilih Semua lewat Ctrl AlaluCtrl M M

yaitu Tekan Mdua kali sambil menahanCtrl

pengguna1979649
sumber
Maaf tidak. Ini menciutkan semuanya termasuk ruang nama, kelas, metode, dan komentar. Ini secara eksplisit tidak diminta.
ygoe