在VC++的头文件和源文件之间是否有快捷方式?

在VC++的头文件和源文件之间是否有快捷方式?

问题描述:

这是我在Eclipse中习以为常的功能(alt-tab)。在Visual C++中是否有等价物?在VC++的头文件和源文件之间是否有快捷方式?

+0

另请参见[this question](http://*.com/questions/4308828/in-visual-studio-2010-how-do-i-quickly-switch-from-ah-file-to-the-相关) – idbrii 2011-09-24 00:43:13

+0

alt + tab如何在文件之间切换? – 2014-08-26 11:47:58

+0

@LưuVĩnhPhúc如果您在Eclipse的头文件或源代码中,请按Alt-Tab,Eclipse会在源代码和头文件之间切换,假设您的项目已正确索引。 – MrMas 2016-04-15 15:20:49

在Visual Studio 2013和以后有这个默认的键盘快捷键:按Ctrl + ķ按Ctrl + Ø (你需要按住Ctrl键并键入KO然后松开按Ctrl

在早期版本中,请参阅:

Visual Studio Macro to switch between CPP and H files

Open Corresponding File in Visual Assist

+2

Visual Assist是一款出色的工具 - 我向所有使用MSVC的开发者推荐它 – 2010-04-09 00:56:23

+0

查看PhatStudio(请参阅[答案](http://*.com/q/7180519/278488))以获得更好的免费替代方案。 – 2011-11-27 02:31:20

+7

对于懒惰的VisualAssist用户:'Alt + O' – nimcap 2012-02-04 20:45:30

我的视觉风扇辅助这样做。它并不便宜,但它提供了比标题和源之间切换更多的功能。我也在项目和类浏览功能中使用它的开放文件。当然,宏是免费的...

还有一个macro listed on the Whole Tomato support forum其中有几个文件映射。

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

Visual assist也不支持Visual Studio快速版。所以,你被卡住的宏,如果您使用的是IDE>

在Visual Studio 2008是Alt键 + Ø

+8

您必须安装Visual Assist - 这是Visual Assist命令键绑定。 – 2010-10-31 16:00:09

如果您在页眉和按F12将鼠标在一个函数声明,cpp文件将在cpp文件的定义开...我使用这个功能广泛!

您可以将该宏添加到您的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 

这里的展示宏编辑器和热键/选项对话框中应该是什么样子,去帮助那些不熟悉他们(很宽的:))截图:

enter image description here

+0

完美,简单。 – Nate 2010-11-29 23:21:45

+1

另一个最喜欢的VS宏技巧:记录一个将调试器附加到您一直在使用的exe文件的宏,然后将其粘贴到工具栏上。无论何时需要调试时,只需单击一下即可连接到正在运行的进程。 – 2010-11-29 23:30:34

+0

哇,太棒了!比Nifty Solutions Plugin工作得更好,因为插件只能在.h和.cpp之间切换,它不会从.hpp切换到.cpp – j00hi 2011-11-25 15:55:47

尝试视觉辅助系统,它带来了这个非常有(其中包括):

http://www.wholetomato.com/

代码浏览功能 - 其中头部/ cpp交换是其中的一部分 - 非常好。

(我也很受好评的智能感知和重构功能,但不是每个人跟我谈过的已经同意我的看法)

编辑:只记得,在这些可爱的解决方案插件也做到这一点 - 加上另外handly视觉辅助性的东西,但没有别的 - 他们是免费的:

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

(这家伙的Perforce的插件是伟大的,太比默认VSSCC垃圾好了。)

+0

我给Visual Assist一看。我曾假定它只适用于.NET语言。 – Nate 2010-11-29 23:36:28

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

  • ALT + 小号 =页眉/源文件之间切换

  • ALT + ö =打开文件(支持通过打字即时搜索,像在Windows开始菜单VISTA/7)。

+0

谢谢,这是一堆最简单的解决方案,也是免费的。 – 2011-11-27 02:29:21

尝试使用交换机 - 它是一个插件,可以让你源文件和头,代码和设计,XAML之间轻弹代码隐藏等等等等:

Products and Extensions for Visual Studio

+1

这是我需要什么!!!!!!!!!!!!谢谢!!!!!!!!!!! 如果安装程序不起作用,请使用http://www.codeproject.com/Articles/324611/Extending-Visual-Studio-Part-2-Creating-Addins中的一个。 – 2013-01-16 17:00:21

http://www.dwmkerr.com/switch/或直接我不在这里看到这个答案,但至少在Visual Studio 2012(Express包括!)中,你可以指定你自己的键盘命令去头文件(注意:只有一种方式 - 你不能回到源头档案不幸...)

  1. 转到工具/选项/环境/键盘。
  2. 查找下面的命令:EditorContextMenus.CodeWindow.GoToHeaderFile
  3. 分配任何按键组合你想要(按Alt-S的作品)
  4. 利润

不知道该VS版本中,此工程,但它不需要任何加载项,并且似乎至少在一个方向上有效。

+0

在Visual Studio 2013中有一个名为EditorContextMenus.CodeWindow.ToggleHeaderCodeFile的命令,它正是这样做的,它在.h和.cpp文件之间切换。 – 2013-11-04 17:26:27

在Visual Studio 2013为这个默认的键盘快捷键是按Ctrl + ķ按Ctrl + Ø

+0

不适用于me.2013社区版。常规设置。 Customize/Keyboard窗口中的commad名称是什么? – Jurlie 2015-04-21 08:30:36

+4

命令名称:'EditorContextMenus.CodeWindow.ToggleHeaderCodeFile' – codekaizen 2015-04-28 23:44:34

在他们(中)有限的智慧,MS决定取消在2012年MSVS宏,所以上面的宏不起作用。

2012年MSVS,我发现这一点:

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

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

+0

不能在快速版本中使用 – user63898 2015-03-23 06:01:18

对于Visual Studio 2013,如其他人所说它命名的命令:

EditorContextMenus.CodeWindow.ToggleHeaderCodeFile 

,它有作为键的默认组合:按Ctrl + ķ按Ctrl + Ø,但如果您在

中引入了您喜欢的新组合键,则可以更改它按快捷键:

下的工具 - >选项 - >环境 - >键盘

所以,你可以选择自定义组合键为我收藏的.H到.CPP开关按Ctrl +标签