操作系统
Windows 7
最近更新
2024年03月31日
使用许可
开源
语言
不支持中文
开发者
Helix
文件大小
23.07 MB

Helix是一款非常独特的文本编辑器,它使用Rust语言编写,充分利用了这种语言的安全性和性能优势。Helix的设计受到了诸如Kakoune和Neovim等编辑器的影响,采用了后现代的模态编辑方式,为用户提供了一种全新、高效的编辑体验。

Helix的一大亮点是其对语法高亮的处理方式。它使用了Tree-sitter进行语法高亮,这种方式比传统的正则表达式高亮更快、更准确。因为Tree-sitter像编译器一样将代码解析成语法树,从而能给出更多的代码结构信息。用户甚至可以跟踪局部变量,计算缩进,以及通过选择语法节点来操作代码,这使得Helix在处理复杂的代码结构时表现出色。

Helix的编辑模型在很大程度上基于Kakoune,它采用了多重选择作为编辑的基本单位,这与大多数编辑器以单个光标作为编辑焦点的方式形成鲜明对比。在Helix中,命令可以操作选择,然后允许用户同时编辑多处代码,这大大提高了编辑效率。

此外,Helix还内置了语言服务器支持,提供上下文感知的代码补全、诊断和代码操作等功能。这使得Helix在编写代码时能够提供类似IDE的体验,同时保持了其作为文本编辑器的轻量级和灵活性。

在用户界面方面,Helix采用了简洁、直观的设计,使用户能够专注于代码编辑本身。它的命令行界面和快捷键操作方式也为用户提供了高效、快捷的操作方式。

24.03 版本更新说明:

重大变更

语言配置中的文件类型键(file-types)中的后缀文件类型已被移除。

语言配置中的文件类型键(file-types)不再匹配没有通配符模式的完整文件名。


功能更新

可以通过 goto_file 命令打开 URLs

支持在弹出窗口和菜单周围绘制边框

跟踪长期存在的诊断源,如 Clippy 或 rustc

改进了来自仅在保存时更新诊断位置的源的诊断处理

添加对 LSP window/showDocument 请求的支持

重构临时钩子以使用新的通用事件系统

这改进了自动补全的行为。例如,在插入模式下导航不再自动触发补全。

允许在语言配置文件类型键中使用通配符

允许指定情境 LSP 激活所需的根目录

在选择模式下使用鼠标单击扩展选择

切换块注释

支持 LSP 诊断标签

添加一个文件绝对路径的状态栏元素

在 tree-sitter 移动中交叉注入层

添加一个类似 Amp-editor 的跳转命令


命令更新

:move - 移动具有 LSP 支持的缓冲区

同时参见 #8949,该更新使路径更改符合 LSP 规范,并修复了此命令的行为。

page_cursor_up, page_cursor_down, page_cursor_half_up, page_cursor_half_down - 用于同时滚动光标和页面的命令

:yank-diagnostic - 复制主要光标下的诊断信息

select_line_above / select_line_below - 根据方向和锚点扩展或缩小选区


易用性改进

在 languages.toml 配置文件中,将 [[language]] 条目的 roots 键设置为可选

在修改缓冲区的命令中退出选择模式

当失去焦点时,使用 crossterm 光标

在 join_selections 中将只包含一个空格的空行合并

引入混合 tree-sitter 和上下文缩进启发式

允许配置缩进启发式

在显示重命名提示之前检查 LSP 是否支持重命名

将 S-<小写 ascii> 键映射标准化为大写 ascii

在 --health 输出中添加格式化程序状态

更改路径标准化策略,不解析符号链接

在 :tree-sitter-subtree 中选择注入中的子树

对 $HELIX_RUNTIME 路径使用波浪线扩展和标准化

改善 LSP 跳转到引用的失败消息

使用注入语法树进行括号匹配

在 :tree-sitter-highlight-name 中尊重注入

在 move_parent_node_end 中尊重注入

使用 gix 管道过滤器代替手动 CRLF 实现

遵循 Neovim 的真彩色检测

使用 :reload 和 SIGHUP 重新加载语言配置

允许使用数字作为绑定

当 terminfo 不可用时,尊重 undercurl 配置

除了 .git 之外,还在配置为显示隐藏文件的文件选择器中忽略 .pijul、.hg 和 .jj

为 :clear-register 和 :yank-diagnostic 添加寄存器补全

对于转到下一个/上一个诊断,重复上次的运动

允许配置在渲染窄不换行空格时使用的字符

