文档 / IDE

代码智能

精确导航、引用、层次结构、带预览的重构和符号搜索。

Yuli 理解的是你的代码,而不仅仅是文本。导航总能定位到准确的行,重构在应用前会先展示其影响。

导航

操作 快捷键
跳转到定义 Ctrl+B 或 Ctrl+Clic
跳转到实现 Ctrl+Alt+B
查找用法 Alt+F7 或 Shift+F12
调用层次结构 Ctrl+Alt+H
类型层次结构 Ctrl+H
方法流程与调用追踪 Ctrl+Alt+F
查找符号(类、方法…) Ctrl+T
跳转到文件中的符号 Ctrl+Shift+O
跳转到数据库对象(函数、包、表) Ctrl+Alt+J

近乎即时的 Ctrl+Clic

光标停留在符号上时,目标就已解析完毕,文件也会提前读取。即便偶尔较慢,也只会出现一个不阻塞编辑器的低调提示。

生成的代码

由注解生成的访问器(Lombok 的 getter、setter、构造函数和 builder)会跳转到生成它们的字段。

引用面板

一个紧凑的双列面板:类与成员,以及该行的代码片段。以下选项会被记住:

  • 读取和写入访问。
  • 生成的代码。
  • 导入。
  • 文件路径。
  • 按文件分组。
  • 代码预览。

重构

重构 快捷键
重命名符号 Shift+F6(或 F2)
提取方法 Ctrl+Alt+Shift+M
更改签名 Ctrl+F6
移动类 F6
提取变量与 inline 通过快速操作(Alt+Enter)

重命名会在应用前展示影响预览。

外部库

依赖可在项目面板中浏览。其中的类可以内联打开或在拆分视图中打开,显示源码或反编译代码,始终为只读。

自有 jar

在 项目 → 项目结构… 中,或通过 Maven / Gradle 面板的 添加 .jar 添加 .jar 库:

  • 作为真正的依赖:在 Maven 中使用 system 或安装到本地仓库;在 Gradle 中使用 implementation files(...)。
  • 或者作为 IDE 库,不改动构建配置。

即使 Maven 或 Gradle 无法运行,Java 引擎也能解析这些 jar。

无需迁移的项目

Yuli 能理解 Ant 的 build.xml,以及 Eclipse 的 .classpath 和 .project(源码、jar、变量和 WTP 的 Web 根目录)。无需 Maven 或 Gradle,即可获得自动补全、导航和编译。

框架

框架 理解的内容
Spring Bean、注入和端点。底部面板中的 Spring 面板。
JPA 与 Hibernate 实体、XML 映射和表。
Struts 1 和 2 Action、表单和配置。
Servlet 与 JSP web.xml、taglib、include 和消息。
Lombok 访问器、构造函数和 builder。

内部工作原理

组件 作用
Tree-sitter 增量分析代码。
符号图 类、方法、字段及其关系(调用、继承、实现、注入)。
SQLite 将符号图保存在 .ai/codebase/ 中,不纳入 Git。
失效机制 编辑某个文件时,只重新分析依赖它的部分。
Java 编译器 精确的类型解析。

Code Intelligence 面板(Alt+0)显示索引状态。

与智能体协作

智能体使用同一套代码智能:yuli_find_references、yuli_impact、yuli_search_symbols、yuli_refactor…… 回答有关项目的问题时,它会提取一个有边界的子图,而不是读取整个文件,从而节省上下文和令牌。

检查与质量

代码上方还会显示检查结果(空安全、死代码、Spring)和质量指标:每个方法上方显示 CC · CoG · MI · líneas · cobertura · costo。严重级别可在 全局选项 → 检查 中调整。参见与 N−1 对比度量。