在VC ++中是否有在标题和源文件之间移动的快捷方式?

时间:2010-04-08 19:10:14

标签: visual-c++ keyboard-shortcuts

这是我在Eclipse中习惯使用的一个功能( Ctrl + Tab )。 Visual C ++中是否有等价的东西?

16 个答案:

答案 0 :(得分:120)

在Visual Studio 2013及更高版本中,有一个默认的键盘快捷键: Ctrl + K Ctrl + O < / KBD> (您需要按住 Ctrl 并键入 ko ,然后释放 Ctrl

在早期版本中,请参阅:

Visual Studio Macro to switch between CPP and H files

Open Corresponding File in Visual Assist

答案 1 :(得分:28)

在Visual Studio 2013中,默认键盘快捷键为 Ctrl + K Ctrl + O < / p>

答案 2 :(得分:24)

您可以将此宏添加到您的VS配置(通过工具 - &gt;宏 - &gt;宏浏览器),然后为其分配一个热键(通过工具 - &gt;选项 - &gt;环境 - &gt;键盘)。

我只是写了它(意思是试多久这个!)但到目前为止它似乎在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

这是一个(非常宽:))截图,显示宏编辑器和热键/选项对话框应该是什么样的,以帮助那些不熟悉它们的人:

enter image description here

答案 3 :(得分:8)

尝试使用Visual Assist,它具有以下功能(以及其他功能):

http://www.wholetomato.com/

代码浏览功能 - 其中header / cpp swap是其中一部分 - 非常好。

(我也非常评价其智能感知和重构功能,但并非所有与我交谈的人都同意我的观点。)

编辑:记得,Nifty解决方案插件也是这样做的 - 再加上另一个像Visual Assist这样的东西,尽管没别的 - 而且它们是免费的:

http://code.google.com/p/niftyplugins/

(这个家伙的perforce插件也很棒。比默认的VSSCC垃圾要好得多。)

答案 4 :(得分:8)

试试PhatStudio。它是免费的,并配有一个简单的安装程序。

  • ALT + S =在标题/源文件之间切换

  • ALT + O =打开文件(通过输入支持即时搜索,如Windows Vista / 7中的开始菜单)。

    < / LI>

答案 5 :(得分:5)

在Visual Studio 2008和2010中,您可以右键单击.cpp文件并选择“转到页眉文件...”,它将带您朝一个方向前进。对于另一个方向,如果右键单击标题中正在声明的内容,并选择“转到定义”,则会转到另一个方向。如果选择构造函数,则可能必须通过歧义解析对话框,因为函数名称与类名匹配,但如果您选择其他任何内容,则可以直接转到所需的位置。我知道这是一个双击方法,而不是一次击键,但它确实做你想要的。

答案 6 :(得分:5)

我在这里没有看到这个答案,但至少在Visual Studio 2012(Express包括!)中,你可以只分配自己的键盘命令来转到头文件(注意:只有一种方式 - 你可以不幸的是,不要回到源文件......)

  1. 转到工具/选项/环境/键盘。
  2. 找到以下命令:EditorContextMenus.CodeWindow.GoToHeaderFile
  3. 分配您想要的任何组合键(Alt-S可以工作)
  4. 利润
  5. 不确定哪个版本的VS可以使用,但它不需要任何加载项,并且似乎至少在一个方向上做了这个技巧。

答案 7 :(得分:4)

如果将鼠标放在标题中的函数声明上并按F12,cpp文件将在cpp文件的定义中打开...我广泛使用此功能!

答案 8 :(得分:4)

尝试使用Switch - 它是一个插件,可让您轻松浏览源代码和标头,代码和设计器,XAML和代码隐藏等等:

http://www.dwmkerr.com/switch/或直接来自Products and Extensions for Visual Studio

答案 9 :(得分:3)

我是Visual Assist的粉丝。它并不便宜,但它提供了比在标头和源之间切换更多的功能。我也在项目和类浏览功能中使用它的开放文件很多。当然宏是免费的......

答案 10 :(得分:2)

还有一个macro listed on the Whole Tomato support forum,它还有一些文件映射。

答案 11 :(得分:1)

Visual Assistance也不支持Visual Studio Express版本。因此,如果您使用的是IDE&gt;

,那么您将无法使用宏

答案 12 :(得分:1)

对于Visual Studio 2013,正如其他人所提到的那样,命令名为:

EditorContextMenus.CodeWindow.ToggleHeaderCodeFile

它有默认的键组合: Ctrl + K Ctrl + O ,但它如果您在

中引入了您喜欢的新组合键,则可以更改

按快捷键:

工具 - &gt;选项 - &gt;环境 - &gt;键盘

所以你可以选择一个自定义键组合作为我最喜欢的.h到.cpp开关是 Ctrl + Tab

答案 13 :(得分:0)

在Visual Studio 2008中,它是 Alt + O

答案 14 :(得分:0)

在他们(有限)的智慧中,MS决定删除MSVS 2012中的宏,因此上面的宏将不起作用。

对于MSVS 2012,我发现了这个:

http://www.dwmkerr.com/switch/

它是高度可配置的+如果你想帮助改进它,你可以在GitHub上这样做。

答案 15 :(得分:0)

在Visual Studio 2013中,它是ALT + O