切换到流式正则表达式引擎,以显著加速基于正则表达式的命令和功能


修复内容

交换 * 和 + 寄存器的功能

使用 terminfo 来重置终端光标样式

修复 @align 捕获在缩进计算中的优先级问题

仅当选择器具有预览功能时才渲染预览

修复 ui.virtual.whitespace 的优先级问题

修复 :indent-style 命令中的崩溃问题

当同步能力为种类变体时,修复 didSave 文本包含问题

更新新聚焦视图的历史记录

打开文档时初始化诊断信息

在对未聚焦的视图应用编辑时同步视图

这修复了由 LSP 工作区编辑或 :write-all 可能导致的崩溃问题

将通过 CLI 传递的非数字 +args 视为文件名

修复在空纯文本文件上使用 mm 时的崩溃问题

在匹配括号时忽略空的 tree-sitter 节点

如果语言服务器发送包含无效 JSON 的消息,则退出该服务器

处理启用带括号的粘贴失败的情况

在模式中为所有捕获项设置 #is-not? 本地谓词

使路径更改符合 LSP 规范

使用范围位置来确定 insert_newline 运动

修复提示补全区域太小时除以零的错误

在可输入的剪贴板替换命令中添加历史记录更改

修复 DAP 中未指定行的断点导致的崩溃问题

修复 bash 补全中文件名的空格处理

将关键诊断信息关闭为路径而不是 LSP URI

修复使用 join_selections_space 时出现的恐慌(panic)问题

修复使用 surround_replace、surround_delete 时出现的恐慌问题

修复在具有嵌套包围和多光标的情况下使用 surround_replace、surround_delete 时出现的恐慌问题

修复 select_textobject_around 中的恐慌问题

在 :reload-all 命令中,当重新加载失败时,不要停止重新加载文档

防止 shell_keep_pipe 在非零退出状态码时停止执行


主题更新

添加 gruber-dark 主题

更新 everblush主题

更新 papercolor主题

添加 polmandres主题

添加 starlight主题

更新 naysayer主题

添加 modus operandi 系列主题

更新 rose_pine主题

更新 darcula主题

添加 modus vivendi 系列主题

添加 horizon-dark主题

更新 noctis主题

更新 nord主题

更新 monokai pro 系列主题

更新 tokyonight 系列主题

添加 ttox主题

添加 voxed主题

更新 sonokai主题

更新 onedark 和 onedarker主题

更新 cyan_light主题

添加 gruvbox_light_soft 和 gruvbox_light_hard主题

更新 GitHub 系列主题

添加 term16_dark 和 term16_light主题

更新 Zed 系列主题

添加 curzon主题

添加 monokai_soda主题

更新 catppuccin 系列主题

更新 rasmus主题

更新 dark_plus主题

更新 gruvbox 系列主题

为 dracula 主题添加跳转标签样式

为 horizon-dark 主题添加跳转标签样式

为 catppuccin 系列主题添加跳转标签样式

为 onedark 系列主题添加跳转标签样式

为 rose-pine 系列主题添加跳转标签样式

为 Nord 系列主题添加跳转标签样式

为 Monokai 系列主题添加跳转标签样式

为 gruvbox 系列主题添加跳转标签样式

为 kanagawa主题添加跳转标签样式

更新 material 系列主题

添加 jetbrains_dark主题


新增语言支持

Typst

LPF

GN

DBML

log

Janet

Agda

Avro

Smali

HOCON

Tact

PKL

CEL

SpiceDB

Hoon

DockerCompose

Groovy

FIDL

Powershell

ld

Hyperland 配置

JSONC

PHP Blade

SuperCollider

Koka

PKGBUILD

Ada

Helm 图表

Ember.js 模板

Ohm


更新语言和查询

为 Rust 添加 HTML 注入查询

将 RON 切换到 tree-sitter-ron

更新并改进注释高亮

在 Rust 中高亮类型参数

更换 KDL 的 tree-sitter 解析器

更新 tree-sitter-markdown

更新 tree-sitter-purescript

为 TypeScript、Go、Haskell、OCaml 和 Kotlin 添加类型参数高亮

使用 tree-sitter-scheme 为 Scheme 和 lisps 添加缩进查询

将 meson_options.txt 识别为 Meson

为 Nushell 添加语言服务器配置

将 musicxml 识别为 XML

更新 tree-sitter-rescript

更新 tree-sitter-python

将 .envrc.local 和 .envrc.private 识别为 env

更新 tree-sitter-gleam

更新 tree-sitter-d

