Release 22.12 Highlights
Helix 是一款模式化文本编辑器,内置支持多重选择、语言服务器协议 (LSP)、tree-sitter,并实验性地支持调试适配器协议 (DAP)。
今天我们发布了 22.12 版本。这是一个功能丰富的大版本,共有 99 位贡献者参与其中。感谢大家!🎊
Helix 现在有了自己的徽标!感谢 @jakehl 的贡献!
想了解 Helix 的入门知识或想看看 Helix 的实际应用?请观看以下关于 Helix 的新视频。
现在让我们来看看精彩部分。
Git 差异显示栏
新的 Git 差异侧边栏会跟踪当前缓冲区与 Git 索引之间的更改。侧边栏中的标记指示与已提交 到 Git 的文件相比,哪些内容是新增的、修改的或删除的。Git 差异侧边栏默认启用。
此外,请务必尝试新的代码块文本对象:]g 跳转到下一个更改的代码块,[g 跳转到上一个。
下划线样式和颜色
支持扩展下划线的终端可以渲染带有卷曲或点状等样式以及颜色的下划线。扩展下划线可用于
改进 LSP 诊断信息的显示。这些可以在主题中使用新的 underline 键进行配置:
"diagnostic.error" = { underline = { style = "curl", color = "red" } }
现有的 underline 修饰符现在是 "line" 样式的别名。
如果您想在尚未配置此功能的现有主题中使用它, 可以使用新的[主题继承]功能,仅修改您想要更改的作用域:
# ~/.config/helix/themes/my-onedark.toml
inherits = "onedark"
"diagnostic.error" = { fg = "errorfg", bg = "errorbg", underline = { color = "red" } }
当终端失去焦点时自动保存
现在,支持焦点事件的终端可以在您切换到新窗口时自动保存当前文件。您可以通过将
editor.auto-save 配置项设置为 true 来启用此功能。
多光标补全
多重选择编辑是 Helix 的核心功能之一。现在,在使用多重选择进行编辑时,LSP 自动补全 功能会应用于所有光标,从而可以轻松地借助自动补全功能替换符号的多个实例。
Bufferline
bufferline 是显示在窗口顶部的一系列缓冲区列表。它可以让您一目了然地查看当前正在使用
的缓冲区。将 editor.bufferline 配置项设置为 "always" 可始终显示缓冲区列
表,设置为 "multiple" 可仅在打开多个缓冲区时显示缓冲区列表,设置为 "never"
则禁用缓冲区列表。
后台改进
22.12 版本还带来了 Helix 内部机制的一些重要改进:
- 文件写入代码路径已全面重构。这修复了许多与写入大文件和写入失败相关的边缘情况。
- Tree-sitter 解析、查询和注入处理的性能得到了提升。这对于大型 Markdown 文件 来说尤其明显,因为 Markdown 文件广泛使用注入功能。
- LSP 代码路径中的错误处理得到了改进。Helix 现在可以优雅地处理诸如语言服务器不 支持某些功能以及语言服务器意外崩溃等情况。
:reload命令的速度和内存使用效率得到了显著提升。这得益于imara-diff的创建,这是一种新的差异比较实现,比git内部使用的实现更快!
总结
22.12 版本带来的变化远不止本文所述。 请查看 22.12 版本的更新日志,了解所有性能提升、可用性改进和错误修复的完整详情。
欢迎访问 Helix GitHub 仓库 参与贡献并关注开发进展,也欢迎加入 Matrix 频道 参与讨论。