转到定义并返回到 Visual Studio Code 中的引用

Posted

技术标签:

【中文标题】转到定义并返回到 Visual Studio Code 中的引用【英文标题】:Go to definition and back to reference in visual Studio Code 【发布时间】:2017-07-18 11:45:25 【问题描述】:

我目前正在使用 VSCode,并且正在尝试使用 F12 快捷方式来定义对象/函数。当我想回到参考时,我似乎找不到正确的方法。在 VS 社区中,我使用了 Shift + F12

我尝试了不同的组合,例如 Alt + F12Shift + F12 get 是元素的 peek 定义,根本没用;它只是一个弹出窗口,在我所在的同一个文件中显示相同的元素。我已经看到了这个问题的答案,但与 VS 2010 相关,这些答案不再适用或不适用于 VSCode。

问题:使用 F12 后返回定义的快捷方式是什么?

【问题讨论】:

【参考方案1】:

对于 macOS,默认为 ⌃- (Ctrl + -)。对于 Windows:(Alt + LeftArrow)

【讨论】:

(Alt + LeftArrow) 在 Windows 上不起作用 ⌃- 适用于 mac....谢谢【参考方案2】:

根据 vscode keyboard shortcuts documentation page,navigateBack 操作默认为 Ctrl+Alt+-

在我的 keybindings.json 文件中,我已将其反弹到 ctrl+- 使用:

"key": "ctrl+-", "command": "workbench.action.navigateBack"

【讨论】:

我不确定,但我认为这会将您返回/前进到光标/突出显示文本的最后位置,而不是在对象和定义之间切换。【参考方案3】:

您可以打开Keyboard Shortcuts找到快捷方式。

首选项 > 键盘快捷键

搜索Go,它会显示Go BackGo Forward 快​​捷方式。

在 macOS 中:

返回⌃- (Ctrl+-)

前进⌃⇧-Ctrl+shift+- )

[
  
    "command": "workbench.action.navigateBack",
    "key": "ctrl+-"
  ,
  
    "command": "workbench.action.navigateForward",
    "key": "ctrl+shift+-"
  
]

【讨论】:

【参考方案4】:

Shift + F12 应该适合你。速览视图右侧有一个框,其中列出了所有参考。您正在查看您所访问的参考(定义)的概览视图,但右侧更多。两者之间的边界可以左右拖动,因此您的边界可能不可见 - 在您点击 Shift+F12 后尝试将 peek view box 右边界向左拖动。您在那里看到参考列表吗?双击你最初开始的那个会带你回到它。

编辑:

v1.29 添加了一些不错的功能,用于在边栏中列出引用。见references view。

List All References 在上下文菜单中或 Shift+Alt+F12

结果稳定,可以清除单个结果,如果您将视图用作待办事项列表,这非常棒。您可以使用 F4Shift+F4 来浏览结果,而无需将手从键盘上移开。

【讨论】:

谢谢马克,你是对的。虽然它现在似乎正在工作。出于某种原因,我没有得到你在那个框中提到的额外内容。如果 Shift + F12 直接将您带到它所引用的文件而不是那个弹出窗口(就像 VS 社区所做的那样),那会很好,但我想,这可能是一个品味问题。也许我还没有发现如何做到这一点。【参考方案5】:

ALT + 左箭头和 ALT + 右箭头 为我工作。 VS 代码列出了 pdf keyboard-shortcuts-windows.pdf 中的所有快捷方式。 要查看所有键盘快捷键,请转到菜单栏 Help->Keyboard Shortcuts Reference。它将打开包含所有快捷方式的 pdf。

【讨论】:

alt + F12 在 Linux 上 这些快捷方式将根据版本和操作系统而变化。在我的 Ubuntu 系统中,版本 1.60.2,'Ctrl+Alt+-' 完成了这项工作。所以最好打开帮助页面并验证。【参考方案6】:

Alt + 左箭头 为我工作或Go 菜单然后Back

【讨论】:

【参考方案7】:

另一种方法是使用 Ctrl+Alt+Click 快捷方式,这将在右侧的新窗格中打开定义。然后可以使用通常的 Ctrl+F4 组合键将其关闭。

【讨论】:

【参考方案8】:

对于那些使用 VSCodeVim 扩展的人,它会是 Ctrl + oCtrl + i

【讨论】:

【参考方案9】:

试试goto-symbol-stack。

这个扩展实现了一个堆栈跟踪位置当goto定义被Alt+]触发,并允许用户去使用 Alt+[ 返回参考。股票导航中没有烦人的光标移动(Alt+)。

【讨论】:

【参考方案10】:

转到定义F12

返回声明 Ctrl + F2

【讨论】:

【参考方案11】:

1.转到定义 - F12 或右键单击并单击转到定义选项

2.返回参考 - Alt + 左箭头

【讨论】:

【参考方案12】:

我也有类似的问题。通过将此 JDK 8 安装到 VSCode 来修复它

【讨论】:

【参考方案13】:

下一步: Ctrl + F12

后退: Alt + LeftRow (

对于 Windows 正在运行。

【讨论】:

【参考方案14】:

键盘快捷键命令Go ForwardGo Back


在 Windows 上:

Alt + ...向后导航

Alt + ... 向前导航

在 Mac 上:

Ctrl + - ...向后导航

Ctrl + Shift + - ... 向前导航

在 Ubuntu Linux 上:

Ctrl + Alt + - ..,向后导航

Ctrl + Shift + - ... 向前导航

ref

【讨论】:

以上是关于转到定义并返回到 Visual Studio Code 中的引用的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio C++ 项目转到定义打开对象浏览器而不是转到源代码

转到定义不适用于我的项目(vue 和 sass 文件)[visual-studio-code]

Visual Studio 2017 Ctrl+单击键会跳转到定义的设置

转到 Typescript 源定义而不是 Visual Studio Code 中的编译定义

是否有用于 C++ 中“自动”变量的“转到变量类型定义”的 Visual Studio 键盘快捷键?

Visual Studio IDE - 返回上一个