Helix 23.03 发布,模态文本编辑器

Helix 是一种模态文本编辑器,内置支持多选、语言服务器协议 (LSP)、tree-sitter 以及对调试适配器协议 (DAP) 的实验性支持。

现已发布 23.03 版本,以下是该版本的一些 Highlights 

Soft-wrap 软包装

Soft-wrap 分解行以适合视图,无需在文本中插入实际的换行符(所谓的“hard-wrapping”)。对于阅读和编辑行特别长的文档或代码很有用。使用 editor.soft-wrap.enable 键在配置中启用软包装:

Soft-wrap 是在 Helix 代码库中的新“虚拟文本”API 之上实现的第一个功能。虚拟文本 API 允许在不干扰定位和修改的情况下装饰和操作文档中的实际文本。

Inlay hints 镶嵌提示

Inlay hints 是最新 LSP 规范中的一项新功能。语言服务器可以为编辑器提供在文档中显示的提示。在上面的示例中,rust-analyzer 为变量和中间表达式以及函数调用中的参数名称提供了类型提示。

可以使用 lsp.display-inlay-hints 键在您的配置中启用嵌入提示。

Initial support for snippets 对片段的初始支持

LSP 片段是语言服务器为编辑器提供更复杂补全的一种方式。语言服务器可以指定在完成(制表位)、占位符值等中放置光标的位置。

Helix 现在初步支持 LSP 完成,为未来的工作留下更高级的代码片段功能,如虚拟占位符、多个制表位和变量替换。

Dynamic workspace symbol picker 动态工作区符号选择器

工作区符号选择器 ( <space>S ) 是 LSP 驱动的功能,用于在项目中查找符号。但是,大型项目可能有很多符号,因此此符号选择器通常不会一次加载所有符号。

工作区符号选择器已在此版本中重新设计,以便在选择器中键入时使用新查询动态重新请求符号。这让语言服务器缩小了符号的数量,并且只告诉 Helix 与搜索相关的符号。

这还修复了与某些语言服务器的兼容性,这些语言服务器返回没​​有查询( gopls 、 pyright 、 clangd )或有限结果( rust-analyzer )的空符号。

此重构中引入的“动态选择器”可能会在未来使其他选择器受益,例如允许全局搜索选择器 ( <space>/ ) ,在更改查询时即时更新。

版本控制 HEAD 状态行元素

添加了一个新的状态行元素,它显示版本控制 HEAD。通过在 left 、 center 或 right 端的配置的 editor.statusline 部分中引入 "version-control" 元素,将其添加到状态行

Enhanced keyboard protocol 增强型键盘协议

启用了对增强型键盘协议的支持。支持该协议的终端(Kitty、WezTerm)现在可以向 Helix 发送明确的键码,启用以前无法绑定的键组合,如 C-/ 、 C-h 或 S-backspace 。

对于支持该协议的终端,此功能开箱即用。

Runtime directory refactor 运行时目录重构

Helix 将 tree-sitter 解析器和查询、主题和导师文件等文件保存在一个特殊的“运行时”目录中。该目录通常由您的包管理器安装,不应手动修改。

现在支持多个运行时目录,可以保持包管理器安装的运行时文件不变,同时向本地运行时目录添加新的 tree-sitter 解析器和查询。在 Unix 系统上,可以将文件添加到 ~/.config/helix/runtime 目录,该目录优先于包管理器安装的运行时目录。

查看 23.03 的更新日志( changelog ),了解有关此版本中所有更改的完整详细信息。

猜你喜欢

转载自www.oschina.net/news/235068/helix-23-03-released