Yöntemlerin listesini gösteren Visual Studio penceresi


126

Visual Studio'da, aktif sınıftaki yöntemlerin listesini gösteren bir pencere var mı? Çözüm Gezgini gibi küçük bir pencere harika olurdu. Eclipse'de bir tane var.


2
Gelecekte arama yapanlar için - CodeMaid böyle bir liste ve çok daha fazlasını sunuyor! codemaid.net
BKSpurgeon

Yanıtlar:


127

Kod penceresinin hemen üzerinde bir açılır pencere var:

alternatif metin

Gezinti çubuğu olarak adlandırılır ve üç açılır menü içerir: ilk açılır menü, proje , ikinci tür ve üçüncü üyeler (yöntemler) içerir.

Odaklanmak için Ctrl+ kısayolunu F2(odağı proje açılır menüsüne taşı) kullanabilir ve Tabiki kez basabilirsiniz (odağı üçüncü aşağıya kaydırın), aşağı ok listeyi genişletecektir.

Tam boyutlu resim


16
Bunu açmak için herhangi bir kısayol olup olmadığını biliyor musunuz? Bunun için fareyi kullanmak sinir bozucu.
Mariusz Pawelski

@ChrisF o pencereyi vs2012'de göremiyorum. Nasıl etkinleştirilir?
ysrb

@ysrb - Fikrim yok. Hala VS2010 kullanıyorum. Bu sorunun VS2008 ile ilgili olduğu göz önüne alındığında, yeni bir soru sormanızı öneririm (bunun bir kopya olmadığını göstermek için buna geri dönün).
ChrisF

10
Ayrıca bunu ve / veya kalıcı olarak açılan bir pencere veya çerçeveyi açmak için bir kısayol arıyorum.
Xonatron


43

İlk yanıtta (@ChrisF) gösterildiği gibi açılır menüyü nasıl açacağımı buldum:

Seçenekler-> Metin Editörü -> (diliniz) seçeneğine gidin

ve ekran bölümünde "Gezinme çubuğu" öğesini işaretleyin.


Günümü kurtarıyorsun solgun!
Emanuel Gianico

VB.NET için gezinme çubuğunu her zaman kaçırdım. Bu onu mümkün kılar. Çok teşekkürler.
huha

Menüde "Ekstralar" altında "Seçenekler" bulacaksınız.
ohgodnotanotherone

Araçlar (sekme)> Seçenekler> Metin Düzenleyici> (diliniz)
SandstormNick

Teşekkürler mark.oliver.asp.newbie. 2015'ten 2019'a yeni sürüme geçtim ve bu çubuğu tüm seçenekler menüsünde bulmaya çalışıyordum.
ExcelsiorTechSolutions

30

Visual Studio 2012'den bu yana, dosyanıza karşılık gelen düğümü genişleterek çözüm gezgininde taslağı (alanlar ve yöntemler) görüntüleyebilirsiniz.


2
Bu seçeneği, rahatsız edici bir şekilde alfabetik olarak sıralanan açılır menüden daha çok tercih ediyorum (bence).
dbernard

Eğer bir varsa o Not partial classsonra tüm üyeler bu dosyada olanların değil, sadece, o düğümden altında listelenmiştir.
Dai

24

Gezinme Çubuğunun Kısayolu Ctrl+ F2. Önce sizi türler açılır menüsüne götürür. Yöntem açılır menüsüne gitmek için sekmeye basın ve ardından buna gitmek için bir yöntem girin.


22

ReSharper'ın bir 'ReSharper | Windows | Mevcut kod dosyası yapısını görselleştirmek için kullanılan Dosya Yapısı penceresi.


Gerçekten çok kullanışlı, ancak bu pencere için bir klavye kısayolu var mı?
Nicolas

Alt +, bunun için klavye kısayoludur.
Hallmanac

19

Resharper, tutulma anahat görünümüne çok benzeyen Dosya Yapısı penceresine sahiptir. Başlangıçta cevap:

Visual Studio 2012: Sınıftaki tüm Yöntemlerin listesi

Yeniden paylaşma yardımı: http://www.jetbrains.com/resharper/webhelp/Reference__Windows__File_Structure_Window.html

Dosya Yapısı penceresinin ekran görüntüsü


CTRL - F12, Resharper'da üye gezinme penceresini açar. Sınıftaki tüm yöntemleri listeler ve size arama seçeneği sunar.
WoZoNe

1
CTRL - F11, yukarıdaki Yeniden Paylaşım penceresini gösterir. Bu tam olarak aradığım şeydi.
gattsbr

11

Eski bir soru olmasına rağmen belki bu cevap bana yardımcı olduğu için size yardımcı olabilir.

codemaid uzantısını buradan indirebilirsiniz: codemaid web sitesi

web sitelerinde bulabileceğiniz birçok işleve sahiptir.

bu soruyla ilgili olan kod kazma

