Visual Studio跳转到函数的开头

时间:2015-01-06 18:53:38

标签: visual-studio keyboard-shortcuts

我知道 Ctrl + } 会带你到Visual Studio中相应的大括号,但是我说我正处于一个巨大的功能中,我不知道知道顶部或底部的位置,是否有直接获取函数声明的快捷方式?

void function()
{
//so many lines of code
//can't see the top or the bottom curly brace
//can i get to the top of the function with a shortcut?
}

7 个答案:

答案 0 :(得分:8)

我通常双按代码左边的白线。 它会关闭函数,但它也会引导您执行函数的声明。

答案 1 :(得分:2)

您可以使用Macros for Visual Studio扩展程序进行此操作。

以下是宏的代码:

// BeginningOfFunction moves the caret to the beginning of the containing definition.

var textSelection = dte.ActiveDocument.Selection;

// Define Visual Studio constants
var vsCMElementFunction = 2;

var codeElement = textSelection.ActivePoint.CodeElement(vsCMElementFunction);


if (codeElement != null)
{
    textSelection.MoveToPoint(codeElement.GetStartPoint());
    dte.ActiveDocument.Activate();
}

它是扩展的示例宏之一。编辑了一下,因为某些原因样本不适合我。您可以将codeElement.GetStartPoint()更改为codeElement.GetEndPoint()

,从而使功能结束

答案 2 :(得分:2)

Visual Studio 2017 15.8.0版附带一个新的快捷键Ctrl + Alt + UpArrow-转到“封闭模块”。

  

转到封闭块(Ctrl + Alt + UpArrow)可让您快速   导航到封闭代码块的开头。

Source

如果您在函数内部,此命令还允许移至函数声明。 enter image description here

If shortcut doesn't work for you

答案 3 :(得分:2)

Alt+Ctrl+UPTabTabEnter
此序列将使您在项目选择器>范围选择器>功能选择器>当前功能中移动。

Ctrl+MCtrl+M
此序列将在折叠/展开当前块之间切换。
将光标放在该函数立即包围的任何行上。坍方。将光标放在折叠函数的末尾,即{ ... }之后。扩展功能以获取最后的支撑。

注意:
如果您难以找到直接被函数包围的行(例如,当函数具有许多嵌套块时),则始终可以从头开始折叠函数。

答案 4 :(得分:1)

我重新安装了VS2017。从15.9.1开始,我的默认值为 Alt + Shift + [

这是EditorContextMenus.Navigate.GoToContainingBlock的快捷方式。因此,如果您的数据块深度很深,则可能必须多次执行此快捷方式,但这会使您到达想要的位置。

答案 5 :(得分:1)

对于VSCode爱好者,此组合键可将您带到功能顶部:

Ctrl-Shift-. 跟着ENTER

,对于MAC用户:

Cmd-Shift-. 跟着ENTER

答案 6 :(得分:0)

我在visual studio中找到了一个技巧:

将光标放在空白处以获取上下文(函数名称),复制函数名称,然后单击下拉箭头所有函数将被列出,粘贴函数名称,输入。那你就是那个功能的开始!