Pablo
Pablo

Reputation: 1865

Go to definition and back to reference in Visual Studio Code

I'm currently using VSCode and am trying to use the F12 shortcut which takes me to a definition of an object/function. When I want to go back to the reference, I can't seem to find the right way to do it. With VS community I used Shift + F12.

I've try different combinations, such as Alt + F12 or Shift + F12 but all I get is a peek definition of the element which is not useful at all; it's just a popup showing the same element in the same file I'm at. I've seen answers to this question but pertaining to VS 2010 which are no longer applicable or doesn't work with VSCode.

Question: What is the shortcut to Go Back once you've used F12 to Go to the definition?

Upvotes: 155

Views: 192135

Answers (17)

Ho.Farahmand
Ho.Farahmand

Reputation: 109

First, make sure you have Python plugins installed.

Upvotes: 0

Gabriel Devillers
Gabriel Devillers

Reputation: 4032

For C++, with clangd extension, without intellisense I have:

  • kept F12 mapped to Go to Definition
  • remapped Ctrl + F12 to Go to Declaration (removed pre-existing mappings on Ctrl + F12 which where not useful).

Note: with clangd extension Alt + O is mapped to clangd: Switch Between Source/Header which can also be useful.

Upvotes: 0

Michał Lepczyński
Michał Lepczyński

Reputation: 413

In Version: 1.62.3 under Ubuntu:
it's just F12 again

it's bound to both:

  • Go to Definition
    and
  • goToNextReference

Upvotes: 0

kblomqvist
kblomqvist

Reputation: 177

Go to definition F12

Back to declaration Ctrl + F12

Upvotes: 3

Milovan Tomašević
Milovan Tomašević

Reputation: 8673

The keyboard shortcut commands are Go Forward and Go Back.


On Windows:

Alt + ... navigate back

Alt + ... navigate forward

On Mac:

Ctrl + - ... navigate back

Ctrl + Shift + - ... navigate forward

On Ubuntu Linux:

Ctrl + Alt + - .., navigate back

Ctrl + Shift + - ... navigate forward

ref

Upvotes: 17

Salih ŞEKER
Salih ŞEKER

Reputation: 209

Next : Ctrl + F12

Back : Alt + LeftRow (<--)

For Windows is working.

Upvotes: 1

Kamaraj
Kamaraj

Reputation: 83

1.Go Definition - F12 or Right click and Click Go to Definition Option

2.Back to Reference - Alt + Left Arrow

Upvotes: 3

I have a similar problem. Fix it by installing this JDK 8 to VSCode

Upvotes: 0

DevMJ
DevMJ

Reputation: 3061

ALT + Left Arrow and ALT + Right Arrow worked for me. VS code listed all shortcuts in pdf keyboard-shortcuts-windows.pdf. To see all keyboard shortcuts go to menu bar Help->Keyboard Shortcuts Reference. It will open pdf that contains all shortcuts.enter image description here

Upvotes: 17

Max Coplan
Max Coplan

Reputation: 1503

For those using the VSCodeVim extension, it would be Ctrl + o and Ctrl + i

Upvotes: 12

Konstantin Nikitin
Konstantin Nikitin

Reputation: 2616

For macOS it is ⌃- (Ctrl + -) by default. And for Windows: (Alt + LeftArrow)

Upvotes: 202

Mark
Mark

Reputation: 182781

Shift + F12 should be working for you. There is a box on the right of the peek view which lists all the references. You are seeing the peek view to the reference you went to (the definition) but on the right are more. That boundary between the two can be dragged left and right so perhaps yours is not visible - trying dragging the peek view box right boundary to the left after you hit Shift+F12. Do you see a list of references there? Double-clicking the one you started from originally will take you back to it.

Edit:

v1.29 added some nice functionality for listing the references in the sidebar. See references view.

List All References in the context menu or Shift+Alt+F12

Results are stable and individual results can be cleared, which is great if you use the view as a To Do list. You can use F4 and Shift+F4 to navigate through results without taking your hands off the keyboard.

Upvotes: 19

Limbo
Limbo

Reputation: 663

Alt + Left arrow worked for me or Go menu and then Back.

Upvotes: 11

likid1412
likid1412

Reputation: 1129

You can open the Keyboard Shortcuts to find the shortcuts.

Preferences > Keyboard Shortcuts

Search for Go, and it’ll show the Go Back and Go Forward shortcuts.

In macOS:

Go Back: ⌃- (Ctrl+-)

Go Forward: ⌃⇧- (Ctrl+shift+-)

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

Upvotes: 25

lioujheyu
lioujheyu

Reputation: 91

Try goto-symbol-stack.

This extension implements a stack tracking the positions only when the goto-definition is triggered by Alt+], and allows the user go back to the reference using Alt+[. No annoying cursor movement in the stock navigation(Alt+).

Upvotes: 9

Tom Ell
Tom Ell

Reputation: 215

An alternative approach is to use the Ctrl+Alt+Click shortcut, which will open the definition in a new pane to the right. This can then be closed with the usual Ctrl+F4 key combination.

Upvotes: 7

alexriedl
alexriedl

Reputation: 6503

According to the vscode keyboard shortcuts documentation page, the navigateBack action defaults to Ctrl+Alt+-.

In my keybindings.json file, I've rebound it to ctrl+- using:

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

Upvotes: 45

Related Questions