Visual Studio'nun Gizli Özellikleri (2005-2010)?


182

Visual Studio öyle büyük bir üründür ki yıllarca çalıştıktan sonra bile bazen, bilmediğim şeyleri veya şeyleri yapmak için yeni / daha iyi bir yolla karşılaşıyorum.

Örneğin-

  • Crtl+ R, Ctrl+ Wboşluklarını göstermek için. Python derleme komut dosyalarını düzenlemek için gereklidir.

  • Metin editöründe 80. sütunda kırmızı bir çizgi olması için "RGB (255,0,0), 80" değerine sahip Rehberler"HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\Text Editor" adlı bir Dize Oluşturun altında .

Başka hangi gizli özelliklere rastladınız?


Teşekkür ederim! Sonunda
VS'de

Teşekkürler. Aslında, kazara "beyaz alanları göster" tökezledim ve ondan kurtulmak istedim. çok teşekkürler!
Arsen Zahray

Yanıtlar:


123

ALT tuşunu basılı tutarak seçim yapın - tüm satırlar yerine bir kare metin seçer.


9
Ctrl-Alt kelimelerin tamamını seçecektir. Alt, seçim alanının boyutunu her seferinde bir karakter değiştirir.
firedfly

4
Bu MS Word ve OO Writer'da da çalışır. Çok kullandım.
Bård

3
Bu ("blok seçimi" olarak da adlandırılır) klavye basılı tutma alt + shift tuşlarıyla da çalışır, ardından ok tuşlarını kullanır.
arolson101

1
Buna ek olarak, bu şekilde boş bir yatay sütun seçerseniz,
yazdığınız

1
Bunun VS 2010 için bir özellik olarak satıldığını gördüm , ancak VS 2008'de denedim ve işe yaradı. Şaşkınım. Bu inanılmaz faydalı!
DaveDev

95

Tracepoints!

Bir kod satırına bir kesme noktası koyun. Kesme Noktaları Penceresini açın ve yeni kesme noktasına sağ tıklayın. 'Vurulduğunda ...' seçeneğini seçin. 'İleti yazdır' onay kutusunu işaretleyerek Visual Studio, kod satırı her kesildiğinde (veya yanı sıra) hata ayıklama çıktısında hata ayıklama çıktısına yazdırır. Ayrıca çizgiyi geçerken makroyu çalıştırmasını sağlayabilirsiniz.


1
Oyuna geç kaldığımı biliyorum, ama bu hiç bilmediğim harika bir özellik!
Jerry

7
Ekstra puanlar için, isabet düğmesinde yerel bir değişken ataması yapabilirsiniz. {localVariable = 1.0f} veya değerleri {staticVariable + = 0.1f} ile artırın
Charles Beattie

91

Kodu ToolBox'a sürükleyebilirsiniz. Dene!


Kutsal bok böylece yapabilirsiniz! (Teşekkürler!)
Ali Parr

olsa snippet'ler üzerinde çok fazla gibi görünmüyor
jk.

33
Sevgili Tanrım ... bu tamamen yeni bir kopyala ve yapıştır seviyesidir. Kopya ve yapıştırma yapıştırın-yapıştırın. Bunu yapabileceğinizi asla ummadığım birçok programcı biliyorum.
Ryan Lundy

Bir yer işareti gibi, düğmeyi tıkladığınızda kodu değerlendirmesini söyleyebilmeniz harika olurdu.
2010'da

Oh hayır. Bu piç işlevi ne yapıyor!

79

Bir tanımlayıcıyı (sınıf adı, değişken vb.) Tıklayın ve ardından F12"Tanıma Git" i tıklayın. Kod izlediğim kaç kişinin daha yavaş sağ tıklama yöntemini kullandığına hayret ediyorum -> "Tanıma Git" yöntemi.

EDIT: Sonra bulunduğunuz yere geri atlamak için Ctrl+ kullanabilirsiniz -.


8
Ve ileri atlamak için Ctrl + Üst Karakter + - [kontrol eksi kontrolünü] unutmayın!
Kevin Pullin

5
Ve tüm referansları bulmak için Shift F12
Benjol

2
Bulunduğunuz yere geri dönmek için ALT + sol ok tuşunu da kullanabilirsiniz
arolson101

1
VB tuşu ayarlarıyla Shift-F2 ayrıca Tanıma Git özelliğini de kullanır.
Ryan Lundy

1
Fare yolunu ilk etapta gidiyorsanız, sağ tıklayın-G.
tsilb

57

CTRL + ÜST KRKT + V panonuzda dolaşır, Visual Studio kopya geçmişini tutar.


