Jest to funkcja, do której przyzwyczaiłem się w Eclipse ( Ctrl+ Tab). Czy istnieje odpowiednik w programie Visual C ++?
Jest to funkcja, do której przyzwyczaiłem się w Eclipse ( Ctrl+ Tab). Czy istnieje odpowiednik w programie Visual C ++?
Odpowiedzi:
W programie Visual Studio 2013 i nowszych istnieje domyślny skrót klawiaturowy do tego: Ctrl+ K, Ctrl+ O (będziesz musiał przytrzymać Ctrl i wpisać ko, a następnie zwolnić Ctrl )
We wcześniejszych wersjach zobacz:
Visual Studio Macro do przełączania między plikami CPP i H.
lub
Alt + O
W programie Visual Studio 2013 domyślnym skrótem klawiaturowym jest Ctrl+ K, Ctrl+O
EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
Możesz dodać to makro do konfiguracji VS (poprzez Narzędzia -> Makra -> Eksplorator makr), a następnie przypisać do niego skrót klawiszowy (przez Narzędzia -> Opcje -> Środowisko -> Klawiatura).
Dopiero co go napisałem (chciałem tego spróbować od wieków!), Ale wydaje się, że jak dotąd działa, zarówno w VS2008, jak i VS2010.
Ponieważ jest to makro, możesz je edytować, aby zawierało dowolne reguły (np. Szukanie w innych folderach lub specjalne reguły nazewnictwa, jeśli masz pojedynczy nagłówek współużytkowany przez wiele plików cpp lub podobne).
Oto makro (jestem pewien, że mogłoby być lepiej napisane; nie jestem zaznajomiony z obiektami VS i tylko zrealizowane makra używały .Net mniej więcej w połowie pisania tego tekstu :)):
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
Oto (bardzo szeroki :)) zrzut ekranu pokazujący, jak powinien wyglądać edytor makr i okna dialogowe skrótów / opcji, aby pomóc tym, którzy ich nie znają:
Wypróbuj PhatStudio . To nic nie kosztuje i jest dostarczane z łatwym instalatorem.
ALT+ S= Przełączanie między plikiem nagłówkowym / plikiem źródłowym
ALT+ O= Otwórz plik (obsługuje natychmiastowe wyszukiwanie za pomocą wpisywania, jak menu Start w systemie Windows Vista / 7).
Wypróbuj Visual Assist, który ma między innymi tę funkcję:
Funkcjonalność przeglądania kodu - której częścią jest zamiana nagłówka / cpp - jest naprawdę dobra.
(Naprawdę oceniłem również jego funkcje inteligencji i refaktoryzacji, ale nie wszyscy, z którymi rozmawiałem, zgodzili się ze mną.)
EDYCJA: właśnie zapamiętane, wtyczka Nifty Solution również to robi - plus jeszcze inna rzecz podobna do Visual Assist, choć nic więcej - i są bezpłatne:
http://code.google.com/p/niftyplugins/
(Wtyczka Perforce gościa też jest świetna. Znacznie lepsza niż domyślny śmieć VSSCC).
W programie Visual Studio 2008 i 2010 możesz kliknąć prawym przyciskiem myszy plik .cpp i wybrać opcję Przejdź do pliku nagłówkowego ..., co przeniesie Cię w jednym kierunku. Z drugiej strony, jeśli klikniesz prawym przyciskiem myszy coś, co deklarujesz w nagłówku, i wybierzesz Przejdź do definicji, to przeniesie Cię w innym kierunku. Być może będziesz musiał przejść przez okno dialogowe rozwiązywania niejednoznaczności, jeśli wybierzesz konstruktora, ponieważ nazwa funkcji jest zgodna z nazwą klasy, ale jeśli wybierzesz cokolwiek innego, pójdziesz prosto, gdzie chcesz. Wiem, że jest to metoda dwóch kliknięć zamiast jednego naciśnięcia klawisza, ale robi to, co chcesz.
Jeśli najedziesz kursorem myszy na deklarację funkcji w nagłówku i naciśniesz F12, plik cpp zostanie otwarty w definicji pliku cpp ... Używam tej funkcji bardzo często!
Nie widzę tutaj tej odpowiedzi, ale przynajmniej w Visual Studio 2012 (w zestawie Express!) Możesz po prostu przypisać własne polecenie klawiaturowe, aby przejść do pliku nagłówkowego (UWAGA: działa tylko w jedną stronę - nie możesz iść niestety wróć do pliku źródłowego ...)
Nie jestem pewien, w których wersjach VS to działa, ale nie wymaga żadnych dodatków i wydaje się, że działa przynajmniej w jednym kierunku.
Spróbuj użyć Switcha - to dodatek, który umożliwia przechodzenie między kodem źródłowym a nagłówkiem, kodem i projektantem, XAML i za kodem itp. Itp.
http://www.dwmkerr.com/switch/ lub bezpośrednio z Products and Extensions for Visual Studio
Na forum pomocy technicznej Whole Tomato znajduje się również makro, które ma jeszcze kilka mapowań plików.
W przypadku programu Visual Studio 2013, jak wspominali inni, jest to polecenie o nazwie:
EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
i ma jako domyślną kombinację klawiszy: Ctrl+ K, Ctrl+ O, ale można ją zmienić, jeśli wprowadzisz nową kombinację klawiszy, którą lubisz w
Naciśnij klawisze skrótu:
pod
Narzędzia -> Opcje -> Środowisko -> Klawiatura .
Możesz więc wybrać niestandardową kombinację klawiszy, ponieważ moim ulubionym przełącznikiem .h do .cpp jest Ctrl+ Tab.
W Visual Studio 2008 to Alt+ O.
W swojej (nie) skończonej mądrości firma MS zdecydowała się usunąć makra w MSVS 2012, więc powyższe makro nie będzie działać.
W przypadku MSVS 2012 znalazłem to:
http://www.dwmkerr.com/switch/
Jest wysoce konfigurowalny + jeśli chcesz pomóc go ulepszyć, możesz to zrobić na GitHub.
W Visual Studio 2013 to ALT
+O