Answers:
在Visual Studio 2013和更高版本中,有一个默认的键盘快捷键用于:Ctrl+ K,Ctrl+ O (您需要按住Ctrl并键入ko,然后释放Ctrl)
在早期版本中,请参阅:
要么
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交换是其中的一部分)非常好。
(我也确实对其智能感知和重构功能进行了评分,但并不是所有与我交谈过的人都同意我的看法。)
编辑:刚刚记得,Nifty解决方案插件也可以做到这一点-加上类似Visual Assist的另一种方便的东西,尽管没有别的什么-它们是免费的:
http://code.google.com/p/niftyplugins/
(这个家伙的perforce插件也很棒。比默认的VSSCC垃圾要好得多。)
如果将鼠标置于标头中的函数声明上并按F12,则cpp文件将在cpp文件的定义处打开...我广泛使用此功能!
我在这里看不到这个答案,但是至少在Visual Studio 2012(包括Express!)中,您可以分配自己的键盘命令以转到头文件(注意:只有一种方式-您不能不幸的是回到源文件...)
不知道它可以在哪个版本的VS中运行,但是它不需要任何加载项,并且似乎在至少一个方向上可以解决问题。
尝试使用Switch-这是一个插件,可让您在源代码和标头,代码和设计器,XAML和代码隐藏等之间滑动:
在Whole Tomato支持论坛上还列出了一个宏,其中包含一些其他文件映射。
MS用自己的(有限的)智慧决定在MSVS 2012中删除宏,因此上面的宏不起作用。
对于MSVS 2012,我发现了这一点:
http://www.dwmkerr.com/switch/
它是高度可配置的+如果您想帮助改进它,可以在GitHub上进行。
在Visual Studio 2013中,它是ALT
+O