How can I navigate back to the last cursor position in Visual Studio Code?

Visual Studio-Code

Visual Studio-Code Problem Overview


What is the keyboard shortcut navigate back to the last cursor position in Visual Studio Code?

Visual Studio-Code Solutions


Solution 1 - Visual Studio-Code

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

Solution 2 - Visual Studio-Code

I am on Mac OS X, so I can't answer for Windows users:

I added a custom keymap entry and set it to Ctrl + + Ctrl + , while the original default is Ctrl + - and Ctrl + Shift + - (which translates to Ctrl + ß and Ctrl + Shift+ß on my German keyboard).

One can simply modify it in the user keymap settings:

{ "key": "ctrl+left",  "command": "workbench.action.navigateBack" },
{ "key": "ctrl+right", "command": "workbench.action.navigateForward" }

For the accepted answer I actually wonder :) Alt + / Alt + jumps wordwise for me (which is kind of standard in all editors). Did they really do this mapping for the Windows version?

Solution 3 - Visual Studio-Code

This will be different for each OS, based on the information in Key Bindings for Visual Studio Code.

Workbench configuration:

Go Back: workbench.action.navigateBack
Go Forward: workbench.action.navigateForward

Linux:

Go Back: Ctrl+Alt+-
Go Forward: Ctrl+Shift+-

Mac OS X:

Go Back: Ctrl + -
Go Forward: Ctrl + Shift (⇧) + -

Windows:

Go Back: Alt + ⬅️
Go Forward: Alt + ➡️

Solution 4 - Visual Studio-Code

For macOS:

+ U: Undo the last cursor operation

You can also try Ctrl + -.

BTW, all the shortcuts are in Keyboard shortcuts for macOS. This is really useful!

Solution 5 - Visual Studio-Code

To answer for your question, for:

  1. Windows use Alt+ for backward, and Alt+ for forward navigation.
  2. macOS use Ctrl+- for backward, and Ctrl+Shift+- for forward navigation.
  3. Linux use Ctrl+Alt+- for backward, and Ctrl+Shift+- for forward navigation.

You can find the current key-bindings in "Keyboard Shortcuts editor."

You can even edit the key-binding as per your preference.

Solution 6 - Visual Studio-Code

There is an extension available named Code-Navigation for all the platforms. As an alternative to the keyboard shortcuts it adds buttons to the left side of the status bar.

enter image description here

enter image description here

Solution 7 - Visual Studio-Code

Mac OS (MacBook Pro):

Back: Ctrl(control) + - (hyphen)

Back forward: Ctrl + Shift + - (hyphen)

Solution 8 - Visual Studio-Code

As an alternative to the keyboard shortcuts, there is an extension named "Back and Forward buttons" that adds the forward and back buttons to the status bar.

Solution 9 - Visual Studio-Code

Use Alt + /

You can find all shortcuts in Key Bindings for Visual Studio Code.

Solution 10 - Visual Studio-Code

You can go to menu FilePreferencesKeyboard Shortcuts. Once you are there, you can search for navigate. Then, you will see all shortcuts set for your Visual Studio Code environment related to navigation. In my case, it was only Alt + - to get my cursor back.

Solution 11 - Visual Studio-Code

While the accepted answer is correct, anyone using the Vim extension for VS Code may be frustrated by the fact that navigating backwards takes you through every single cursor movement you've made. This prevents "Go back" from working well for use cases like:

  1. Go to Definition
  2. Poke around at the definition for a while (i.e., move the cursor around)
  3. Go Back to where you were in step 1.

