在Visual Studio 2010中,是否有一种键盘快捷方式可以在方法之间移动光标?

52

有没有在Visual Studio中在方法之间移动光标的快捷键?是否有插件可以完成同样的工作?

每次编程时,我都想跳到当前方法的末尾,如果我能有一个快捷键可以将光标移动到下一个方法的开头,然后只需要按几次向上箭头就可以到达目的地,那就太好了。

谢谢。

10个回答

68

注: 对于 VS <2015,以下内容仅适用于VB.NET代码编辑器。在VS 2015+中,显然也支持C#代码编辑器。

虽然没有默认的键盘绑定来跳转方法,但您可以自己设置:

进入 工具自定义…,然后选择 键盘…,并执行以下操作:

  1. 通过在顶部的输入行中键入 Method 来搜索命令。

  2. 找到两个命令 Edit.NextMethodEdit.PreviousMethod

  3. 对于每个命令,首先选择该命令,然后将输入焦点移动到输入字段 Press shortcut keys,输入未分配的键组合,然后按下 Assign 按钮。

Options dialog where keyboard bindings can be set up and modified

(上面的截图显示我以前将其中一个命令分配给了 Ctrl+Shift+<。)


8
即使我已经接受了另一个答案,我也要给你点赞鼓励。感谢你花时间回答。没有使用 Resharper,这是一个不错的解决方案。 - Samuel
3
在我使用的 VS 2010 中,它不在“工具,自定义”下。但是这张图片帮助我找到了它实际上在“工具,选项”下。现在我能够分配快捷键了,太棒了。谢谢! - Shawn Kovac
5
这绝对是正确的答案,而且作为额外好处,它不需要我们购买和配置resharper。 - Mat Fergusson
在 VS 2015 中无法工作。按下分配的快捷键没有任何反应。 - truthseeker
5
为了使这个功能起作用,请不要忘记点击“指派”按钮。另外,我会将它设为“文本编辑器”,而不是“全局”。 - Brain2000
显示剩余2条评论

31

嗨,另一种(更便宜)的替代方法可能是使用CTRL+M+M来折叠/展开当前方法以查看其定义,使您能够快速导航到下一个。
同时CTRL+M+O可以折叠所有成员很有用,使用CTRL+M+L可以再次展开所有成员。


26

Visual Studio没有这样的功能,但是JetBrains的ReSharper有。至少我所知道的唯一提供此功能的工具就是它。

对于ReSharper,Alt-UpAlt-Down是用来切换到上一个/下一个成员的快捷键。


4
这正是我想要的!没有Resharper我们无法生存!!! :D 非常感谢。 - Samuel
5
值得一提的是,VB确实在编辑菜单下的列表末尾拥有“下一个/上一个”方法。 - Jason Malinowski

10

尝试使用CTRL + ALT + UP。首先,这将带您到作用域选择器,如果适用的话,您可以从中选择一个类,然后按TAB键,这将带您到方法选择器,您可以从所选范围选择一个方法。

请注意,我使用的是Visual Studio 2012,不知道是否适用于其他版本。


我使用VS 2010。(我无法忍受VS 2012中的颜色。:(()而在VS 2010中,这正如所描述的那样工作。感谢您提到这一点! - Shawn Kovac
8
我尝试了ctrl + alt +下键,结果屏幕颠倒了。 - Eduardo Wada
1
@Eduardo-wada,这是因为您的显示驱动程序键盘快捷键。您需要禁用它。 - Himanshu Patel

3

Jason Malinowski的评论是正确的。它甚至说快捷键是Ctrl+Down ArrowCtrl+Up Arrow。我曾经在VB6中经常使用这个功能,但当我最近尝试在最新版本的Visual Studio中使用时,它不起作用了;它只会将编辑窗口向上或向下滚动一行。

当我进入"工具"->"选项",选择左侧的"环境",然后选择"键盘"子类,然后输入"Edit.ScrollLineDown",它说Ctrl+Down Arrow。当我删除了这个快捷键(和ScrollLineUp的快捷键)之后,下一个/上一个方法的快捷键就可以工作了!我个人对此非常高兴。

显然,如果您能找到正确的命令,您可以随意自定义您的键盘快捷键。


这在VS2015中有效,但只有在您将“应用以下其他键盘映射方案”也更改为Visual Basic 6时才有效(即使您正在使用C#)。 - NightOwl888
我刚在Visual Studio 2017中尝试了一下 - 删除了Edit.ScrolLineDown(和up)的快捷方式。现在,Ctrl + Down Arrow和Ctrl + Up Arrow可以在C#中移动方法。 - Steve

1
我知道这已经过时了,但看起来它是最近添加的。
尝试使用Alt+[Alt+]

0

这是Ctrl + } - 在使用2015版的studio时,将光标放置在行末

同样也会将光标带回底部。

因此,请将光标放置在函数末尾,然后按Ctrl + }


0

不要忘记优秀的免费DPack扩展,它将添加Alt+m快捷键,打开当前类中所有方法的列表。您可以输入搜索字符串进行过滤,更棒的是,如果您在方法上按Tab并输入,然后稍后再次按Alt+m,如果您进入窗口,则会选择最后一个方法。DPack还有许多其他功能,如书签,但我发现您必须设置热键,或者更准确地说,重新分配其他功能的热键到DPack:https://marketplace.visualstudio.com/items?itemName=SergeyM.DPack-16348


0
在使用商业版的 Visual Assist 扩展程序的 Visual Studio 2013 中,您可以使用 ALT+M 快捷键打开当前文件中所有方法的列表。选择一个方法后,按下 ENTER 键,光标将跳转到该方法处。

-4
在 Visual Studio 2015 中: Alt + UpAlt + Down

2
这是 Format.SpaceDown 的快捷方式,请参见 https://learn.microsoft.com/en-us/visualstudio/ide/default-keyboard-shortcuts-in-visual-studio - IEnjoyEatingVegetables
@IEnjoyEatingVegetables 我不知道那个快捷键是干嘛用的。你觉得重新绑定它可以吗? - IneffaWolf
@IneffaWolf 我不会。 - IEnjoyEatingVegetables

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接