126

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?

Penny Liu
  • 15,447
  • 5
  • 79
  • 98
Pablo
  • 1,571
  • 3
  • 11
  • 11
  • Adjacently related: [How I can make `ctrl + click` to go to definition in visual studio code editor for mac OS?](https://stackoverflow.com/a/57446936/4561887) – Gabriel Staples May 08 '23 at 05:51

15 Answers15

169

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

Konstantin Nikitin
  • 2,256
  • 1
  • 17
  • 12
42

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" }

Andy Li
  • 5,894
  • 6
  • 37
  • 47
alexriedl
  • 5,916
  • 3
  • 21
  • 17
  • I'm not sure but I think that takes you back/forward to where your cursor/highlight text was last, as opposed to toggling between object and definition. – Pablo Feb 27 '17 at 20:47
24

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+-"
  }
]
Florian Wendelborn
  • 1,667
  • 1
  • 19
  • 29
likid1412
  • 963
  • 8
  • 15
18

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.

Nik
  • 2,885
  • 2
  • 25
  • 25
Mark
  • 143,421
  • 24
  • 428
  • 436
  • Thanks Mark, you're right. Although it now seems to be working. For some reason I wasn't getting that extra content you mention in that box. It would've been nice for Shift + F12 to have taken you straight to the file it refers to instead of that popup (as VS community does) but, I guess, it's perhaps a matter of taste. Maybe I'm yet to discover how to do it. – Pablo Feb 27 '17 at 20:40
15

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

DevMJ
  • 2,810
  • 1
  • 11
  • 16
11

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

Nik
  • 2,885
  • 2
  • 25
  • 25
Limbo
  • 623
  • 8
  • 24
11

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

Milovan Tomašević
  • 6,823
  • 1
  • 50
  • 42
9

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+).

lioujheyu
  • 91
  • 1
  • 1
  • 3
    This is the only correct answer! `Alt` + `←` is _not_ the inverse of `F12`! I often go to the definition of a symbol, have a look round, and then want to return to the start of my excursion _without_ visiting all the intermediate stops. – bobbogo Jan 20 '22 at 18:04
8

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

Max Coplan
  • 1,111
  • 13
  • 27
7

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.

Paul Roub
  • 36,322
  • 27
  • 84
  • 93
Tom Ell
  • 215
  • 3
  • 6
2

Go to definition F12

Back to declaration Ctrl + F12

bobbogo
  • 14,989
  • 3
  • 48
  • 57
kblomqvist
  • 167
  • 1
  • 5
2

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

2.Back to Reference - Alt + Left Arrow

Kamaraj
  • 63
  • 1
  • 8
1

Next : Ctrl + F12

Back : Alt + LeftRow (<--)

For Windows is working.

Salih ŞEKER
  • 199
  • 1
  • 3
0

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

0

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

it's bound to both:

  • Go to Definition
    and
  • goToNextReference