Fitur Tersembunyi dari Visual Studio (2005-2010)?

182

Visual Studio adalah produk yang sangat besar sehingga bahkan setelah bertahun-tahun bekerja dengannya saya kadang menemukan cara baru yang lebih baik untuk melakukan sesuatu atau hal-hal yang bahkan tidak saya ketahui adalah mungkin.

Misalnya-

  • Crtl+ R, Ctrl+ Wuntuk menampilkan spasi putih. Penting untuk mengedit skrip pembuatan Python.

  • Di bawah "HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\Text Editor" buat string yang disebut panduan dengan nilai "RGB (255,0,0), 80" memiliki garis merah di kolom 80 di editor teks.

Fitur tersembunyi apa lagi yang Anda temukan?

shoosh
sumber
Terima kasih! Akhirnya 80 kolom di VS :)
Jonas Gulle
Terima kasih. sebenarnya, saya sengaja menemukan "ruang putih" tanpa sengaja, dan ingin menyingkirkannya. Terima kasih banyak!
Arsen Zahray

Jawaban:

123

Buat pilihan dengan menekan ALT - memilih kotak teks daripada seluruh baris.

shoosh
sumber
9
Ctrl-Alt akan memilih seluruh kata. Alt akan mengubah ukuran area pemilihan dengan satu karakter sekaligus.
Shotfly
4
Ini berfungsi di MS Word dan OO Writer juga. Saya sudah sering menggunakannya.
Bård
3
Ini (disebut "blok pilih") juga berfungsi dengan alt + shift tahan keyboard lalu gunakan tombol panah.
arolson101
1
Selain itu, jika Anda memilih kolom horizontal kosong dengan cara ini, apa pun yang Anda ketik akan diduplikasi di setiap baris, berperilaku seperti kursor besar :)
Sedat Kapanoglu
1
Saya melihat ini dijual sebagai fitur untuk VS 2010, tapi saya baru mencobanya di VS 2008 dan berhasil. Saya terperangah. ini sangat berguna!
DaveDev
95

Tracepoints!

Letakkan breakpoint pada satu baris kode. Buka Window Breakpoints dan klik kanan pada breakpoint baru. Pilih 'Saat Hit ...'. Dengan mencentang kotak 'Cetak pesan' Visual Studio akan mencetak pesan ke Output Debug setiap kali baris kode dieksekusi, bukan (atau juga) menerobosnya. Anda juga bisa mendapatkannya untuk menjalankan makro saat melewati garis.

Charles Anderson
sumber
1
Saya tahu saya terlambat ke permainan, tapi itu fitur hebat yang tidak pernah saya ketahui!
Jerry
7
Untuk poin tambahan, Anda dapat membuat penugasan variabel lokal di tombol tekan saat. {localVariable = 1.0f} atau naikkan nilainya dengan {staticVariable + = 0.1f}
Charles Beattie
91

Anda dapat menyeret kode ke ToolBox. Cobalah!

jfs
sumber
Omong kosong sehingga Anda bisa! (Terima kasih!)
Ali Parr
sepertinya tidak terlalu banyak menggunakan potongan
jk.
33
Ya Tuhan ... ini adalah level baru dari copy-and-paste. Salin-dan-tempel-tempel-tempel. Saya tahu banyak programmer yang saya harap tidak pernah tahu bahwa Anda dapat melakukan ini.
Ryan Lundy
Akan lebih keren jika Anda bisa mengatakannya untuk mengevaluasi kode ketika Anda mengklik tombol, seperti bookmarklet.
intuited
Oh tidak. Apa yang dilakukan fungsi bastardize ini!
79

Klik sebuah pengenal (nama kelas, variabel, dll) lalu tekan F12untuk "Go To Definition". Saya selalu kagum dengan berapa banyak orang yang saya menonton kode menggunakan metode klik kanan yang lebih lambat -> "Go To Definition".

Sunting: Kemudian Anda dapat menggunakan Ctrl+ -untuk melompat kembali ke tempat Anda sebelumnya.

Craig
sumber
8
Dan jangan lupa Ctrl + Shift + - [control shift minus] untuk melompat maju!
Kevin Pullin
5
Dan Shift F12 untuk Temukan semua referensi
Benjol
2
Anda juga dapat menggunakan ALT + panah kiri untuk kembali ke tempat Anda sebelumnya
arolson101
1
Dengan pengaturan tombol VB, Shift-F2 juga melakukan Go To Definition.
Ryan Lundy
1
Mungkin juga klik kanan-G jika Anda akan mengarahkan rute mouse di tempat pertama.
tsilb
57