Ağaç görünümü hiyerarşisinden C # ve C ++ dosyalarınızın içeriğini görselleştirin ve gezinin. Daha iyi bir genel bakış elde etmek için farklı sıralama yöntemleri arasında hızla geçiş yapın. Kodu yeniden düzenlemek için sürükleyip bırakın. McCabe karmaşıklık puanlarına ve bilgilendirici araç ipuçlarına bakın.

başka bir deyişle, size yöntemleri ve özellikleri görme ve aynı zamanda sadece sürükle ve bırak ile yeniden düzenleme yeteneği verir. bu benim günlük kullanım uzantım


CodeMaid, yerleşik VS işlevlerinin çoğunu yeniden uygular ve IDE'yi kirleten yinelenen menü öğelerini görmek aşırı ve nahoş.
Ivan G.

Öyle, bazı yararlı işlevler gibi düşünmüyorum ctrl+m+z, ctrl+m+space, ctrl+m+f, sort lines, clean whole solution, collapse all in solution explorer, arrange methods with drag and drop, method and properties treeyalnızca reshraper gibi bazı araçları bulabilmesi araçlardır.
Mo Hrad bir

1
Bunu bir suç olarak kastetmedim, ancak "kod temizleme" prosedürlerinin çoğu, çoğunlukla umursamadığım kodlama tarzı kutsal savaşları ortaya koyuyor. Ürün ilk. Tek bir dosyada boşluklar ve sekmeler olması umrumda değil, sadece üretkenlik.
Ivan G.

Kod taslağı (spade) gerçekten faydalıdır. Metin düzenleyicide halihazırda aktif / seçili üye ile senkronize kalması harika olur.
Markus L

@MarkusL burada yeni bir sayı oluşturabilirsiniz: github.com/codecadwallader/codemaid/labels/enhancement
Mo Hrad A

8

Eclipse'de Anahat Görünümü ile doğrudan eşdeğer yoktur. Bulduğum en yakın şey, tüm sınıfları ve üyelerini / yöntemlerini listeleyen Sınıf Görünümü. Seçimi daraltmak için üstte bir arama kutusu var.


Burada C ++ üzerinde VS 2010'dan beri, bu cevabı tercih ediyorum çünkü kodumu gizleyen açılır menü can sıkıcı. Sınıf Görünümünü göstermek için daha uygun bir başka kısayol da Ctrl + Shift + C.
Jeff T.

5

Visual Studio 2015'te, Görünüm> Diğer Pencereler> Kaynak Görünümü . Klavye kısayolu Ctrl+ Shift+ ' dır E. Bunu Class View'dan daha temiz buluyorum. Sınıf Görünümü Windows ile yöntemleri / öznitelikleri erişim değiştiriciye (özel / korumalı / genel) vb. Göre filtreleyebilirsiniz.


2
Bu, sınıfın alanlarını ve yöntemlerini listelerken, ilk etapta gerekli sınıfa gitmenizi gerektirir. OP'nin istediği , mevcut aktif sınıf içindi . yani şu anda kod görünümünde açık olan. Şu anda açmış olduğum ve bilinen bir yöntem adına hızlıca gitmek istediğim, ancak konumunu hatırlamadığım, 78 yöntem ve 63 alan içeren 3000 satırlık uzun bir sınıfım varsa, önce ad alanında gezinmek zorunda olmak Ctrl-F'den daha iyi değildir .
Draco18'ler artık

1
Teşekkürler tam da aradığım şey buydu! Bu inanılmaz derecede yardımcı bir araçtır.
user1529413

4

Metin düzenleyicinizin üst kısmında, geçerli türdeki tüm yöntemleri, özellikleri vb. Listeleyen bir açılır listeye sahip olmalısınız; ve tıklanabilir (bu üyeler başka dosyalarda tanımlanmış olsa bile - bu durumda soluk görünürler ancak yine de onlarla gezinebilirsiniz).

Ayrıca, projenizde gezinmek için Sınıf Gezgini'ni ( Ctrl+ Alt+ C) kullanırsanız, tüm türlerinize tam bir genel bakış elde edersiniz. Ancak, Araçlar / Seçenekler'de, bu pencerede etkin türü izlemenize izin veren bir ayar görünmüyor (çözüm gezgini için var) - belki bir makro veya eklenti sırayla ...



1

Sınıf görünümü penceresini mi kastediyorsunuz (Görünüm-> Sınıf Görünümü veya Ctrl+ W, C)?

Ayrıca zeka açılır penceresine de sahipsiniz


Bu ikisinin hiçbirinin yararlı olduğunu düşünmüyorum. Sınıf görünümünde, önce sınıfınızı bulmanız gerekir. Zekayı göstermek için bir yere bir sınıf adı yazmanız, hatta onu somutlaştırmanız gerekir. Diğer yanıtlar, daha hızlı ve kullanımı daha kolay çözümler içerir.
David Ferenczy Rogožan

1

Visual Studio 2010 ile

