Release 22.05 Highlights
Helix 是一款模式化文本编辑器,内置支持多重选择、 语言服务器协议 (LSP)、tree-sitter,并实验性地支持调试适配器协议 (DAP)。
今天发布了 22.05 版本,这是一个功能丰富的版本,参与贡献者人数是上一版本的两倍多(110 人!)。 非常感谢所有参与者!🙌
还要特别感谢 @amirrezaask 制作的精彩 Helix 介绍视频!还要特别感谢 @amirrezaask 制作的精彩 Helix 介绍视频!
让我们来看看 22.05 版本的炫酷功能。
缩进重构
缩进系统已全面重构。缩进功能仍然通过查询文档的 Tree-sitter 解析语法树来实现, 但现在查询文件可以使用 Tree-sitter 查询语言的全部表达能力,而不仅仅是简单的节点名称。 预计新的缩进系统将更加稳健,并能更好地处理各种特殊情况。
可配置的 gutters
现在您可以在 config.toml 文件中配置边栏。例如,您可以移除行号边栏,同时仍然显示 LSP 诊断信息。
[editor]
gutters = ["diagnostics"] # default is ["diagnostics", "line-numbers"]
本地语言配置
现在可以为每个项目单独指定语言配置。创建一个 .helix 目录,并在其中创建一个 languages.toml 文件,
以覆盖默认语言配置中的值。例如,要将 C 项目的缩进方式从空格更改为制表符:
# my_c_project/.helix/languages.toml
[[language]]
name = "c"
indent = { tab-width = 8, unit = "\t" }
标尺
现在可以通过 rulers 选项配置垂直标尺。使用它们作为参考,以确保代码行不超过最大长度限制。
显示可见的空白字符
现在可以显示空格、制表符和换行符等空白字符。您可以使用 :set 命令在运行时设置 whitespace.render
选项,也可以在 config.toml 文件的编辑器部分进行设置。可见的空白字符指示符可以使 Helix 的选择模型更加
直观,尤其是在行尾附近。用于显示制表符、空格、不间断空格和换行符的字符也可以自定义,还可以选择是否显示这
些字符。事实上,在本篇文章的其余部分,您将看到我自定义的制表符和换行符!
Use registers in prompts
Values stored in registers may now be used in prompts like search or global
search. In the above example, we yank a selection to the " register with
y and then open up the global search prompt with Space /. The available
registers are shown above the prompt and we hit " to insert the contents of
the " register.
Reflow paragraphs
新的 :reflow 命令可以将文本按指定的列宽进行自动换行。
默认列宽可以根据不同的语言进行配置。该命令能够识别行之
间的匹配前缀,因此您可以对行注释、Markdown 引用或带
有前导空格的行进行换行,并且前导字符也会被正确地放置。
切换窗口
现在可以与相邻窗口交换位置,也可以调换窗口分割方向。
打开窗口菜单(使用 C-w 或 空格 w),然后使用 H、J、K 和 L
分别将当前窗口与左侧、下方、上方和右侧的相邻窗口交换位置。
使用 t 或 C-t 可以在垂直分割和水平分割之间切换。
在运行时设置语言
现在可以在运行时设置缓冲区语言。使用
:set-language language(或简写为 :lang language)来设置语言并切换语言服务器。
总结
以上仅列举了 22.05 版本的一些主要更新亮点。请查看更新日志了解完整内容。您可以在[发布页面]下载 22.05 版本的二进制文件。从该版本开始,发布包中包含 AppImage 文件,方便 Linux 用户使用。
敬请期待 7 月份发布的 Helix 22.07 版本,届时将带来更多功能和改进。欢迎访问 GitHub 仓库 参与贡献并关注开发进展,也欢迎加入 Matrix 频道 参与讨论。