CTRL + SHIFT + V akan berputar melalui clipboard Anda, Visual Studio menyimpan riwayat salinan.

sontek
sumber
ini dapat ditemukan di edit.cycleclipboardring di pemetaan keyboard (dalam visual c ++ ini adalah Ctrl-Shift-Insert, bukan Ctrl-Shift-V)
Default
52

Sara Ford memberikan banyak tips menarik: http://blogs.msdn.com/saraford/archive/tags/Visual+Studio+2008+Tip+of+the+Day/default.aspx

Tetapi beberapa favorit saya adalah Cuplikan Kode, Ctrl+ .untuk menambahkan using<Namespace> atau menghasilkan metode rintisan. Saya tidak bisa hidup tanpanya.

Lihatlah daftar hebat di poster Visual Studio 2008 C # Keybinding: http://www.microsoft.com/downloadS/details.aspx?familyid=E5F902A8-5BB5-4CC6-907E-472809749973&displaylang=en

Slace
sumber
1
Sara Ford adalah dewi Visual Studio. Saya tidak bisa merekomendasikan dia cukup.
Chris Charabaruk
Sepenuhnya setuju yang saya mengapa saya berbagi pekerjaannya. Saya sangat menyukai serialnya saat ini yang mencakup debugging
Aaron Powell
Sedih bahwa dia berhenti melakukan ujung hari, meskipun sudah begitu lama sejak dia bekerja dengan jeroan VS bahwa itu benar-benar dimengerti bahwa ia harus pindah ...
Knobloch
Terima kasih telah menyebutkan CTRL +. Saya sedang mencari yang ini tepatnya.
Sorin Comanescu
Saya selalu menggunakan CTRL + ALT + F10. Tidak tahu CTRL +. melakukan hal yang sama - terima kasih. Jauh lebih nyaman.
Noam Gal
49
CTRL-K, CTRL-D

Memformat ulang dokumen!
Ini berada di bawah ikatan kunci VB, tidak yakin tentang C #

Mark Glorie
sumber
3
ya, bekerja di bawah C #, Desainer Web, editor XML, editor CSS, editor XSD, JavaScript (sampai batas tertentu). Sebagian besar jenis file yang didukung
Aaron Powell
8
Ctrk-K, Ctrl-F untuk C ++
MSalters
7
Saya menggunakan Ctrl-E, Ctrl-D
configurator
Ctrl + K, Ctrl + F juga memformat teks apa pun yang telah Anda pilih (dalam C #, tidak yakin tentang orang lain).
Zann Anderson
43

Berapa kali Anda men-debug array di jam tangan cepat atau jendela arloji dan hanya memiliki studio visual yang menunjukkan elemen pertama? Tambahkan ", N" ke akhir definisi untuk membuat studio menunjukkan Anda item N berikutnya juga. IE "this-> m_myArray" menjadi "this-> m_array, 5".

tenpn
sumber
41

Pencarian tambahan: Ketika memiliki dokumen sumber hit terbuka (CTRL + I) dan ketik kata yang Anda cari, Anda dapat menekan (CTRL + I) lagi untuk melihat kata-kata yang cocok dengan input Anda.

Leyu
sumber
4
Ini disebut "> saya <pencarian ncremental".
Constantin
Berbeda dengan> ex <cremental search, yang mengimplementasikan Firefox.
kibibu
Datang dari dunia Emacs, ini fitur pertama yang saya cari. :)
JesperE
37

Anda dapat menggunakan kode berikut di jendela arloji.

@err - display last error
@err,hr - display last error as an HRESULT
@exception - display current exception
Ferruccio
sumber
35
  • Ctrl-K, Ctrl-C untuk mengomentari blok teks dengan // di awal
  • Ctrl-K, Ctrl-U untuk menghapus tanda komentar pada blok teks dengan // di awal

Tidak bisa hidup tanpanya! :)

Thomas Bratt
sumber
Juga berlaku di VB.NET, kecuali dengan 'daripada //
ChrisA
Juga berlaku di SQL Server Management Studio, kecuali menggunakan urutan pelarian komentar SQL '-'
Thomas Bratt
3
Saya selalu berharap Anda bisa beralih komentar? Mengapa Anda ingin "menggandakan komentar" sesuatu? Tentunya menekannya lagi harus berhenti berkomentar ...
Dan Diplo
16
Terkadang Anda ingin mengomentari seluruh fungsi, dan beberapa baris di dalamnya sudah dikomentari (yaitu mereka adalah komentar yang tepat). Dalam kasus seperti itu, tidak jelas apa yang harus dilakukan jika Anda memiliki toggle, jadi umumnya lebih baik untuk membuat keputusan eksplisit.
Pavel Minaev
1
Perhatikan bahwa jika Anda mulai di awal teks dan bukan di awal baris, Anda akan mendapatkan / * * / bukannya //. Ini adalah fitur saya yang paling sering digunakan
Default
25

