Ini adalah fitur yang biasa saya gunakan di Eclipse ( Ctrl+ Tab). Apakah ada kesamaan dalam Visual C ++?
Ini adalah fitur yang biasa saya gunakan di Eclipse ( Ctrl+ Tab). Apakah ada kesamaan dalam Visual C ++?
Jawaban:
Di Visual Studio 2013 dan yang lebih baru, ada pintasan keyboard default untuk ini: Ctrl+ K, Ctrl+ O (Anda perlu menahan Ctrl dan ketik ko lalu lepaskan Ctrl )
Di versi sebelumnya, lihat:
Visual Studio Macro untuk beralih antara file CPP dan H.
atau
Alt + O
Dalam Visual Studio 2013 pintasan keyboard default untuk ini adalah Ctrl+ K, Ctrl+O
EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
Anda dapat menambahkan makro ini ke konfigurasi VS Anda (melalui Tools -> Macros -> Macro Explorer) kemudian menetapkan hotkey ke dalamnya (melalui Tools -> Options -> Environment -> Keyboard).
Saya baru saja menulisnya (sudah lama ingin mencoba ini!) Tetapi tampaknya berhasil sejauh ini, di VS2008 dan VS2010.
Karena ini makro, Anda dapat mengeditnya untuk menyertakan aturan apa pun yang Anda inginkan (mis. Mencari di folder lain, atau aturan penamaan khusus jika Anda memiliki satu header yang digunakan bersama oleh beberapa file cpp atau serupa).
Berikut makro (saya yakin itu bisa lebih baik ditulis; Saya tidak terbiasa dengan objek VS dan hanya menyadari makro yang menggunakan .Net sekitar setengah jalan melalui penulisannya :)):
Sub FileSwitch()
Try
Dim CurrentPath As String = DTE.ActiveDocument.FullName
Dim OtherPath As String
If (IO.Path.HasExtension(CurrentPath)) Then
Dim CurrentExtension As String = IO.Path.GetExtension(CurrentPath)
Select Case CurrentExtension
Case ".h", ".hpp", ".hxx"
OtherPath = IO.Path.ChangeExtension(CurrentPath, ".cpp")
If (Not IO.File.Exists(OtherPath)) Then
OtherPath = IO.Path.ChangeExtension(CurrentPath, ".c")
If (Not IO.File.Exists(OtherPath)) Then
OtherPath = IO.Path.ChangeExtension(CurrentPath, ".cxx")
End If
End If
Case ".cpp", ".c", ".cxx"
OtherPath = IO.Path.ChangeExtension(CurrentPath, ".h")
If (Not IO.File.Exists(OtherPath)) Then
OtherPath = IO.Path.ChangeExtension(CurrentPath, ".hpp")
If (Not IO.File.Exists(OtherPath)) Then
OtherPath = IO.Path.ChangeExtension(CurrentPath, ".hxx")
End If
End If
Case Else
End Select
If (OtherPath <> Nothing) Then
DTE.ItemOperations.OpenFile(OtherPath)
End If
End If
Catch ex As System.Exception
MsgBox(ex.Message)
End Try
End Sub
Berikut tangkapan layar (sangat luas :)) yang menunjukkan seperti apa editor makro dan dialog hotkey / opsi, untuk membantu mereka yang tidak terbiasa dengannya:
Coba PhatStudio . Ini gratis dan dilengkapi dengan penginstal yang mudah.
ALT+ S= Beralih di antara file header / sumber
ALT+ O= Buka file (mendukung pencarian instan melalui pengetikan, seperti menu mulai di Windows Vista / 7).
Cobalah Visual Assist, yang menampilkan fitur ini (antara lain):
Fungsi penjelajahan kode - di mana header / cpp swap adalah salah satu bagiannya - sangat bagus.
(Saya juga benar-benar menilai fitur intellisense dan refactoring-nya, tetapi tidak semua orang yang saya ajak bicara setuju dengan saya.)
EDIT: baru saja diingat, Plugin Solusi Nifty juga melakukan ini - ditambah hal lain yang mirip Visual Assist, meskipun tidak ada yang lain - dan gratis:
http://code.google.com/p/niftyplugins/
(Plugin perforce pria itu bagus juga. Jauh lebih baik daripada sampah VSSCC default.)
Dalam Visual Studio 2008 dan 2010, Anda dapat mengklik kanan pada file .cpp Anda dan memilih Go To Header File ... yang akan membawa Anda ke satu arah. Untuk arah lain, jika Anda mengklik kanan sesuatu yang Anda deklarasikan di header, dan memilih Go To Definition, itu akan membawa Anda ke arah lain. Anda mungkin harus melalui dialog resolusi ambiguitas jika Anda memilih konstruktor, karena nama fungsinya cocok dengan nama kelas, tetapi jika Anda memilih yang lain, Anda akan langsung menuju ke tempat yang Anda inginkan. Saya tahu ini adalah pendekatan dua klik, bukan satu penekanan tombol, tetapi melakukan apa yang Anda inginkan.
Jika Anda meletakkan mouse di atas deklarasi fungsi di header dan menekan F12, file cpp akan dibuka pada definisi file cpp ... Saya menggunakan fitur ini secara ekstensif!
Saya tidak melihat jawaban ini di sini, tetapi setidaknya di Visual Studio 2012 (termasuk Express!), Anda dapat menetapkan perintah keyboard Anda sendiri untuk masuk ke file header (CATATAN: Hanya berjalan satu arah - Anda tidak bisa pergi sayangnya kembali ke file sumber ...)
Tidak yakin versi VS mana yang berfungsi, tetapi tidak memerlukan add-in apa pun dan tampaknya melakukan trik setidaknya dalam satu arah.
Coba gunakan Switch - ini adalah addin yang memungkinkan Anda membolak-balik antara sumber dan header, kode dan desainer, XAML dan codebehind dll:
http://www.dwmkerr.com/switch/ atau langsung dari Produk dan Ekstensi untuk Visual Studio
Ada juga makro yang terdaftar di forum dukungan Tomat Utuh yang memiliki beberapa pemetaan file lagi.
Untuk Visual Studio 2013, seperti yang disebutkan oleh orang lain, itu adalah perintah bernama:
EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
dan memiliki kombinasi tombol default: Ctrl+ K, Ctrl+ O, tetapi dapat diubah jika Anda memperkenalkan kombinasi tombol baru yang Anda suka di
Tekan tombol pintas:
dibawah
Alat -> Opsi -> Lingkungan -> Keyboard .
Jadi Anda dapat memilih kombinasi tombol khusus sebagai favorit saya untuk sakelar .h ke .cpp adalah Ctrl+ Tab.
Dalam Visual Studio 2008, ini Alt+ O.
Dalam kebijaksanaannya yang terbatas, MS memutuskan untuk menghapus makro di MSVS 2012, sehingga makro di atas tidak akan berfungsi.
Untuk MSVS 2012, saya menemukan ini:
http://www.dwmkerr.com/switch/
Ini sangat dapat dikonfigurasi + jika Anda ingin membantu memperbaikinya, Anda dapat melakukannya di GitHub.
Dalam Visual Studio 2013 ini ALT
+O