VC ++ 'da başlık ve kaynak dosya arasında hareket etmek için bir kısayol var mı?


112

Bu, Eclipse'de ( Ctrl+ Tab) alışkın olduğum bir özellik . Visual C ++ 'da bir eşdeğeri var mı?



@ LưuVĩnhPhúc Eclipse'de bir başlık veya kaynak kodundayken, Alt-Tab tuşuna basın ve Eclipse, projeyi düzgün bir şekilde dizine aldığınızı varsayarak kaynak ve başlık arasında geçiş yapmalıdır.
MrMas

Yanıtlar:


138

Visual Studio 2013 ve sonrası için bu için varsayılan klavye kısayolu vardır: Ctrl+ K, Ctrl+ O (Sen basılı gerekecektir Ctrl ve yazın ko ardından serbest Ctrl )

Önceki versiyonlarda, bakınız:

CPP ve H dosyaları arasında geçiş yapmak için Visual Studio Makro

veya

Karşılık Gelen Dosyayı Visual Assist'te Aç


2
Visual Assist harika bir araçtır - MSVC kullanan tüm geliştiriciler için tavsiye ederim
Stephen Nutt

10
Tembel VisualAssist kullanıcıları için:Alt + O
nimcap

2
VS2013 için bir çözümü olan var mı?
Shaun Rowan


3
Tamam, benim hatam. Ctrl + K & Ctrl + O'nun aslında TEK bir kısayol komutu olduğunu fark etmemiştim; aynı iki seçenek değil. VS'ye yeni başlayanlar için cevapta bahsetmeye değer :)
Petr Peller

31

Visual Studio 2013'te bunun için varsayılan klavye kısayolu Ctrl+ K, Ctrl+O


benim için çalışmıyor. 2013 Community Edition. Genel Ayarlar. Özelleştir / Klavye penceresindeki commad adı nedir?
Jurlie

12
Komut adı:EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
codekaizen

24

Bu makroyu VS yapılandırmanıza (Araçlar -> Makrolar -> Makro Gezgini aracılığıyla) ekleyebilir ve ardından ona bir kısayol tuşu atayabilirsiniz (Araçlar -> Seçenekler -> Ortam -> Klavye aracılığıyla).

Sadece yazdım (bunu uzun zamandır denemek istiyordum!) Ama şimdiye kadar hem VS2008 hem de VS2010'da çalışıyor gibi görünüyor.

Bir makro olduğu için, istediğiniz kuralları içerecek şekilde düzenleyebilirsiniz (örneğin, başka klasörlere bakmak veya birden fazla cpp dosyası veya benzeri tarafından paylaşılan tek bir başlığınız varsa özel adlandırma kuralları).

İşte makro (eminim daha iyi yazılabilir; VS nesnelerine aşina değilim ve sadece makroların bir şeyi yazarken yarı yolda .Net kullandığını fark ettim :)):

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

İşte, aşina olmayanlara yardımcı olmak için makro düzenleyicinin ve kısayol tuşu / seçenekler iletişim kutularının nasıl görünmesi gerektiğini gösteren (çok geniş :)) bir ekran görüntüsü:

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


1
Başka bir favori VS makro numarası: Hata ayıklayıcıyı her zaman üzerinde çalıştığınız exe'ye eklemek için bir makro kaydedin, ardından bunu araç çubuğuna yapıştırın. Hata ayıklamanız gerektiğinde, çalışan işleme tek tıklamayla ek.
Leo Davidson

vay bu harika! Nifty Solutions Eklentisinden daha iyi çalışıyor, çünkü Eklenti yalnızca .h ve .cpp arasında geçiş yapabiliyor,
.hpp'den .cpp'ye geçmiyor

Ama makroyu nereye koymalı? Bazı nedenlerden dolayı VS2010'umda zaten bir "Module1" makrosu var ... bu yüzden düzenlemek için çift tıkladım ve makro kodunu "Public Module Module1" içine ekledim. Oradan Araçlar => Seçenekler => Ortam => Klavye, Metin Düzenleyicide bir kısayol oluşturmak için.
Qwertie

Mükemmel, test edilmiş ve çalışıyor. Kasım 2010'da gönderilen cevap - Temmuz 2012'de hala çalışıyor. Mükemmel!
rptr

1
Alex: Makrolar, Visual Studio için geneldir. Bunlar "makro projeler" olarak kaydedilir (makro gruplarını kaydetmenize ve yüklemenize izin verir) ancak söyleyebileceğim kadarıyla bunlar olağan çözüm / proje türü ile ilgisizdir. Herhangi bir çözümü veya projeyi açmadan önce (ve sonra) mevcut olan varsayılan makro projesinde tanımlanmış birkaç makro var.
Leo Davidson

9