Menghentikan debugger dari melangkah ke fungsi sepele.

Saat Anda melangkah melalui kode di debugger, Anda dapat menghabiskan banyak waktu untuk masuk dan keluar dari fungsi yang tidak terlalu Anda minati, dengan nama-nama seperti GetID (), atau std :: vector <> (), untuk memilih contoh C ++. Anda dapat menggunakan registri untuk membuat debugger mengabaikannya.

Untuk Visual Studio 2005, Anda harus membuka HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ VisualStudio \ 8.0 \ NativeDE \ StepOver dan menambahkan nilai string yang berisi ekspresi reguler untuk setiap fungsi atau rangkaian fungsi yang ingin Anda kecualikan; misalnya

std :: vector. * ::. *
TextBox :: GetID

Anda juga dapat menimpa ini untuk pengecualian individual. Misalnya, misalkan Anda memang ingin masuk ke destructor kelas vektor:

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

Anda dapat menemukan detail untuk versi lain dari Visual Studio di http://blogs.msdn.com/andypennell/archive/2004/02/06/69004.aspx

Charles Anderson
sumber
Wow, ini luar biasa. Saya tidak tahu ini mungkin.
j_random_hacker
23

Ctrl-F10 : lari ke kursor selama debugging. Butuh waktu lama bagi saya untuk menemukan ini, dan saya menggunakannya sepanjang waktu;

Ctrl-E, Ctrl-D : terapkan pemformatan standar (yang dapat Anda tetapkan).

Joel di Gö
sumber
1
Ctrl + Shift + F10 untuk melewati semua kode dan lari ke kursor. Bagus saat mencoba menguji baris kode tertentu.
Samuel Slade
23

Fitur kunci TAB .

  1. Jika Anda tahu nama kunci cuplikan, tulis dan klik Tab ganda. misalnya: Tulis

    foreach

lalu klik tombol tab dua kali untuk

foreach (object var in collection_to_loop)
{

}

2. Jika Anda menulis acara apa pun, tulis di sini

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

lalu klik tombol tab dua kali untuk

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_Klik fungsi tulis secara otomatis

  1. di XAML Editor, Tulis acara apa pun. sebagai contoh:

MouseLeftButtonDownlalu klik tab
MouseLeftButtonDown=""lalu klik tab lagi MouseLeftButtonDown="Button_MouseLeftButtonDown"dalam Button_MouseLeftButtonDownmetode bagian kode yang dibuat.

ebattulga
sumber
21

Sara Ford memiliki pasar ini terpojok.

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

Lebih banyak tips dan trik Visual Studio daripada yang bisa Anda goyang.

Beberapa lainnya:

  • Visual Studio 2005 dan 2008 edisi percobaan 3 bulan berfungsi penuh, dan dapat digunakan tanpa batas waktu (selamanya) dengan mengatur kembali jam sistem sebelum membuka VS. Kemudian, ketika VS dibuka, atur kembali jam sistem agar datetime Anda tidak kacau.
  • Tapi itu benar-benar pembajakan dan saya tidak bisa merekomendasikannya, terutama ketika siapa pun dengan alamat .edu bisa mendapatkan versi Pro VS2008 yang berfungsi penuh melalui Microsoft Dreamspark .
  • Anda dapat menggunakan Visual Studio untuk membuka executable pihak ketiga, dan menelusuri sumber daya yang tertanam (dialog, tabel string, gambar, dll) yang tersimpan di dalamnya.
  • Visualisasi debugging sebenarnya bukan fitur "tersembunyi" tetapi mereka agak diabaikan, dan sangat berguna, karena selain menggunakan visualisator yang disediakan Anda dapat memutar sendiri untuk set data tertentu.
  • Perintah "Set Instruction Pointer" Debugger atau "Set Next Statement".
  • Breakpoint bersyarat (seperti yang dicatat KiwiBastard).
  • Anda dapat menggunakan Quickwatch, dll. Untuk mengevaluasi tidak hanya nilai variabel, tetapi juga ekspresi runtime di sekitar variabel itu.
pengguna2189331
sumber
3
Jika ini benar-benar pembajakan (yang saya setujui dengan Anda), lalu mengapa Anda bahkan menyebutkannya?
Ryan Lundy
1
Kyralessa, karena beberapa orang mungkin tidak peduli. Namun, dengan edisi Express yang gratis saya ragu ada alasan sebenarnya saat ini untuk menggunakan versi VS bajakan.
Joey
21

