Pane EdgesVS Code extension that enables unified directional navigation across editor groups, sidebar, and panel — like Zed or tmux. The ProblemVS Code has separate commands for navigating between editor groups ( The SolutionPane Edges provides a This works with any layout — horizontal splits, vertical splits, 2x2 grids, etc. UsageThe extension provides one command:
|
| Argument | Type | Description |
|---|---|---|
direction |
"up" | "down" | "left" | "right" |
Direction to navigate |
fallback |
string (optional) |
Command to execute when at the edge |
Example keybindings
Add these to your keybindings.json:
[
// ctrl+down: navigate to split below, or panel if at bottom edge
{
"key": "ctrl+down",
"command": "paneEdges.navigate",
"args": { "direction": "down", "fallback": "workbench.action.focusPanel" },
"when": "editorFocus && panelVisible"
},
{
"key": "ctrl+down",
"command": "paneEdges.navigate",
"args": { "direction": "down" },
"when": "editorFocus && !panelVisible"
},
// ctrl+up: navigate to split above
{
"key": "ctrl+up",
"command": "paneEdges.navigate",
"args": { "direction": "up" },
"when": "editorFocus"
},
{
"key": "ctrl+up",
"command": "workbench.action.focusActiveEditorGroup",
"when": "panelFocus"
},
// ctrl+left: navigate to split left, or sidebar if at left edge
{
"key": "ctrl+left",
"command": "paneEdges.navigate",
"args": { "direction": "left", "fallback": "workbench.action.focusSideBar" },
"when": "editorFocus && sideBarVisible"
},
{
"key": "ctrl+left",
"command": "paneEdges.navigate",
"args": { "direction": "left" },
"when": "editorFocus && !sideBarVisible"
},
{
"key": "ctrl+left",
"command": "workbench.action.focusActiveEditorGroup",
"when": "auxiliaryBarFocus"
},
// ctrl+right: navigate to split right, or auxiliary bar if at right edge
{
"key": "ctrl+right",
"command": "paneEdges.navigate",
"args": { "direction": "right", "fallback": "workbench.action.focusAuxiliaryBar" },
"when": "editorFocus && auxiliaryBarVisible"
},
{
"key": "ctrl+right",
"command": "paneEdges.navigate",
"args": { "direction": "right" },
"when": "editorFocus && !auxiliaryBarVisible"
},
{
"key": "ctrl+right",
"command": "workbench.action.focusActiveEditorGroup",
"when": "sideBarFocus"
},
{
"key": "ctrl+right",
"command": "workbench.action.focusActiveEditorGroup",
"when": "panelFocus"
}
]
Terminal navigation
If you want ctrl+arrow to work from the terminal, add the commands to your settings.json:
"terminal.integrated.commandsToSkipShell": [
"paneEdges.navigate",
"workbench.action.focusSideBar",
"workbench.action.focusActiveEditorGroup",
"workbench.action.focusPanel",
"workbench.action.focusAuxiliaryBar"
]
Debugging
Run "Pane Edges: Debug Layout Info" from the command palette to see the current layout tree, computed bounds, and edge detection results.