Це особливість, до якої я звик у Eclipse ( Ctrl+ Tab). Чи є еквівалент у Visual C ++?
Це особливість, до якої я звик у Eclipse ( Ctrl+ Tab). Чи є еквівалент у Visual C ++?
Відповіді:
У Visual Studio 2013 та пізніших версіях для цього існує ярлик клавіатури за замовчуванням: Ctrl+ K, Ctrl+ O (Вам потрібно буде утримувати Ctrl і ввести ko, а потім відпустити Ctrl )
У попередніх версіях див.
Visual Studio Macro для переключення між CPP і H файлами
або
Alt + O
У Visual Studio 2013 комбінація клавіш за замовчуванням для цього - Ctrl+ K, Ctrl+O
EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
Ви можете додати цей макрос до конфігурації VS (через Інструменти -> Макроси -> Макропровідник), а потім призначити йому гарячу клавішу (через Інструменти -> Параметри -> Навколишнє середовище -> Клавіатура).
Я тільки що написав це (маю на увазі спробувати це на віки!), Але, здається, він працює поки що, як у VS2008, так і в VS2010.
Оскільки це макрос, ви можете редагувати його так, щоб він включав будь-які правила, які ви хочете (наприклад, переглядаючи інші папки або спеціальні правила іменування, якщо у вас є один заголовок, який спільний для декількох файлів cpp чи подібних).
Ось макрос (я впевнений, що він міг бути краще написаний; я незнайомий з об'єктами VS і використовував лише реалізовані макроси. Приблизно на півдорозі написання речі :)):
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 - справді хороша.
(Я також дійсно оцінив його функції інтелісценції та рефакторингу, але не всі, з ким я говорив, погодилися зі мною.)
EDIT: щойно пам’ятаєте, плагін 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 to .cpp перемикача Ctrl+ Tab.
У Visual Studio 2008 це Alt+ O.
У своїй (не) обмеженій мудрості MS вирішили видалити макроси в MSVS 2012, тому макрос вище не працюватиме.
Для MSVS 2012 я виявив таке:
http://www.dwmkerr.com/switch/
Це дуже налаштовано + якщо ви хочете допомогти вдосконалити його, ви можете зробити це на GitHub.
У Visual Studio 2013 це ALT
+O