文档 / IDE

编辑器与语言

支持语法高亮的语言、语言服务器、原生 Java 引擎,以及日常编辑工具。

Yuli 的编辑器具备语义高亮、自动补全、code lens、格式化和实时诊断。繁重的工作由原生引擎完成,因此即使在大型仓库中,编辑器依然轻快流畅。

支持高亮的语言

类别 语言与文件
JVM Java、Kotlin、Scala、Groovy 和 Gradle
Web JavaScript、TypeScript、JSX 和 TSX、HTML、CSS、SCSS 和 LESS
经典 Java Web JSP、JSPF、JSPX、TAG、TLD 和 XHTML
系统编程 C、C++、C#、Go、Rust、Swift 和 Dart
脚本 Python、Ruby、PHP、Perl、Lua、R、Shell、PowerShell 和 Batch
数据 SQL、JSON、YAML、TOML、XML、GraphQL 和 Protobuf
配置 .properties、.env、INI、Dockerfile、Jenkinsfile、Terraform、Makefile 和 .gitignore
文档 Markdown

PL/SQL 代码会根据其内容自动识别。

语言服务器

对于部分语言,Yuli 使用语言服务器(LSP)提供完整的自动补全和诊断。

服务器 语言
Eclipse JDT LS Java
typescript-language-server TypeScript 和 JavaScript
vscode-css-language-server CSS、SCSS 和 LESS
Pyright Python
rust-analyzer Rust

经你许可才安装

任何内容都不会静默下载。如果缺少某种语言的服务器,会出现 “{language} 没有语言服务器” 提示,并附带 安装… 按钮。确认后,Yuli 会下载该服务器并校验其 SHA-256 校验和。

在 全局选项 → 语言服务器 中管理语言服务器。

原生 Java 引擎

Java 还拥有一套用 Rust 编写的专属代码智能引擎:

  • 使用 Tree-sitter 进行分析,并将符号图保存在 SQLite 中。
  • 借助 Java 编译器解析类型,确保精确。
  • 无需依赖 Maven 和 Gradle 工具即可读取其 classpath,并且无需迁移就能理解 Ant 和 Eclipse 项目。
  • 理解 Spring、JPA 与 Hibernate、Lombok、Jakarta、Struts 和 JBoss。
  • 只重新索引发生变化的部分。

参见代码智能。

编辑

功能 操作
自动补全 Ctrl+Space
快速操作(快速修复、导入、询问智能体) Alt+Enter 或 Ctrl+.
重新格式化 Ctrl+Alt+L
优化导入 Ctrl+Alt+O
注释或取消注释 Ctrl+/
在文件中查找 Ctrl+F
在文件中查找和替换 Ctrl+Shift+S
跳转到行 Ctrl+G
自动换行 Alt+Z

自动保存

Yuli 会在你停止输入片刻后以及切换窗口时自动保存。可在 全局选项 → 构建、运行与调试 中与其他构建设置一起配置。

拆分视图

Ctrl+\ 向右拆分,Ctrl+Shift+\ 向下拆分。你可以在旁边打开项目中的任意文件、外部库中的类(源码或反编译,只读),或其他项目中的文件。选择器支持模糊搜索。

比较器

工具 → 文本比较器… 用于比较两段文本,将活动文件与拆分视图比较 则比较两侧内容,可选择并排 diff 或内联 diff。

特殊文件

文件 Yuli 提供的功能
.properties 消息编辑器:按 bundle(Struts、JSTL、Spring)展示“键 × 语言”表格,标出缺失或多余的键,并保持 Latin-1 或 UTF-8 编码。
hbm.xml 和 hibernate.cfg.xml Ctrl+Clic 从类跳转到实体、从属性跳转到字段;根据数据库校验表和列。
项目 XML 对 pom.xml、web.xml、struts-config.xml、Eclipse 描述符、TLD 和 JSPX 执行 格式化文档,保留注释和 CDATA。
Markdown、OpenAPI 和文档 预览。
团队配置、插件和 CI 基于 JSON Schema 的校验与自动补全。

不打扰的诊断

代码旁边不会插入任何文字。有问题的代码片段会以相应色调显示,并在下方加一条细线;鼠标悬停时显示信息。

色调 含义
红色 错误
黄色 警告
蓝色 信息
灰色斜体 未使用的代码

分析的严重级别分为:阻断、严重、主要、次要和提示。

自动补全

本地引擎提供的内联自动补全始终可用。AI 自动补全默认关闭,可按需启用,并使用你偏好的提供商和模型。

外观

提供浅色和深色主题,代码配色克制,适合长时间工作。字体、小地图、连字和空白可在 全局选项 → 编辑器 中调整。