Repository navigation
Java Navigation v0.0.1
Pre-release
Pre-release
兼容性:按插件契约 v0(schemaVersion 0、pluginAPIVersion 0)编写,需要新版 Lithe 桌面端(desktop-v* 预发布)。旧版 macOS Lithe 无法安装。
0.0.1 是首个版本:不依赖 JDT LS 的轻量 Java 跳转,按插件契约 v0 编写。
功能:
- 跳转到定义:类型、方法、构造器、字段、枚举常量、局部变量、参数、类型参数、注解及其属性;按导入、同包、通配导入、嵌套、继承链、参数个数和实参类型解析,支持调用链和
Foo.<T>bar()。 - Lombok:访问器跳到字段,
@Builder、@Slf4j和构造器注解生成的成员跳到注解。 - 跳进本机 JDK 的
src.zip,并能在 JDK 源码里继续跳;JDK 源码以只读副本打开,放在插件状态目录里。 - 跳进 Maven 依赖库:从工作区的
pom.xml、父 POM、BOM 和本地仓库的 POM 按 Maven 的规则找出依赖 jar(不运行 Maven、不联网),
有-sources.jar打开源码,没有就打开从.class生成的签名存根;每个类第一次用到时才读取,副本同样只读、放在插件状态目录里。 - 没有 Maven 的老项目(Ant、Eclipse、MyEclipse):读
.classpath列出的 jar 和lib/、WEB-INF/lib里的 jar,jar 只读、不修改。 - 一条声明里的多个变量(
int i = 0, size = s.length();)都能跳。 - 生成代码(
target/generated-sources、Gradle 的build/generated)也进索引。 - 字符串字面量、类字面量、
Iface.super和 Lomboklog字段后面的调用能继续跳。 - 查找引用:只列出能跳回该声明的出现。
- 文档结构(大纲)。
- 在 Nacos 上和 JDT LS 对比 4500 个位置,4481 个跳到同一处,能跳转的比例 98.2%–99.3%(JDT LS 98.5%–99.5%);
ruoyi-vue-pro 98.4%–98.5%;JFinal、Nutz、Solon、Ant、Struts 1、JForum 2 为 96.5%–99.3%,目标全部核对无误。跳转 p50 约 0.1 ms,常驻内存 60–90 MiB(JDT LS 约 3 GB)。 - 打开的文件按编辑器里未保存的内容索引。
平台:macOS(Apple Silicon、Intel)、Windows(x64、ARM64),每个平台一个 ZIP。
权限:languageServer.launch。
限制:Gradle 项目的依赖库还读不了,本地仓库没有的 jar 跳不进去;没有 lambda 参数和泛型替换的类型推断;不要与 Java Support(JDT LS)同时启用。
--no-dependencies 关闭依赖库跳转。
兼容性:
- 只能装进新版 Lithe 桌面端(
desktop-v*预发布),旧版 macOS Lithe 无法安装。 - 本版本是预发布,Lithe Store 的自动追踪会跳过它。
安装:预发布版本,Lithe Store 自动追踪会跳过,暂不收录 Store。下载与你的系统和芯片对应的 ZIP,在 设置 → 插件 中点击页面标题栏右侧的 从文件安装…,选中 ZIP 后核对 SHA-256 并确认。
SHA-256:
java-navigation-0.0.1-darwin-arm64.zip 9df3eaa3d4411de57aeae80c2a3541a47325ad29bc117172915523911aaa85d9
java-navigation-0.0.1-darwin-x64.zip 55cf6c553cafc3940ebb8a90508e3faa7aaf3f86987bceea5d2e9e5181d46fa7
java-navigation-0.0.1-windows-x64.zip 3a85837618cb31891f17451e3eab25f26d92a238a4337d8a7b916bb6a84a7181
java-navigation-0.0.1-windows-arm64.zip a4e8a8abbcfcdee3f6cb3364c50b01ba93c070ecdd519a46b3ac4c98e4704a54