Это особенность, к которой я привык в Eclipse (Ctrl + Tab). Есть ли эквивалент в Visual C++?
Есть ли ярлык для перемещения между заголовком и исходным файлом в VС++?
Ответ 1
В Visual Studio 2013 и более поздних версиях для этого есть комбинация клавиш по умолчанию: Ctrl + K, Ctrl + O (Вам нужно будет удерживать Ctrl и набрать ko, а затем отпустить Ctrl)
В более ранних версиях см.
Макрос Visual Studio для переключения между CPP и файлами H
или
Ответ 2
В Visual Studio 2013 по умолчанию для этого сочетания клавиш Ctrl + K, Ctrl + O
Ответ 3
Вы можете добавить этот макрос в свою конфигурацию VS (через Tools → Macros → Macro Explorer), затем назначьте ему горячую клавишу (через Tools → Options → Environment → Keyboard).
Я только что написал (было смысл попробовать это целую вечность!), но, похоже, он работает до сих пор, как в VS2008, так и VS2010.
Так как это макрос, вы можете отредактировать его, чтобы включить любые правила, которые вы хотите (например, смотреть в других папках или специальные правила именования, если у вас есть один заголовок, разделяемый несколькими файлами cpp или аналогичными).
Здесь макрос (я уверен, что его можно было бы лучше написать, я не знаком с VS-объектами, и только реализованные макросы использовали .Net примерно на полпути через письмо:)):
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
Вот скриншот (очень широкий:)), показывающий, как выглядят макрокоманды и диалоговые окна "горячие клавиши/параметры", чтобы помочь тем, кто не знаком с ними:
Ответ 4
Попробуйте визуальную помощь, которая поддерживает эту особенность (среди прочего):
Функциональность просмотра кода, из которой сводка заголовка /cpp является одной частью, действительно хороша.
(Я также действительно оценил его функции intellisense и рефакторинга, но не все, с кем я говорил, согласились со мной.)
EDIT: только что запомнилось, Nifty Solution Plugin также делает это - плюс еще одна ручная визуальная помощь, но ничего больше - и они бесплатны:
http://code.google.com/p/niftyplugins/
(Плагин man perforce тоже замечательный. Гораздо лучше, чем дефолтный мусор VSSCC.)
Ответ 5
Попробуйте PhatStudio. Он бесплатный и поставляется с простым установщиком.
-
ALT + S= Переключение между заголовком/исходным файлом
-
ALT + O= Открыть файл (поддерживает мгновенный поиск по набору текста, например, в меню "Пуск" в Windows Vista/7).
Ответ 6
В Visual Studio 2008 и 2010 вы можете щелкнуть правой кнопкой мыши в своем .cpp файле и выбрать "Go To Header File...", который приведет вас в одном направлении. В другом направлении, если вы щелкните правой кнопкой мыши то, что вы объявляете в заголовке, и выберите "Перейти к определению", это приведет вас в другое направление. Возможно, вам придется пройти диалог диагноза двусмысленности, если вы выберете конструктор, потому что имя функции соответствует имени класса, но если вы выберете что-нибудь еще, вы пойдете прямо туда, где хотите. Я знаю, что это подход с двумя щелчками, а не одно нажатие клавиши, но он делает то, что вы хотите.
Ответ 7
Я не вижу здесь этого ответа, но, по крайней мере, в Visual Studio 2012 (Express включен!), вы можете просто назначить свою собственную команду клавиатуры, чтобы перейти в заголовочный файл (ПРИМЕЧАНИЕ: идет только в одну сторону - вы можете К сожалению, вернуться к исходному файлу...)
- Перейдите в раздел "Инструменты/Параметры/Среда/Клавиатура".
- Найдите следующую команду: EditorContextMenus.CodeWindow.GoToHeaderFile
- Назначьте любую комбинацию клавиш, которую вы хотите (Alt-S работает)
- Profit
Не знаете, в каких версиях VS это работает, но он не требует надстройки и, кажется, делает трюк хотя бы в одном направлении.
Ответ 8
Если вы поместите указатель мыши на объявление функции в заголовке и нажмите F12, файл cpp будет открыт при определении файла cpp... Я использую эту функцию широко!
Ответ 9
Попробуйте использовать Switch - это добавление, которое позволяет вам перемещаться между источником и заголовком, кодом и дизайнером, XAML и codebehind и т.д. и т.д.:
http://www.dwmkerr.com/switch/ или непосредственно из Продукты и расширения для Visual Studio
Ответ 10
Я поклонник Visual Assist для этого. Его не дешево, но он обеспечивает гораздо больше функциональности, чем переключение между заголовком и источником. Я также широко использую его открытый файл в проектах и классах. Конечно, макрос свободен...
Ответ 11
Также существует макрос указанный на форуме поддержки всего томата, в котором есть еще несколько сопоставлений файлов.
Ответ 12
Visual Assist также не поддерживает экспресс-редакцию Visual Studio. Таким образом, вы застряли в макросе, если используете эту среду IDE >
Ответ 13
Для Visual Studio 2013, как упоминалось другими, это команда с именем:
EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
и он имеет комбинацию клавиш по умолчанию: Ctrl + K, Ctrl + O, но его можно изменить, если ввести новую комбинацию клавиш, которые вам нравятся в
Нажмите сочетания клавиш:
под
Инструменты → Параметры → Среда → Клавиатура.
Итак, вы можете выбрать комбинацию пользовательских клавиш, так как мой любимый для .h к .cpp-переключателю Ctrl + Tab.
Ответ 14
В Visual Studio 2008 он Alt + O.
Ответ 15
В своей (конечной) мудрости MS решила удалить макросы в MSVS 2012, поэтому макрос выше не будет работать.
Для MSVS 2012 я нашел это:
http://www.dwmkerr.com/switch/
Он очень настраивается +, если вы хотите помочь его улучшить, вы можете сделать это на GitHub.
Ответ 16
В Visual Studio 2013 это ALT
+ O