T4 (Perangkat Transformasi Template Teks) . T4 adalah pembuat kode yang dibangun langsung ke dalam Visual Studio

Shiju
sumber
Catatan: Bukan Edisi Express. (Masih tip yang bagus.)
j_random_hacker
17

Tinggi dropdown IntelliSense kustom , misalnya menampilkan 50 item, bukan default yang IMO sangat kecil (8).

(Untuk melakukan itu, sesuaikan ukuran dropdown lain kali Anda melihatnya, dan Visual Studio akan mengingat ukuran yang Anda pilih lain kali membuka dropdown.)

Brann
sumber
4
Anda tidak dapat mengubah ukurannya lagi di VS2010, itu mengganggu saya sampai akhir.
manixrock
di Vs2008 saya bisa mengubah lebar tetapi tidak tinggi.
Kapil
16

Ditemukan hari ini:

Ctrl + .

Membuka menu konteks untuk refactoring (lalu yang dapat diakses melalui huruf terakhir yang digarisbawahi dari kelas / metode / properti yang baru saja Anda ganti namanya - arahkan mouse ke menu atau "Ctrl" + ".")

Muxa
sumber
Alt + Shift + F10 juga melakukan ini (menggunakan C # keybindings)
Kyle Trauberman
4
Jauh lebih baik daripada mencoba memburu target klik tikus kecil dalam situasi ini
Richard Ev
14

Banyak orang tidak tahu atau menggunakan debugger untuk itu sepenuhnya - IE hanya menggunakannya untuk menghentikan kode, tetapi klik kanan pada lingkaran merah dan ada lebih banyak pilihan seperti break on condition, run code on break.

Anda juga dapat mengubah nilai variabel saat runtime menggunakan debugger yang merupakan fitur hebat - menyimpan kode rerunning untuk memperbaiki kesalahan logika konyol dll.

James Sugrue
sumber
13

Line transpose, Shift-Alt-T
Bertukar dua baris (sekarang dan berikutnya) dan memindahkan kursor ke baris berikutnya. Aku menyukainya. Saya bahkan telah menulis makro yang mengubah lagi posisi dengan satu baris, mengeksekusi garis transpos dan mengubah posisi garis lagi sehingga semuanya tampak seperti saya menukar baris saat ini dengan sebelumnya (Reverse line transpose).

Word transposisi, Shift-Ctrl-T

okutane
sumber
Ini membuat garis bergerak ke bawah halaman, bagaimana Anda membuat garis bergerak ke atas halaman?
Alex Baranosky
GordonG, saya sudah menulis makro berikut: Sub ReverseLineTranspose () DTE.ActiveDocument.Selection.LineUp DTE.ExecuteCommand ("Edit.LineTranspose") DTE.ActiveDocument.Selection.LineUp End Sub
okutane
1
Bisa lakukan dengan itu di sini ternyata :)
Benjol
11

Saat mengembangkan C ++, Ctrl-F7 hanya mengkompilasi file saat ini.

Sakin
sumber
11

Garis Besar Dokumen di FormsDesigner ( CTRL + ALT + T )

Mengganti nama kontrol dengan cepat, memesan, dan banyak lagi!

Pondidum
sumber
Saya tidak percaya saya tidak tahu tentang ini. Hidupku berubah.
HipsterZipster
11

Untuk menyinkronkan file saat ini dengan Solution Explorer. Jadi tidak perlu melihat di mana file tersebut berada dalam struktur proyek

Alat -> Opsi -> Proyek dan Solusi -> "Lacak Item Aktif di Solution Explorer"

Sunting: Jika ini terlalu menjengkelkan bagi Anda maka Anda dapat menggunakan makro Dan Vanderboom untuk menjalankan fitur ini sesuai permintaan melalui penekanan tombol.

(Catatan: Diambil dari komentar di bawah oleh Jerry).

SDX2000
sumber
3
ini menjengkelkan setelah beberapa saat. Saya berharap ada pintasan keyboard untuk melakukan ini sesuai permintaan.
kenwarner
2
Berikut adalah pos tentang cara melacak saat diminta. dvanderboom.wordpress.com/2008/03/21/…
Jerry
Jika Anda memiliki banyak file yang terbuka, itu dapat membunuh VS (tanpa peringatan) jika Anda melakukan hal-hal seperti 'Tutup semua kecuali ini' (dari PowerCommands, saya pikir).
Benjol
Resharper membuat kebutuhan ini berlebihan karena Anda dapat melakukan Shift + Alt + L untuk melompat langsung ke file saat ini di Solution Explorer; atau Ctrl + Shift + N untuk mencari kata kunci untuk file apa pun di Solusi.
cbp
9

