Visual studio Visual Studio跳转到函数的开头 我知道Ctrl +}会把你带到VisualStudio中的相应括号中,但是说我处于一个巨大函数的中间,我不知道顶部或底部在哪里,是否有一个快捷方式直接指向函数声明? 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? }

Visual studio Visual Studio跳转到函数的开头 我知道Ctrl +}会把你带到VisualStudio中的相应括号中,但是说我处于一个巨大函数的中间,我不知道顶部或底部在哪里,是否有一个快捷方式直接指向函数声明? 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? },visual-studio,keyboard-shortcuts,Visual Studio,Keyboard Shortcuts,我通常双击位于代码左侧的白线。 它会关闭函数,但也会将您带到函数的声明 您可以通过扩展来完成 以下是宏的代码: // BeginningOfFunction moves the caret to the beginning of the containing definition. var textSelection = dte.ActiveDocument.Selection; // Define Visual Studio constants var vsCMElementFunctio

我通常双击位于代码左侧的白线。 它会关闭函数,但也会将您带到函数的声明

您可以通过扩展来完成

以下是宏的代码:

// 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();
}

它是扩展的示例宏之一。编辑了一点,因为出于某种原因,这个样本不适合我。通过将
codelement.GetStartPoint()
更改为
codelement.GetEndPoint()
,我在visual studio中发现了一个技巧,可以到达函数的末尾:


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

更新

使用Visual Studio的上次更新,现在EditorContextMenus.Navigate.GoToContainingBlock的默认键盘快捷键为Shift+Alt+[


旧答案:

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

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

如果您在函数中,此命令还允许移动到函数声明。


Alt+Ctrl+UP
选项卡
选项卡
输入

此序列将在项目选择器>范围选择器>函数选择器>当前函数之间移动

Ctrl+M
Ctrl+M

此序列将在折叠/扩展当前块之间切换。
将光标放在函数直接包围的任何一行。折叠。将光标放在折叠函数的末尾,即
{…}
之后。展开函数以到达其最后一个大括号

注:

如果您很难找到函数立即包含的行(例如,当函数有许多嵌套块时),则始终可以转到开始折叠函数。

我有一个新安装的VS2017。从15.9.1开始,我的默认设置为Alt+Shift+[


这是编辑或上下文菜单的快捷方式。导航。GoToContainingBlock。因此,如果您有几个块层,您可能需要多次执行此快捷方式,但它会让您到达您想要去的地方。

对于VSCode爱好者来说,此组合键将使您到达功能的顶端:

Ctrl-Shift-.
后跟
输入

对于MAC用户:

Cmd Shift-.

接着是
ENTER

查看:以及:快捷键
Edit。PreviousMethod
将完成此操作。快捷键
Edit.RainbowPrevious
在Viasfora extension中也将完成此操作。在这种情况下,您还可以使用键盘快捷键
Ctrl+M,Ctrl+M
。或者(如果您使用的是不同的键盘方案)查看命令的正确快捷方式
Edit.toggleOutlineingExpansion
双击该行将关闭块,而不是功能。在VS 15.9.4中,Ctr+Alt+Up高亮显示项目选择器或仅添加。单击任意位置->在右上角的下拉列表中查看方法的名称->按下拉列表并再次选择该方法,然后单击就是这样。只需单击下拉列表并按ENTER键就足够了,无需复制和粘贴任何内容。或者,您可以将鼠标移动到下面几个像素,选择第一个元素(当前方法)并单击即可替换该ENTER键。那么,您是说您应该“转到开始折叠函数”吗为了能够……转到函数的开头?不过我喜欢第一个解决方案。@Andrew,我回答中的“注意”部分指的是如何轻松地找到大型函数的底部。哦,你的意思是“函数之后立即”而不是“立即被函数包围”。)