入门 Zed Industries 2026-09-14 17:42:19 · 0 阅读

第101章 在 Zed 编辑器中配置 R 语言支持

Zed 中可通过多个 R 扩展获得 R 语言支持:

安装

  1. 下载并安装 R
  2. 安装 R 包 languageserverlintr
install.packages("languageserver")
install.packages("lintr")
  1. 通过 Zed 的扩展管理器安装 R 扩展,以获取基础的 R 语言支持(语法高亮、Tree-sitter 支持)并启用对 REditorSupport/languageserver 的支持。

  2. 通过 Zed 的扩展管理器安装 Air 扩展,以便使用 Air 对 R 代码进行格式化。

静态检查

REditorSupport/languageserver 内置了对 r-lib/lintr 的支持,将其作为 Linter 使用。你可以通过在项目中配置 .lintr 文件(或在家目录下配置以实现全局默认设置)来进行调整。

linters: linters_with_defaults(
    line_length_linter(120),
    commented_code_linter = NULL
  )
exclusions: list(
    "inst/doc/creating_linters.R" = 1,
    "inst/example/bad.R",
    "tests/testthat/exclusions-test"
  )

也可以排除所有内容,不执行任何静态检查:

exclusions: list(".")

更多配置选项,请参考 使用 lintr

格式化

Air

Air 提供 R 代码格式化功能,并支持保存时自动格式化。关于在 Zed 中运行 Air 的最新建议,请参阅 Air 针对 Zed 的文档

确保你已安装以下两个扩展:ocsmit/zed-r(用于在 Zed 中提供通用的 R 语言支持)以及 Air 扩展。

在设置中({#kb zed::OpenSettings}),通过“Languages > R”配置语言服务器,或者在你的设置文件中添加以下内容:

{
  "languages": {
    "R": {
      "language_servers": ["air"]
    }
  }
}

如果你使用的是来自 REditorSupport/languageserver"r_language_server",但仍希望使用 Air 进行格式化,请在设置中({#kb zed::OpenSettings})通过“Languages > R”进行配置,或者在你的设置文件中添加以下内容:

{
  "languages": {
    "R": {
      "language_servers": ["air", "r_language_server"],
      "use_on_type_format": false
    }
  }
}

请注意,在此列表中 "air" 必须放在第一位,否则 r-lib/styler 将通过 "r_language_server" 被调用。

"r_language_server" 提供的输入时格式化规则与 Air 不同。为了完全避免这种情况并让 Air 完全接管 R 文件的格式化,如上所示,还需设置 "use_on_type_format": false

配置 Air

你可以通过在项目的根目录放置一个 air.toml 文件来对 Air 进行基本配置:

[format]
line-width = 80
indent-width = 2

如需更多详细信息,请查阅 Air 文档中的配置部分。

Styler

REditorSupport/languageserverr-lib/styler 作为格式化器包含在内。关于如何自定义其行为,请参阅Customizing Styler

评论 (0)