With the Vim extension installed, you'll be stuck doing "Go Back" for every cursor movement you've made (and for me, that's enough to make it almost useless!).

Fortunately, the Vim extension implements jumplists well, so after using VS Code to jump to a new position (i.e., "Go to definition"), you can simply do CTRL+O to go back to the previous jump location.

Solution 12 - Visual Studio-Code

vscode v1.65 is adding a number of new commands for navigating to the last/next edit location or the last/next cursor location.

An edit location means there was an actual edit, whereas a cursor location means that you visited that location but may not necessarily have made an edit there.

> By default, editor navigation locations are added whenever you > navigate across editors but also when navigating within editors (for > example, when switching notebook cells or changing selection in text > editors). If you feel that too many locations are being recorded, new > commands have been added that reduce locations to either: > > * Navigation locations (for example when using Go to Definition)
> * Edit locations (whenever an editor is changed, for example when typing in a text editor)

Cursor locations:
Go Forward in Navigation Locations
"workbench.action.navigateForwardInNavigationLocations"

Go Back in Navigation Locations
"workbench.action.navigateBackInNavigationLocations"

Go to Last Navigation Location
      // acts like a toggle between current and last cursor location
"workbench.action.navigateToLastNavigationLocation"

Go Previous in Navigation Locations
"workbench.action.navigatePreviousInNavigationLocations"
Edit locations:
Go Forward in Edit Locations
"workbench.action.navigateForwardInEditLocations"

Go Back in Edit Locations
"workbench.action.navigateBackInEditLocations"

Go Previous in Edit Locations
"workbench.action.navigatePreviousInEditLocations"

Go to Last Edit Location
      // acts like a toggle between current and last edit location
"workbench.action.navigateToLastEditLocation"

> Associated context keys have been added to make assigning keybindings > more powerful: > > * canNavigateBackInNavigationLocations: Whether it is possible to go back in navigation locations > * canNavigateForwardInNavigationLocations: Whether it is possible to go forward in navigation locations > * canNavigateToLastNavigationLocation: Whether it is possible to go to the last navigation location > * canNavigateBackInEditLocations: Whether it is possible to go back in edit locations > * canNavigateForwardInEditLocations: Whether it is possible to go forward in edit locations > * canNavigateToLastEditLocation: Whether it is possible to go to the last edit location

Solution 13 - Visual Studio-Code

With Visual Studio Code 1.43 (Q1 2020), those Alt+ / Alt+, or Ctrl+- / Ctrl+Shift+- will also... preserve selection.

See issue 89699:

Benjamin Pasero (bpasero) adds:

> going back/forward restores selections as they were. > > Note that in order to get a history entry there needs to be at least 10 lines between the positions to consider the entry as new entry.

Go back/Forward selection -- https://user-images.githubusercontent.com/900690/73729489-6ca7da80-4735-11ea-9345-1228f0302110.gif

Solution 14 - Visual Studio-Code

There are several ways to go back and options to go back in vs code.

To change any of the following things, go to command pannel by pressing ctrl + p and then after typing a >, type what config you need to change:

enter image description here

Then all you need to do is click on the Settings icon (as pointed by 2 in the image) and change the key binding to whatever you want.

Different options you have for going back:

  1. Go to the Last Edit Location
  2. Cursor Undo (meaning: go to last cursor location)
  3. Cursor Redo (Opposite of above)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionkimsagroView Question on Stackoverflow
Solution 1 - Visual Studio-CodezdenekView Answer on Stackoverflow
Solution 2 - Visual Studio-CodeOderWatView Answer on Stackoverflow
Solution 3 - Visual Studio-CodeWarren ParadView Answer on Stackoverflow
Solution 4 - Visual Studio-CodeAnenthView Answer on Stackoverflow
Solution 5 - Visual Studio-CodeBhargav JhaveriView Answer on Stackoverflow
Solution 6 - Visual Studio-CodeVikas SardanaView Answer on Stackoverflow
Solution 7 - Visual Studio-CodeAashishView Answer on Stackoverflow
Solution 8 - Visual Studio-CodeazSphinxView Answer on Stackoverflow
Solution 9 - Visual Studio-CodeJoeView Answer on Stackoverflow
Solution 10 - Visual Studio-CodelfvvView Answer on Stackoverflow
Solution 11 - Visual Studio-CodeMyk WillisView Answer on Stackoverflow
Solution 12 - Visual Studio-CodeMarkView Answer on Stackoverflow
Solution 13 - Visual Studio-CodeVonCView Answer on Stackoverflow
Solution 14 - Visual Studio-CodeAshan PriyadarshanaView Answer on Stackoverflow