Это функция, к которой я привык в Eclipse ( Ctrl+ Tab). Есть ли эквивалент в Visual C ++?
Это функция, к которой я привык в Eclipse ( Ctrl+ Tab). Есть ли эквивалент в Visual C ++?
Ответы:
В Visual Studio 2013 и более поздних версиях для этого есть сочетание клавиш по умолчанию: Ctrl+ K, Ctrl+ O (вам нужно будет удерживать Ctrl и ввести ko, а затем отпустить Ctrl )
В более ранних версиях см .:
Макрос Visual Studio для переключения между файлами CPP и H
или
Alt + O
В Visual Studio 2013 сочетание клавиш по умолчанию для этого - Ctrl+ K, Ctrl+O
EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
Вы можете добавить этот макрос в свою конфигурацию VS (через Инструменты -> Макросы -> Проводник макросов), а затем назначить ему горячую клавишу (через Инструменты -> Параметры -> Среда -> Клавиатура).
Я только что написал это (давно хотел попробовать!), Но, похоже, до сих пор он работает как в 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
Вот (очень широкий :)) снимок экрана, показывающий, как должны выглядеть редактор макросов и диалоги горячих клавиш / параметров, чтобы помочь тем, кто с ними не знаком:
Попробуйте PhatStudio . Это бесплатно и поставляется с простым установщиком.
ALT+ S= Переключение между заголовком / исходным файлом
ALT+ O= Открыть файл (поддерживает мгновенный поиск с помощью набора текста, как в меню «Пуск» в Windows Vista / 7).
Попробуйте Visual Assist, в котором есть эта функция (среди прочего):
Функциональность просмотра кода, частью которой является своп заголовка / cpp, действительно хороши.
(Я также действительно оценил его функции intellisense и рефакторинга, но не все, с кем я разговаривал, со мной согласились.)
РЕДАКТИРОВАТЬ: только что вспомнил, плагин Nifty Solution также делает это - плюс еще одна удобная вещь, похожая на Visual Assist, но ничего больше - и они бесплатны:
http://code.google.com/p/niftyplugins/
(Плагин этого парня тоже великолепен. Намного лучше, чем мусор VSSCC по умолчанию.)
В Visual Studio 2008 и 2010 вы можете щелкнуть правой кнопкой мыши в файле .cpp и выбрать «Перейти к файлу заголовка ...», что приведет вас в одном направлении. В другом направлении, если вы щелкните правой кнопкой мыши то, что объявляете в заголовке, и выберите «Перейти к определению», это приведет вас в другом направлении. Возможно, вам придется пройти через диалоговое окно разрешения неоднозначности, если вы выберете конструктор, потому что имя функции совпадает с именем класса, но если вы выберете что-нибудь еще, вы пойдете прямо туда, куда хотите. Я знаю, что это подход с двумя щелчками мыши, а не с одним нажатием клавиши, но он делает то, что вы хотите.
Если вы наведите указатель мыши на объявление функции в заголовке и нажмите F12, файл cpp откроется при определении файла cpp ... Я широко использую эту функцию!
Я не вижу здесь этого ответа, но, по крайней мере, в Visual Studio 2012 (включая Express!) Вы можете просто назначить свою собственную команду клавиатуры для перехода к файлу заголовка (ПРИМЕЧАНИЕ: идет только в одну сторону - вы не можете пойти к сожалению, к исходному файлу ...)
Не уверен, в каких версиях VS это работает, но для этого не нужны надстройки и, похоже, это помогает хотя бы в одном направлении.
Попробуйте использовать Switch - это надстройка, которая позволяет переключаться между источником и заголовком, кодом и дизайнером, XAML и выделенным кодом и т. Д .:
http://www.dwmkerr.com/switch/ или напрямую из продуктов и расширений для Visual Studio
На форуме поддержки Whole Tomato также есть макрос, в котором есть еще несколько сопоставлений файлов.
Для Visual Studio 2013, как упоминалось другими, это команда с именем:
EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
и по умолчанию он имеет комбинацию клавиш: Ctrl+ K, Ctrl+ O, но ее можно изменить, если вы введете новую комбинацию клавиш, которая вам нравится, в
Нажмите сочетания клавиш:
под
Инструменты -> Параметры -> Среда -> Клавиатура .
Таким образом, вы можете выбрать произвольную комбинацию клавиш, поскольку мой любимый переключатель .h в .cpp - Ctrl+ Tab.
В Visual Studio 2008 это Alt+ O.
В своей (не) конечной мудрости MS решила удалить макросы в MSVS 2012, поэтому макрос выше не будет работать.
Для MSVS 2012 я нашел это:
http://www.dwmkerr.com/switch/
Он легко настраивается + если вы хотите помочь улучшить его, вы можете сделать это на GitHub.
В Visual Studio 2013 это ALT
+O