Araçlar-> Ayarlar-> Uzman Ayarları'nı seçersiniz

Sol alt köşede, "Sınıf Görünümü" sekmesini hemen sonraki "Çözüm Gezgini" sekmesinin sağında göreceksiniz.

"Sınıf Görünümü" düzeninin üst alanında, sınıf adı, numaralandırma, yapı, ... listesini göreceksiniz. "Sınıf Görünümü düzeninin alt alanında, bu sınıflar için üye listesi, enum veya yapı


Dawid Ferenczy, sagie tarafından daha önce yanıtlandığı gibi, "Sınıf görünümünde, önce sınıfınızı bulmanız gerekir. Intelliense göstermek için bir yere bir sınıf adı yazmanız, hatta onu başlatmanız gerekir. Diğer yanıtlar daha hızlı ve kullanımı kolay çözümler içerir ."
Draco18'ler artık

1

Bunu yapmanın güzel ve temiz bir yolu, View.SynchronizeClassView kullanmaktır.

görüntü açıklamasını buraya girin

Ek olarak şunları yapabilirsiniz:

  • Sınıf görünümü pencerenizi sabitleyin
  • üst bölmeyi daralt (tüm sınıfları listeleyerek)

Ve şimdi, Visual Assist'in "Metotları Mevcut Dosyada Listeleme" özelliği gibi hissettiriyor (btw üyeleri de listeliyor).


Bunu nerede buldum View.SynchronizeClassView? Visual Studio 2017'de yalnızca "normal" Sınıf Görünümünü bulabiliyorum.
user11909

Bu, Komut Penceresine girdiğiniz bir komuttur. Maalesef ClassView'ı otomatik olarak senkronize edecek şekilde ayarlayamazsınız ve bunu her seferinde manuel olarak yapmanız gerekir. Bir kısayol atayabilirsiniz, ancak bu yine de gereksiz bir rahatsızlıktır.
mKay

0

Microsoft bu yararlı aracı uygulamak istemiyor, ancak şans eseri Visual Assist'e sahipseniz, VAssistX> Tools> VA Outline'da kullanabilirsiniz . Eklenti yine de ücretsiz değil.


0

Sonsuza kadar USysWare DPack kullanıyorum. Çok küçüktür ve müdahaleci değildir, bu nedenle tek istediğiniz, kullandığınız mevcut dosyanın yöntemlerinin listesini gösteren hızlı bir kısayol penceresi ise, tam da bunu sağlar. İyi olan şey, yazarın aynı özellikleri en son VS sürümünde sağlamaya devam etmek için 10 yıldan fazla bir süredir hala aktif olmasıdır.

https://marketplace.visualstudio.com/items?itemName=SergeyM.DPack-16348

Kurulumdan sonra, sadece Alt + Myöntem listesi penceresini açmak için kullanın . Bunun yerine tüm üyeleri göstermeyi tercih ederim, ancak bu size kalmış.


-1

VS 2012'de, Görünüm> Sınıf Görünümü ... 'ne gidin, ardından ana sekme alanında Sınıf Görünümü GUI'sini elde edersiniz. Şimdi, bunu yan rıhtıma sürükleyin ve Eclipse'de yaptığınızla aynı düzene sahip olursunuz.

-e


Bu farklı bir şey. Mevcut sınıfın üyelerini göstermez (bir düzenleyicide açılan sınıf). Manuel olarak bulmanız gerekir. Çözüm gezginini kullanmak daha iyidir (altındaki dosyayı ve sınıfı genişletin), çünkü onu geçerli dosyayla eşitleyebilirsiniz.
David Ferenczy Rogožan

-1

Bunu yapmanın en iyi yolu, Kod Tanımlama Penceresini, Görünüm -> Kod Tanımlama Penceresi altında açmam veya Ctrl+ W,D .

Sonra onu yüzdürdüm ve ayrı pencerelerde yöntemlerin tanımlarına sahibim.

Saygılarımızla


OP'nin sorusuna nasıl cevap veriyor? Tanımlara hiç ihtiyacı yok, sadece sınıf üyeleri listesi. Bir tanımı görmek için, genellikle bu tür listedeki bir yöntemi çift tıklayabilirsiniz.
David Ferenczy Rogožan

-4

grep -i "alt" dosyaadı.vb> yöntemler.txt grep -i "işlev" dosyaadı.vb >> yöntemler.txt


Lütfen bunun soruyu nasıl yanıtladığını açıklayın.
AdrianHHH

Soruyu yanıtlar çünkü bu çözüm bir vb sınıfı içindeki tüm alt ve işlevlerin bir listesini sağlar.
John Reichert

Bir sınıfta yöntem listesi istemiyordu. Visual Studio'da, aktif sınıftaki yöntemlerin listesini içeren bir pencereye ihtiyacı vardı . Eclipse'de de aynı şeye atıfta bulundu. Cevabınızın tamamen farklı bir şey olduğu açık.
David Ferenczy Rogožan
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.