Simple Navigation History
A simple file navigation history that tracks visited files and provides back and forward navigation without cursor location history. The history is maintained per editor group and duplicate files are eliminated with the last files accessed set at the currently tracked position.
Support This Project
If you find this extension useful, you can support development via PayPal:
Thank you for helping keep this extension maintained and improving!
Demo
In the following demonstration I access 3 files in sequence and then I click the pre-assigned back button to navigate backwards and then again forward.

The same operation is repeated for the 2nd group.
Functionality
File order tracking
The extension keeps the navigation chain based on the order of visited files.
For example visiting FileA → FileB → FileC then open FileD, the chain becomes FileA → FileB → FileD → FileC
The previous forward entries are preserved. Opening a new file inserts it after the current position rather than discarding the remaining history.
Duplicate filtering
A file can only appear once in the history chain for an editor group.
For example if the current chain is:
FileA → FileB → FileC → FileB
accessing FileB again will become
FileA → FileC → FileB
The existing entry is moved to the current navigation position instead of creating a duplicate.
Closed files
When a tracked file is closed, it is automatically removed from the navigation history.
For example assume the current chain is:
FileA → FileB → FileC
After closing FileB the chain becomes
FileA → FileC
The history only contains files that are still available in the editor group.
Editor Group Support
Navigation history is maintained separately for each VS Code editor group. Each editor group has its own independent navigation chain.
Example:
Group 1:
FileA → FileB → FileC
Group 2:
FileX → FileY → FileZ
Using Back or Forward in Group 1 only navigates through Group 1 history. Group 2 keeps its own separate history and is not affected. This allows multiple editor layouts to maintain independent navigation paths.
⌨️ Keybindings
The extension provides Back and Forward navigation commands that can be customized.
Open:
File → Preferences → Keyboard Shortcuts
Search for: Simple Navigation History
You can assign your preferred keyboard shortcuts to:
Simple Navigation History: Back
Simple Navigation History: Forward
The extension does not require specific default shortcuts and can be configured to match your existing keyboard or mouse navigation setup.
🖱️ AutoHotKey Mouse Connecting (Optional)
VS Code does not provide direct keybinding support for mouse Back and Forward buttons (XButton1 / XButton2) in extensions.
If you want to use your mouse buttons for navigation, you can map them to the extension keyboard shortcuts using a tool such as AutoHotkey.
Example AutoHotkey v2 configuration:
#Requires AutoHotkey v2.0
global appList
appList.Push({ procName: "code.exe", lockKeys: ["CapsLock", "NumLock"] })
#HotIf WinActive("ahk_exe code.exe")
; Plain mouse buttons → VS Code shortcuts
XButton1:: Send("^{NumpadDiv}")
XButton2:: Send("^{NumpadMult}")
; Ctrl + mouse → keep original behavior
~^XButton1:: return
~^XButton2:: return
#HotIf
🧾 License
GNU General Public License (GPL) v3