如何像浏览器一样查看Visual Studio Code的导航历史?
VSCode 后退/前进按钮右键跳转功能相关问题
Visual Studio Code借鉴了浏览器的一些实用功能:用于导航至已访问位置(文件、行)的后退和前进按钮。这一设计虽不错,但仍有不足。在浏览器中,您可以右键点击后退或前进按钮查看所有最近访问的位置,并可一次性跳转多步后退或前进。
补充说明:该功能实用性极强,因为我通常会缓慢向前导航,但需要快速向后跳转,一次性跳过4-5个位置。此外,位置列表能提供信息,让我了解自己是如何从文件A导航至文件G这类路径的。我已查阅快捷键列表,但未找到相关功能。
问题解答
1. Visual Studio Code是否具备该功能?
目前VSCode原生不支持右键点击后退/前进按钮查看完整历史访问位置列表并一次性跳转多步的功能。
- 原生仅支持通过快捷键
Alt + Left(后退)/Alt + Right(前进)单步跳转位置; Ctrl + Tab(Windows/Linux)或Cmd + Tab(Mac)可切换最近打开的文件,但仅记录文件,不包含具体行位置,和浏览器的历史位置逻辑不同。
2. 若不具备,是否有API可供编写Visual Studio Code扩展来实现该功能?
有对应的扩展API可以实现该功能,核心可用接口如下:
- 监听位置变化:使用
vscode.window.onDidChangeActiveTextEditor监听编辑器切换,结合vscode.window.activeTextEditor?.selection获取当前光标所在的行、列位置,自行维护一个历史访问位置的栈结构(区分前进/后退栈,模拟浏览器的历史逻辑); - 注册自定义命令:通过
vscode.commands.registerCommand注册右键菜单命令,绑定到后退/前进按钮的右键触发事件; - 展示历史列表:使用
vscode.window.showQuickPick弹出历史位置选择面板,将维护的历史列表(包含文件名、行号等信息)作为选项展示; - 跳转至目标位置:用户选择历史项后,调用
vscode.window.showTextDocument并传入对应的文件URI和位置参数,实现跳转。
内容的提问来源于stack exchange,提问作者John KjcX
相关产品推荐
相关产品推荐