PhatStudio'yu deneyin . Ücretsizdir ve kolay bir yükleyiciyle birlikte gelir.

  • ALT+ S= Başlık / kaynak dosyası arasında geçiş yap

  • ALT+ O= Bir dosya açın (Windows Vista / 7'deki başlat menüsü gibi yazarak anında aramayı destekler).


Teşekkürler, bu grubun en kolay çözümü ve aynı zamanda ücretsiz.
Russell Davis

8

Bu özelliği destekleyen Visual Assist'i deneyin (diğerlerinin yanı sıra):

http://www.wholetomato.com/

Başlık / cpp takasının bir parçası olduğu kod tarama işlevi gerçekten iyi.

(Zeka ve yeniden düzenleme özelliklerini de gerçekten derecelendirdim, ancak konuştuğum herkes benimle aynı fikirde değil.)

DÜZENLEME: Hatırladığım kadarıyla, Nifty Solution Plugin de bunu yapıyor - artı başka bir kullanışlı Visual Assist benzeri şey, başka hiçbir şey olmasa da - ve ücretsizler:

http://code.google.com/p/niftyplugins/

(Adamın performans eklentisi de harika. Varsayılan VSSCC çöplüğünden çok daha iyi.)


Visual Assist'e bir göz atacağım. Sadece .NET dilleri için olduğunu varsaydım.
Nate

5

Visual Studio 2008 ve 2010'da, .cpp dosyanıza sağ tıklayabilir ve sizi bir yöne götürecek Başlık Dosyasına Git ... öğesini seçebilirsiniz. Diğer yön için, başlıkta bildirdiğiniz bir şeye sağ tıklarsanız ve Tanıma Git'i seçerseniz, bu sizi diğer yöne götürür. Yapıcıyı seçerseniz belirsizlik çözümleme diyaloğundan geçmeniz gerekebilir çünkü işlev adı sınıf adıyla eşleşir, ancak başka bir şey seçerseniz, istediğiniz yere doğrudan gidebilirsiniz. Bunun tek tuş vuruşu yerine iki tıklamalı bir yaklaşım olduğunu biliyorum, ancak istediğinizi yapıyor.


5

Farenizi başlıktaki bir işlev bildiriminin üzerine getirip F12 tuşuna basarsanız, cpp dosyası cpp dosyasının tanımında açılacaktır ... Bu özelliği yoğun bir şekilde kullanıyorum!


5

Bu cevabı burada görmüyorum, ancak en azından Visual Studio 2012'de (Express dahil!), Başlık dosyasına gitmek için kendi klavye komutunuzu atayabilirsiniz (NOT: Yalnızca tek yöne gider - gidemezsiniz kaynak dosyaya geri dön maalesef ...)

  1. Araçlar / Seçenekler / Ortam / Klavye'ye gidin.
  2. Aşağıdaki komutu bulun: EditorContextMenus.CodeWindow.GoToHeaderFile
  3. İstediğiniz tuş kombinasyonunu atayın (Alt-S çalışır)
  4. kâr

Bunun hangi VS sürümlerinde çalıştığından emin değilim, ancak herhangi bir eklenti gerektirmiyor ve hile en az bir yönde yapıyor gibi görünüyor.


Visual Studio 2013'te EditorContextMenus.CodeWindow.ToggleHeaderCodeFile adında, tam olarak bunu yapan, .h ve .cpp dosyaları arasında geçiş yapan bir komut vardır.
Jaanus Varus


3

Bunu yaptığım için Görsel Yardım hayranıyım. Ucuz değil, ancak başlık ve kaynak arasında geçiş yapmaktan çok daha fazla işlevsellik sağlar. Açık dosyasını proje ve sınıf tarama özelliklerinde de çok kullanıyorum. Tabii ki makro bedava ...



2

Visual Studio 2013 için, başkalarının da bahsettiği gibi bu, şu adda komuttur:

EditorContextMenus.CodeWindow.ToggleHeaderCodeFile

ve varsayılan olarak tuş kombinasyonu vardır: Ctrl+ K, Ctrl+ O, ancak istediğiniz yeni tuş kombinasyonunu girerseniz değiştirilebilir.

Kısayol tuşlarına basın:

altında

Araçlar -> Seçenekler -> Ortam -> Klavye .

Böylece .h - .cpp arasında en sevdiğim anahtar Ctrl+ olduğu için özel bir tuş kombinasyonu seçebilirsiniz Tab.


1

Görsel yardım ayrıca Visual Studio ekspres sürümlerini desteklemez. Dolayısıyla, bu IDE'yi kullanıyorsanız makroya takılı kalırsınız>


0

Visual Studio 2008'de Alt+ O.


8
Visual Assist'in kurulu olması gerekir - bu, Visual Assist komutunun tuş bağlamadır.
sean ve

0

MS, sonlu bilgeliğiyle, MSVS 2012'de makroları kaldırmaya karar verdi, böylece yukarıdaki makro çalışmayacak.

MSVS 2012 için şunu buldum:

http://www.dwmkerr.com/switch/

Son derece yapılandırılabilir +, iyileştirmeye yardımcı olmak istiyorsanız, bunu GitHub'da yapabilirsiniz.


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.