Bu, klavye eşlemelerinde edit.cycleclipboardring'de bulunabilir (görsel c ++ 'da bu Ctrl-Shift-Insert, Ctrl-Shift-V değil)
Varsayılan

52

Sara Ford birçok güzel ipucu içeriyor : http://blogs.msdn.com/saraford/archive/tags/Visual+Studio+2008+Tip+of+the+Day/default.aspx

Ama bazı favorilerim Kod Parçacıkları, Ctrl + .bir using<İsim Alanı> eklemek veya bir yöntem saplaması oluşturmak için. Onsuz yaşayamam.

Visual Studio 2008 C # Keybinding posterinde harika bir listeye göz atın: http://www.microsoft.com/downloadS/details.aspx?familyid=E5F902A8-5BB5-4CC6-907E-472809749973&displaylang=tr


1
Sara Ford, Visual Studio'nun tanrıçası. Onu yeterince tavsiye edemedim.
Chris Charabaruk

Kesinlikle katılıyorum, neden onun çalışmasını paylaşıyorum. Hata ayıklamayı kapsayan güncel serisini gerçekten çok seviyorum
Aaron Powell

Günün ucunu yapmayı bıraktığı için üzgün, VS'nin hanları ile çalıştığı için çok uzun zaman geçti, ancak devam etmesi gerektiği anlaşılabilir ...
Knobloch

CTRL + 'dan bahsettiğiniz için teşekkür ederiz. Tam olarak bunu arıyordum.
Sorin Comanescu

Her zaman CTRL + ALT + F10 kullanıyordum. CTRL + bilmiyordum. aynı şeyi yapıyor - teşekkürler. Çok daha rahat.
Noam Gal

49
CTRL-K, CTRL-D

Belgeyi Yeniden Biçimlendirin!
Bu VB keybindings altında, C # emin değilim


3
evet, C #, Web Designer, XML düzenleyici, CSS düzenleyici, XSD düzenleyici, JavaScript (bir ölçüde) altında çalışır. Desteklenen dosya türlerinin çoğu
Aaron Powell

8
C ++
MSalters

7
Ctrl-E, Ctrl-D kullanıyorum
yapılandırıcı

Ctrl + K, Ctrl + F seçtiğiniz metni de biçimlendirir (C # 'da, diğerleri hakkında emin değilim).
Zann Anderson

43

Hızlı izlemede veya izleme penceresinde bir dizide kaç kez hata ayıklarsınız ve yalnızca visual studio size ilk öğeyi gösterir? Stüdyonun size sonraki N öğeyi de göstermesi için tanımın sonuna ", N" ekleyin. IE "this-> m_myArray", "this-> m_array, 5" olur.


41

Artımlı arama: Bir kaynak belgeyi açık isabetle (CTRL + I) ve aradığınız kelimeyi yazarken, girişinizle eşleşen kelimeleri görmek için tekrar (CTRL + I) tuşuna basabilirsiniz.


4
Buna "> i <ncremental search" denir.
Constantin

> Eski <kriminal arama yerine, Firefox'un uyguladığı budur.
kibibu

Emacs dünyasından geldiğimde, aradığım ilk özellik bu. :)
JesperE

37

İzleme penceresinde aşağıdaki kodları kullanabilirsiniz.

@err - display last error
@err,hr - display last error as an HRESULT
@exception - display current exception

35
  • Başlangıçta // bulunan bir metin bloğuna yorum yapmak için Ctrl-K, Ctrl-C
  • Ctrl-K, Ctrl-U , // ile bir metin bloğunu açmak için

Onsuz yaşayamam! :)


VB.NET'te de '// yerine
ChrisA

SQL Server Management Studio'da da geçerlidir - '
Thomas Bratt

3
Her zaman yorumları değiştirmenizi isterdim? Neden bir şeyi "iki kez yorumlamak" istiyorsunuz? Kesinlikle tekrar basmak yorum yapmamalı ...
Dan Diplo

16
Bazen tüm işleve yorum yapmak istersiniz ve içindeki bazı satırlar zaten yorumlanır (yani, doğru yorumlardır). Bu gibi durumlarda, bir geçişiniz varsa ne yapacağınız açık değildir, bu nedenle kararı açıkça belirtmek genellikle daha iyidir.
Pavel Minaev

1
Satırın başından ziyade metnin başında başlarsanız, // yerine / * * / elde edeceğinizi unutmayın. Bu arada en çok kullandığım özellik
Varsayılan

25

Hata ayıklayıcının önemsiz işlevlere adım atmasını durdurmak.

