---
url: /docs/guide/usage/linter/lsp-config-reference.md
---

# LSP 选项

::: info
本文档介绍了 `oxlint` 的原生 LSP 选项。根据你的编辑器不同，你可能会有不同的选项。
请参见 [编辑器设置](/docs/guide/usage/linter/editors.md) 来配置你的编辑器选项。
:::

这些选项可以为每个工作区文件夹分别定义。
选项中的文件引用（例如 `configPath`、`tsConfigPath`）会相对于工作区文件夹进行解析。

它们可以由客户端在 `initialize` 或 `workspace/didChangeConfiguration` 请求中发送。
如果客户端支持 `workspace/configuration`，服务器将向客户端请求这些选项。

`initialize` 请求示例：

```json
{
  "processId": 123,
  "rootUri": null,
  "workspaceFolders": [],
  "capabilities": {},
  "initializationOptions": [
    {
      "workspaceUri": "file:///home/user/project",
      "options": {
        "unusedDisableDirectives": "deny",
        "typeAware": true
      }
    }
  ]
}
```

`workspace/didChangeConfiguration` 请求示例：

```json
{
  "settings": [
    {
      "workspaceUri": "file:///home/user/project",
      "options": {
        "unusedDisableDirectives": "deny",
        "disableNestedConfig": true
      }
    }
  ]
}
```

## configPath

类型：`string`

配置文件的路径。类似于 `--config` CLI 选项。
如果设置了该项，则会禁用对配置文件的搜索。
空字符串会被视为未设置。

## disableNestedConfig

类型：`boolean`

是否禁用嵌套配置支持。类似于 `--disable-nested-config` CLI 选项。
当设置了 `configPath` 时，它会自动启用。
在 Vite+ 模式下，嵌套配置支持始终禁用。

## fixKind

类型：`"safe_fix" | "safe_fix_or_suggestion" | "dangerous_fix" | "dangerous_fix_or_suggestion" | "none" | "all"`

为代码操作生成哪类修复。

## rulesCustomization

类型：`Record<string, object>`

针对单个规则的自定义，允许覆盖 linter 的诊断和自动修复。
例如将 `"no-unused-vars"` 规则的严重程度降低为 `"hint"`，并为其禁用自动修复：

```json
{
  "rulesCustomization": {
    "no-unused-vars": {
      "severity": "hint",
      "autofix": false
    }
  }
}
```

## run

类型：`"onSave" | "onType"`

如果你的编辑器不支持 `textDocument/diagnostic`，
此选项用于处理何时将诊断发送给客户端。

此选项仅适用于使用推送模型的客户端。支持 `textDocument/diagnostic` 的客户端会自行请求诊断信息（拉取模型），因此 `run` 目前对它们没有影响。
请参阅 [#26613](https://github.com/oxc-project/oxc/issues/26613)。

## tsConfigPath

类型：`string`

tsconfig 文件的路径。类似于 `--tsconfig` CLI 选项。
如果设置了该项，则会禁用对 tsconfig 文件的自动发现。
空字符串会被视为未设置。

## typeAware

类型：`boolean`

是否启用/禁用类型感知的 linting。
如果设置了该项，它将覆盖根配置中的 `typeAware` 选项。

## unusedDisableDirectives

类型：`"allow" | "warn" | "deny"`

如何处理未使用的禁用指令。默认情况下，它们被允许并忽略。