修复 LSP 检测中的 R-markdown 语言名称

添加 haskell-language-server LSP 配置

将 glif 识别为 XML

将 .prettierrc 识别为 JSON

为 scheme 添加自动配对配置

为 Scala 添加文本对象查询

为 Protobuf 添加文本对象查询

更新 tree-sitter-wren

将 spago.yaml 添加为 PureScript 的 LSP 根目录

改进 Bash、Make 和 CSS 的高亮和缩进查询

更新 tree-sitter-scala

将 .bash_history 识别为 Bash

将 Helix 忽略文件识别为忽略文件

在 Scala SQL 字符串中注入 SQL

更新 gdscript 文本对象

更新 Go 查询

更新 tree-sitter-nushell

更新 tree-sitter-unison,添加缩进查询

更新 tree-sitter-slint

更新 tree-sitter-swift

为 fish 添加 fish_indent 作为格式化程序

将 zon 识别为 Zig

为 Odin 添加格式化程序

更新 tree-sitter-erlang

捕获 Rust 字段作为参数文本对象

改进 Dart 文本对象

将 tmux.conf 识别为 bash 文件类型

为 Nix 添加文本对象查询

为 HCL 添加文本对象查询

将 osm 和 osc 扩展名识别为 XML

更新 tree-sitter-sql

将 pde Processing 文件识别为 Java

更新 tree-sitter-lua

切换 tree-sitter-nim 解析器

将 GTK builder ui 文件识别为 XML

为 markdown-oxide 语言服务器添加配置

为 elvish 添加 shebang

修复 Svelte TypeScript 注入的优先级问题

识别常见的 Dockerfile 文件类型

将 NUON 文件识别为 Nu

为 Java 本机函数和构造函数添加文本对象

修复 JSX 高亮中的 "braket" 拼写错误

更新 tree-sitter-hurl

为 Vala 添加文本对象查询

更新 tree-sitter-git-config

将 'mmd' 识别为 Mermaid

高亮 Rust 的 extern crate 别名

改进 C++ 中的参数高亮

将 'rclone.conf' 识别为 INI

在 Ruby 的 heredocs 中为 GraphQL 和 ERB 添加注入

将 main.odin 添加到 Odin LSP 根目录中


打包

允许在 Nix 语法构建中使用用户覆盖层

将 Cargo 功能解析器设置为 v2

使用工作区继承来获取公共 Cargo 元数据

从默认构建中移除基于 sourcehut 的 tree-sitter 语法

为 Windows 可执行文件添加图标

其他版本
最近更新软件 - Windows 软件更新列表
Winpilot [系统工具] Winpilot 2024.4.7 64位
刚刚
SillyTavern [AIGC] SillyTavern 1.11.8 64位
刚刚
Ryujinx [游戏工具] Ryujinx 1.1.1291 64位
刚刚
balenaEtcher [系统工具] balenaEtcher 1.19.9 32位/64位
刚刚
FireFox [网络] FireFox 125.0.2 ARM64
刚刚
FireFox [网络] FireFox 125.0.2 64位
刚刚
FireFox [网络] FireFox 125.0.2 32位
刚刚
视频剪切合并大师 [媒体] 视频剪切合并大师 2024.1 64位
刚刚
True Burner [系统工具] True Burner 9.9 64位
刚刚
True Burner [系统工具] True Burner 9.9 32位
刚刚
新软件 - Windows 新软件列表
LabView 2024 [开发] LabView 2024 24.0.0.49238 64位
今天 11:13
LabView 2024 [开发] LabView 2024 24.0.0.49238 32位
今天 11:11
dbForge Studio for SQLServer [开发] dbForge Studio for SQLServer 6.5.140 32位/64位
今天 02:12
dbForge Studio for Oracle [开发] dbForge Studio for Oracle 4.6.15 32位/64位
今天 02:10
dbForge Studio for MySQL [开发] dbForge Studio for MySQL 10.0.225 32位/64位
今天 02:08
dbForge Studio for PostgreSQL [开发] dbForge Studio for PostgreSQL 3.1.839 32位/64位
今天 02:00
dbForge Edge Enterprise [开发] dbForge Edge Enterprise 1.3.4 32位/64位
今天 01:44
BitTorrent Pro [网络] BitTorrent Pro 7.11.0.47063 32位/64位
今天 00:56
Todoist [应用软件] Todoist 9.1.4.0 64位
今天 00:53
uTorrent Pro [网络] uTorrent Pro 3.6.0.47062 32位/64位
今天 01:28