Hata ayıklayıcıdaki kod boyunca adım attığınızda, özellikle ilgilenmediğiniz işlevlere, GetID () veya std :: vector <> () gibi adlarla adım atmak için çok zaman harcayabilirsiniz. C ++ örneği seçmek için. Hata ayıklayıcı bunları yoksaymak için kayıt defterini kullanabilirsiniz.

Visual Studio 2005 için HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ VisualStudio \ 8.0 \ NativeDE \ StepOver'a gitmeli ve hariç tutmak istediğiniz her işlev veya işlev kümesi için normal ifadeler içeren dize değerleri eklemelisiniz; Örneğin

std :: vektör. * ::. *
TextBox :: GetID

Ayrı ayrı istisnalar için bunları geçersiz kılabilirsiniz. Örneğin, vektör sınıfının yıkıcısına adım atmak istediğinizi varsayalım:

std :: vector. * :: \ ~. * = StepInto

Visual Studio'nun diğer sürümleriyle ilgili ayrıntıları http://blogs.msdn.com/andypennell/archive/2004/02/06/69004.aspx adresinde bulabilirsiniz.


Vay canına, bu harika. Bunun mümkün olduğuna dair hiçbir fikrim yoktu.
j_random_hacker

23

Ctrl-F10 : hata ayıklama sırasında imlece koş. Bunu bulmak için yaşlarımı aldım ve her zaman kullanıyorum;

Ctrl-E, Ctrl-D : tanımlayabileceğiniz standart biçimlendirme uygulayın.


1
Tüm kodu atlamak ve imlece çalıştırmak için Ctrl + Shift + F10 . Belirli kod satırlarını test etmeye çalışırken şık.
Samuel Slade

23

SEKME tuşu özelliği .

  1. Snippet anahtarının adını biliyorsanız, Sekme'yi çift tıklayın ve tıklayın. örneğin: Yaz

    foreach

ve ardından sekme tuşuna iki kez tıklayın.

foreach (object var in collection_to_loop)
{

}

2. Herhangi bir etkinlik yazarsanız buraya yazın

        Button btn = new Button();
        btn.Click +=         

ve ardından sekme tuşuna iki kez tıklayın.

private void Form1_Load(object sender, EventArgs e)
{
        Button btn = new Button();
        btn.Click += new EventHandler(btn_Click);     
}    
void btn_Click(object sender, EventArgs e)
{
        throw new Exception("The method or operation is not implemented.");
}

btn_Click işlevi otomatik olarak yaz

  1. XAML Editör'de, herhangi bir olay yazın. Örneğin:

MouseLeftButtonDownsonra sekmeyi ve
MouseLeftButtonDown=""ardından oluşturulan MouseLeftButtonDown="Button_MouseLeftButtonDown"kod bölümü Button_MouseLeftButtonDownyönteminde tekrar sekmeyi tıklayın .


21

Sara Ford bu pazarı köşeye sıkıştırdı.

http://blogs.msdn.com/saraford/default.aspx

Bir sopa sallamak daha fazla Visual Studio ipuçları ve püf noktaları.

