Code Jump Navigation
一个 VSCode/Cursor 插件,支持在同一类中不同方法间互相跳转,并提供前进和后退导航功能。
下载地址
功能特性
- ✅ 自动记录代码跳转历史
- ✅ 支持前进和后退导航
- ✅ 智能检测方法定义
- ✅ 支持多种编程语言(Java、TypeScript、JavaScript、Python、C# 等)
- ✅ 使用 LSP 和正则表达式双重检测机制
- ✅ 支持自定义快捷键 - 多种预设方案,完全可配置
- ✅ 跳转历史面板 - 可视化显示最近几次的跳转路径和当前位置,支持点击跳转
安装
从 VSIX 文件安装
- 下载
.vsix 文件
- 在 VS Code/Cursor 中打开命令面板(
Cmd/Ctrl + Shift + P)
- 输入
Extensions: Install from VSIX...
- 选择下载的
.vsix 文件
从源码安装
- 克隆或下载项目
- 安装依赖:
npm install
- 编译项目:
npm run compile
- 按
F5 启动调试模式进行测试
使用方法
快捷键
默认快捷键:
- 后退:
Cmd + Option + Left (macOS) / Ctrl + Alt + Left (Windows/Linux)
- 前进:
Cmd + Option + Right (macOS) / Ctrl + Alt + Right (Windows/Linux)
自定义快捷键:
插件提供了多种快捷键预设方案,您可以根据自己的习惯选择:
- Default(默认):
Cmd/Ctrl + Alt + Left/Right
- Vim Style:
Cmd/Ctrl + O (后退) / Cmd/Ctrl + I (前进)
- Browser Style:
Alt + Left/Right
- Custom: 完全自定义
如何修改快捷键:
- 打开设置:
Cmd + , (macOS) 或 Ctrl + , (Windows/Linux)
- 搜索
codeJump.keybindingPreset
- 选择您喜欢的预设方案
- 重新加载窗口
📖 详细的快捷键自定义指南请查看项目 docs 目录下的相关文档
命令面板
你也可以通过命令面板使用:
- 按
Cmd + Shift + P (macOS) 或 Ctrl + Shift + P (Windows/Linux)
- 输入以下命令:
Code Jump: 后退到上一个跳转位置
Code Jump: 前进到下一个跳转位置
Code Jump: 显示跳转历史 - 打开历史面板,查看最近几次的跳转路径和当前位置
跳转历史面板
插件在侧边栏提供了一个可视化的历史面板,显示:
- 后退历史:可以返回的跳转位置列表
- 当前位置:当前所在的文件和方法
- 前进历史:可以前进的跳转位置列表
使用方法:
- 通过侧边栏图标:点击左侧活动栏的 "Code Jump" 图标
- 通过命令面板:
Cmd/Ctrl + Shift + P → 输入 "Code Jump: 显示跳转历史"
- 点击历史项:点击任意历史项可以快速跳转到对应位置
- 实时更新:面板会实时更新,显示最新的跳转历史
侧边栏位置:
- 历史面板已集成到 VS Code 的 Primary Side Bar(主侧边栏)
- 可以通过
Cmd/Ctrl + B 切换侧边栏的显示/隐藏
- 面板会随着你的代码跳转自动更新内容
工作原理
- 自动记录: 插件会自动监听你的代码跳转操作(如 Go to Definition、光标大幅移动等)
- 方法检测: 使用语言服务器协议(LSP)和正则表达式检测方法定义
- 历史管理: 使用双栈结构管理跳转历史,支持前进和后退
使用场景示例
方法A → 方法B → 方法C
- 从方法C通过
Cmd + Option + Left (macOS) / Ctrl + Alt + Left (Windows/Linux) 可以回到方法B
- 从方法B通过
Cmd + Option + Left (macOS) / Ctrl + Alt + Left (Windows/Linux) 可以回到方法A
- 从方法A通过
Cmd + Option + Right (macOS) / Ctrl + Alt + Right (Windows/Linux) 可以前进到方法B
- 从方法B通过
Cmd + Option + Right (macOS) / Ctrl + Alt + Right (Windows/Linux) 可以前进到方法C
技术实现
- TypeScript: 开发语言
- VSCode Extension API: 插件 API
- LSP: 语言服务器协议,用于准确检测方法定义
- 双栈结构: 实现前进/后退功能
支持的语言
- Java
- TypeScript
- JavaScript
- Python
- C#
- 其他支持 LSP 的语言
更新日志
- 2026-01-28(v0.0.3)
- 修复跨类跳转时可能跳转到文件第一行的位置异常问题
- 跳转历史记录支持单条删除和全部清空操作
- 2026-01-24(v0.0.2)
- 2026-01-23(v0.0.1)
配置选项
插件提供了以下配置选项(在设置中搜索 codeJump):
💡 提示:修改快捷键预设后需要重新加载窗口才能生效。
常见问题
Q: 快捷键不生效怎么办?
A: 请检查:
- 是否与其他插件或系统快捷键冲突
- 是否已重新加载窗口(修改快捷键预设后需要)
- 是否在编辑器焦点状态下使用快捷键
Q: 历史记录没有正确记录?
A: 插件会自动区分跳转和普通编辑操作。如果发现跳转没有被记录,请确保:
- 使用的是标准的代码跳转操作(如 Go to Definition)
- 光标移动距离足够大(插件会过滤小幅移动)
Q: 如何清除历史记录?
A: 关闭并重新打开 VS Code/Cursor 窗口即可清除历史记录。
注意事项
- 插件会自动区分跳转和普通编辑操作
- 历史记录最多保存 100 条,避免内存溢出
- 修改快捷键预设后需要重新加载窗口才能生效
贡献
欢迎提交 Issue 和 Pull Request!
许可证
MIT
| |