Saya tidak yakin apakah itu "tersembunyi", tetapi tidak banyak orang tahu tentang hal itu - pseudoregister . Sangat berguna saat debugging, saya sudah @ERR, jam di jendela arloji saya sepanjang waktu.

yrp
sumber
1
Saya pernah mendengar @xxx dihapus dari $ xxx. FWIW, WinDbg juga menggunakan formulir $ xxx.
Constantin
Tidak bisakah kau melakukan "jam, jam" di jendela arloji? Saya sudah menggunakannya sejak VC6 ...
LarryF
Luar biasa. Seperti yang disarankan artikel yang ditautkan, pengaturan breakpoint bersyarat pada @TIB akan secara drastis menyederhanakan proses debug aplikasi multithreaded.
j_random_hacker
9

Ctrl-Minus, Ctrl-Plus, menavigasi maju dan mundur ke tempat Anda baru-baru ini (hanya file yang terbuka).

Ilya Ryzhenkov
sumber
Yap, CINTA ini- gunakan setiap hari.
MaseBase
Sangat berguna jika Anda menekan F + 12 untuk pergi ke definisi dan kemudian ingin kembali ke tempat Anda berada.
Thomas Bratt
9

Saya tidak sering menggunakannya, tapi saya suka:

ctrl-alt + mouse select

Untuk memilih di blok persegi panjang, untuk 'memblokir' batas.

Seperti disebutkan dalam komentar,

alt + mouse select

Apakah hanya blok persegi panjang polos.

Sutra Siang
sumber
4
Downvote lucu, mengingat bahwa ini adalah tindakan yang valid di VS :) Namun, semoga sukses bagi Anda, pembenci misterius.
Noon Silk
2
Mungkin agak awal, tetapi membaca ini membuat saya ingin mencobanya di Firefox. Ternyata, ctrl-alt-shift memungkinkan Anda menggunakan mouse untuk menyeret seluruh dokumen di layar, mirip dengan cara kerja dokumen PDF.
KdgDev
Apa bedanya dengan alt + mouse select?
Guffa
Guffa: Ini hanya untuk memblokir akhir. alt-select memungkinkan Anda memilih area apa pun yang mengandung apa pun. Mereka berbeda.
Noon Silk
Meskipun saya pikir itu bisa saja 'ctrl-alt', bukan 'bergeser' juga.
Noon Silk
9

Inilah sesuatu yang saya pelajari (untuk C #):

Anda dapat memindahkan kursor ke penjepit keriting pembuka dari penjepit keriting penutup dengan menekan Control +].

Saya belajar ini pada topik SO yang merupakan penipuan dari yang ini:

"Rahasia Tersembunyi" dari Visual Studio .NET debugger?

Jay Riggs
sumber
8

CTRL + Shift + U -> bagian yang disorot huruf besar. CTRL + U -> Huruf kecil bagian yang disorot Bagus untuk mendapatkan Pernyataan SQL saya terlihat tepat ketika menempatkan mereka ke dalam string query.

Juga berguna untuk kode yang Anda temukan online di mana SEMUANYA DI CAPS.

rampok
sumber
2
Sayang sekali mereka tidak memiliki opsi CamelCase CTRL + Shift ... :) Itu mungkin refactor # 1 yang saya lakukan ketika saya mengambil alih sebuah proyek ... Larry
LarryF
8

Tombol Mouse Tengah Klik pada tab editor menutup tab.

Kevin Driedger
sumber
1
Saya menggunakan ini sepanjang waktu ketika saya coding karena saya mencari kode dan kemudian menutupnya ("X" untuk menutup agak jauh).
Kevin Driedger
8

Untuk menampilkan potongan data apa pun sebagai "array" n-byte, gunakan sintaks berikut di jendela QuickWatch Visual Studio:

variable, n

Misalnya, untuk melihat variabel bernama fooarray 256-byte, masukkan ekspresi berikut di jendela QuickWatch:

foo, 256

Ini sangat berguna saat melihat string yang tidak diakhiri null atau data yang hanya dapat diakses melalui pointer. Anda dapat menggunakan jendela Memori Visual Studio untuk mencapai hasil yang serupa, tetapi menggunakan jendela QuickWatch seringkali lebih nyaman untuk pemeriksaan cepat.

Emerick Rogul
sumber