Bazı diğerleri:

  • Visual Studio 2005 ve 2008 3 aylık deneme sürümleri tamamen işlevseldir ve süresiz olarak kullanılabilir VS'yi açmadan önce sistem saatini ayarlayarak (sonsuza kadar) . Daha sonra, VS açıldığında, sistem saatlerinizi tekrar ileri doğru ayarlayın, böylece dat süreleriniz bozulmaz.
  • Ama bu gerçekten korsanlık ve bunu tavsiye edemem, özellikle .edu adresi olan herhangi biri Microsoft Dreamspark aracılığıyla VS2008'in tamamen işlevsel bir Pro sürümünü edinebildiğinde .
  • Visual Studio'yu, üçüncü taraf yürütülebilir dosyaları açmak ve içinde depolanan katıştırılmış kaynaklara (iletişim kutuları, dize tabloları, resimler, vb.) Göz atmak için kullanabilirsiniz.
  • Hata ayıklama görüntüleyicileri tam olarak "gizli" bir özellik değildir, ancak bir miktar ihmal edilmiş ve çok kullanışlıdır, çünkü sağlanan görüntüleyicileri kullanmanın yanı sıra belirli veri kümeleri için kendiniz de yuvarlayabilirsiniz .
  • Hata ayıklayıcının "Talimat İşaretçisini Ayarla" veya "Sonraki Deyimi Ayarla" komutu.
  • Koşullu kesme noktaları (KiwiBastard'ın belirttiği gibi).
  • Quickwatch vs.'yi yalnızca bir değişkenin değerini değil, değişkenin çevresindeki çalışma zamanı ifadelerini de değerlendirmek için kullanabilirsiniz.

3
Gerçekten korsan ise (ki sana katılıyorum), o zaman neden bundan bahsediyorsun?
Ryan Lundy

1
Kyralessa, çünkü bazı insanlar muhtemelen umursamıyor. Ancak, Express sürümlerinin ücretsiz olmasıyla, günümüzde korsan bir VS sürümünü kullanmanın gerçek bir nedeni olduğundan şüphe ediyorum.
Joey


17

Özel IntelliSense açılır yüksekliği , örneğin IMO gülünç derecede küçük olan varsayılan yerine 50 öğe görüntülemek (8).

(Bunu yapmak için, bir dahaki sefere gördüğünüzde açılır listeyi yeniden boyutlandırmanız yeterlidir ve Visual Studio bir sonraki açılır menüde seçtiğiniz boyutu hatırlar.)


4
Artık VS2010'da yeniden boyutlandıramazsınız, beni hiç bitmiyor.
manixrock

Vs2008'de genişliği değiştirebiliyorum ama yüksekliği değiştiremiyorum.
Kapil

16

Bugün keşfetti:

Ctrl + .

Yeniden düzenleme için bağlam menüsünü getirir (daha sonra az önce yeniden adlandırdığınız bir sınıfın / yöntemin / özelliğin altı çizili son mektubu ile erişilebilir - menü veya "Ctrl" + "için farenizi kullanın).


Alt + Shift + F10 da bunu yapıyor (C # tuş
bağlamalarını

4
Bu durumda küçük fare tıklaması hedefini avlamaktan çok daha iyi
Richard Ev

14

Birçok insan hata ayıklayıcıyı tam olarak bilmiyor ya da kullanmıyor - IE sadece kodu durdurmak için kullanıyor, ancak kırmızı daireye sağ tıklıyor ve kırılma koşulu, kırılma kodunu çalıştır gibi çok daha fazla seçenek var.

Ayrıca harika bir özellik olan hata ayıklayıcıyı kullanarak çalışma zamanında değişken değerlerini değiştirebilirsiniz - aptalca bir mantık hatasını düzeltmek için yeniden çalıştırma kodunu kaydeder.


13

Satır devrik, Shift-Alt-T
İki satırı (geçerli ve sonraki) değiştirir ve imleci sonraki satıra taşır. Seviyorum. Hatta bir satır tekrar pozisyon değiştiren bir makro yazdım, satır devrik yürüttü ve satır konumunu tekrar değiştirdim, böylece tüm önceki satır ile önceki satırı takas gibi görünüyor (Ters satır devrik).

Kelime aktarımı, Shift-Ctrl-T


Bu, çizginin sayfada aşağı hareket etmesini sağlar, bir çizginin sayfada yukarı hareket etmesini nasıl sağlarsınız?
Alex Baranosky

GordonG, aşağıdaki makroyu yazdım: Sub ReverseLineTranspose () DTE.ActiveDocument.Selection.LineUp DTE.ExecuteCommand ("Edit.LineTranspose") DTE.ActiveDocument.Selection.LineUp End Sub
okutane

1
Burada olduğu gibi burada yapabilirdi :)
Benjol

11

C ++ geliştirirken, Ctrl-F7 yalnızca geçerli dosyayı derler.


11

FormsDesigner'daki Belge Anahatları ( CTRL + ALT + T )

Hızlı kontrol yeniden adlandırma, sipariş ve daha fazlası!


Bunu bilmediğime inanamıyorum. Hayatım değişti.
HipsterZipster

11

Geçerli dosyayı Solution Explorer ile otomatik olarak senkronize etmek için. Bu yüzden dosyanın proje yapısında nerede yaşadığına bakmak zorunda değilsiniz

Araçlar -> Seçenekler -> Projeler ve Çözümler -> "Solution Explorer'da Etkin Öğeyi Takip Et"

Edit: Bu sizin için çok sinir bozucu alırsa kullanabilirsiniz bir tuş vuruşu ile bu özelliği talep üzerine çağırmak Dan Vanderboom makro kullanabilirsiniz.

(Not: Aşağıdaki yorumdan Jerry tarafından alınmıştır).


3
bu bir süre sonra sinir bozucu olur. keşke bunu yapmak için bir klavye kısayolu olsaydı.
kenwarner

2
İşte talep üzerine nasıl takip edeceğinize dair bir yazı. dvanderboom.wordpress.com/2008/03/21/…
Jerry

Çok fazla açık dosya varsa, 'Tümünü kapat' gibi şeyler yaparsanız (PowerCommands'dan sanırım) VS'yi (uyarı vermeden) öldürebilir.
Benjol

Yeniden Paylaşma, Çözüm Gezgini'nde geçerli dosyaya doğrudan atlamak için Shift + Alt + L tuşlarını kullanabildiğiniz için bu gereksizliğe ihtiyaç duyar; veya Ctrl + Shift + N tuşlarını kullanarak Çözüm'deki herhangi bir dosyayı anahtar kelime arayın.
cbp

9

Bunun "gizli" olup olmadığından emin değilim, ama pek çok insan bunu bilmiyor - yalancı kardeşler . Hata ayıklama sırasında çok kullanışlı geliyor, @ERR, saat penceremde her zaman saat var.


1
@Xxx $ xxx lehine aşamalı olarak işitildiğini duydum. FWIW, WinDbg de $ xxx formunu kullanıyor.
Constantin

Bir saat penceresinde sadece "hr, hr" yapamaz mısınız? Bunu
VC6'da

Mükemmel. Bağlantılı makalede belirtildiği gibi, @TIB'de koşullu kesme noktaları ayarlamak, çok iş parçacıklı uygulamaların hata ayıklamasını büyük ölçüde basitleştirecektir.
j_random_hacker

9

Ctrl-Minus, Ctrl-Plus, son zamanlarda bulunduğunuz yerde ileri ve geri gider (yalnızca açık dosyalar).


Evet, bunları SEVİYORUM - her gün kullanın.
MaseBase

Bir tanımlamaya gitmek için F + 12'ye basarsanız ve bulunduğunuz yere geri dönmek istiyorsanız çok yararlıdır.
Thomas Bratt

9

Sık kullanmıyorum ama seviyorum:

ctrl-alt + mouse select

Dikdörtgen bir blokta seçmek için sınırları 'engellemek'.

Yorumlarda belirtildiği gibi,

alt + mouse select

Sadece düz bir dikdörtgen blok yapar.


4
Bu, VS'de geçerli bir eylem olduğu düşünüldüğünde, eğlenceli bir şey var :) İyi şanslar olsa da, gizemli düşmanı.
Öğlen İpek

2
Belki biraz erken, ama bunu okumak beni Firefox'ta denemek istedi. Anlaşılan, ctrl-alt-shift, bir PDF belgesinin çalışmasına benzer şekilde, belgenin tamamını ekran boyunca sürüklemek için fareyi kullanmanıza olanak tanır.
KdgDev

Alt + mouse seçiminden farkı nedir?
Guffa

Guffa: Sadece blok sonlara gidiyor. alt-select, herhangi bir şey içeren herhangi bir alanı seçmenizi sağlar. Onlar farklı.
Öğlen İpek

Bence bu sadece 'ctrl-alt' olabilir, 'shift' de değil.
Öğlen İpek


8

CTRL + Üst Karakter + U -> Büyük harf vurgulanmış bölüm. CTRL + U -> Vurgulanan bölümü küçük harfle yazın SQL deyimlerimi dize sorgularına koyarken doğru görünmelerini sağlamak için harika.

Ayrıca HER ŞEYİN CAPS'TA olduğu çevrimiçi bulduğunuz kod için de yararlıdır.


2
Çok kötü bir CamelCase CTRL + Shift seçeneği yok ... :) Bu muhtemelen bir projeyi devraldığımda yaptığım # 1 refactor'um ... Larry
LarryF 15:08

8

Orta Fare Düğmesi Editör sekmesine tıkladığınızda sekme kapanır.


1
Ben kod ararken ve sonra kapatıyorum çünkü ben kodlama zaman bu her zaman kullanın (kapanış için "X" oldukça uzaktır).
Kevin Driedger

8

Herhangi bir veri yığınını n baytlık "dizi" olarak görüntülemek için Visual Studio'nun QuickWatch penceresinde aşağıdaki sözdizimini kullanın:

variable, n

Örneğin, foo256 baytlık dizi olarak adlandırılan bir değişkeni görüntülemek için , QuickWatch penceresine aşağıdaki ifadeyi girin:

foo, 256

Bu özellikle boş sonlandırılmamış dizeleri veya yalnızca bir işaretçi ile erişilebilen verileri görüntülerken kullanışlıdır. Benzer bir sonuç elde etmek için Visual Studio'nun Bellek penceresini kullanabilirsiniz, ancak QuickWatch penceresini kullanmak hızlı bir kontrol için genellikle daha uygundur.

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.