Visual Studio跳转到函数开头

nzrxty8p  于 2023-01-05  发布在  其他
关注(0)|答案(8)|浏览(307)

我知道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?
}
zxlwwiss

zxlwwiss1#

我全新安装了VS2017。截至15. 9. 1,我的默认设置是Alt+Shift+[。
这是EditorContextMenus.Navigate.GoToContainingBlock的快捷方式,所以如果你有几个块层深,你可能需要多次执行这个快捷方式,但是它会带你去你想去的地方。

kupeojn6

kupeojn62#

一个月一次,一个月一次,一个月二次,一个月三次
此顺序将在项目选择器〉范围选择器〉函数选择器〉当前函数之间移动。
x1米4英寸1x,x1米5英寸1x
此序列将在折叠/展开当前块之间切换。
将光标放在被函数直接包围的任何一行。折叠。将光标放在折叠函数的末尾,即{ ... }之后。展开函数以到达其最后一个大括号。
注:
如果你很难找到一个直接被函数包围的行(例如,当函数有很多嵌套块时),你总是可以转到开头来折叠函数。

epggiuax

epggiuax3#

    • 更新**
  • 在Visual Studio的最新更新中,"编辑器上下文菜单.导航.转到包含块"的默认键盘快捷键现在为Shift + Alt +[*

旧答案:
Visual Studio 2017版本15.8.0提供了一个新的快捷键Ctrl + Alt+向上箭头-转到封闭块。
使用"转到封闭块"(Ctrl + Alt+向上箭头)可以快速向上导航到封闭代码块的开头。
Source
如果您在函数内部,此命令还允许移动到函数声明。

If shortcut doesn't work for you

hfsqlsce

hfsqlsce4#

对于VSCode爱好者来说,这个组合键会把你带到函数的顶部:
Ctrl-Shift-.,然后是ENTER
对于MAC用户:
Cmd-Shift-.后接ENTER

3bygqnnd

3bygqnnd5#

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

mtb9vblg

mtb9vblg6#

您可以使用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()来到达函数的结尾。

kx7yvsdv

kx7yvsdv7#

我在visual studio中发现了一个窍门:
将光标放在空白处以获取上下文(函数名),复制函数名,然后单击下拉箭头(将列出所有函数),粘贴函数名,回车。然后您就位于该函数的开头!

tpxzln5u

tpxzln5u8#

另一种选择是使用Edit.PreviousMethod。我更喜欢这个选项,因为即使你的光标位于多个嵌套块中,你也可以通过一次击键到达方法定义!我已经将Edit.PreviousMethodMap到ctrl + alt + ,,将Edit.NextMethodMap到ctrl + alt + .,但是你可以将它设置为任何你喜欢的值。
要设置键绑定,后藤Tools.Options.Environment.Keyboard,然后在Show Commands Containing文本框中键入edit.previousmethod,将焦点置于Press Shortcut Keys文本框并按下所需的组合键,然后单击Assign。对edit.nextmethod重复此操作,然后单击Ok

相关问题