ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

LSP-json

sublimelsp ST3

针对您的 JSON 和 Sublime 文件进行模式验证/补全

详情

  • 1.20.2
    1.18.2
  • github​.com
  • github​.com
  • 1 个月前
  • 2 小时前
  • 5 年前

安装次数

  • 总数 22K
  • Win 8K
  • Mac 8K
  • Linux 7K
8 月 6 日 8 月 5 日 8 月 4 日 8 月 3 日 8 月 2 日 8 月 1 日 7 月 31 日 7 月 30 日 7 月 29 日 7 月 28 日 7 月 27 日 7 月 26 日 7 月 25 日 7 月 24 日 7 月 23 日 7 月 22 日 7 月 21 日 7 月 20 日 7 月 19 日 7 月 18 日 7 月 17 日 7 月 16 日 7 月 15 日 7 月 14 日 7 月 13 日 7 月 12 日 7 月 11 日 7 月 10 日 7 月 9 日 7 月 8 日 7 月 7 日 7 月 6 日 7 月 5 日 7 月 4 日 7 月 3 日 7 月 2 日 7 月 1 日 6 月 30 日 6 月 29 日 6 月 28 日 6 月 27 日 6 月 26 日 6 月 25 日 6 月 24 日 6 月 23 日 6 月 22 日
Windows 8 10 5 7 5 6 6 12 11 3 6 6 5 5 12 13 10 4 4 9 8 8 5 6 7 9 6 14 10 18 5 12 6 3 10 5 11 6 9 6 10 7 6 6 7 1
Mac 8 5 4 5 12 4 6 8 5 2 4 6 5 3 13 9 5 2 8 6 7 7 4 2 3 13 9 6 7 5 4 4 11 4 7 8 5 4 2 5 8 8 13 9 5 12
Linux 6 5 10 10 8 10 8 7 7 5 6 10 9 6 14 7 5 6 9 8 4 11 13 5 4 14 8 12 8 9 7 8 6 6 5 11 11 10 11 8 6 10 5 10 6 6

README

源代码
raw.githubusercontent.com

LSP-json

为 Sublime LSP 插件提供 JSON 支持。

使用 VSCode JSON 语言服务器 为 JSON 文件提供验证、格式化和其他功能。有关更多信息,请参阅链接的存储库。

安装

  • 从 Package Control 中安装 LSPLSP-json
  • 重启 Sublime。

配置

使用命令面板通过 首选项: LSP-json 设置 命令或从 Sublime 菜单中打开(首选项 > 包设置 > LSP > 服务器 > LSP-json)打开配置文件。

对于 PackageDev 用户

PackageDev 包实现了在编辑 Sublime 设置文件时提供自动完成和工具提示的功能,这与本包提供的功能有重叠和冲突。为了利用本包提供的严格模式,请在命令面板中打开 首选项: PackageDev 设置 并在右侧禁用以下设置功能。

{
  "settings.auto_complete": false,
  "settings.tooltip": false
}

颜色提供者

JSON-Language-Server 实现了一个颜色提供者,会在 JSON 文件中表示颜色的值旁边添加颜色装饰器。如果您正在使用类似 ColorHelperColor Highlight 的颜色插件,您可能希望禁用此功能。要禁用它,请按上述方法打开 LSP-json 设置,并在右侧添加以下设置。

{
  "disabled_capabilities": {
    "colorProvider": true
  }
}

自定义模式

要手动加载创建的架构,请将这些架构添加到设置文件中的 userSchemas 配置。有关更多信息,请参阅那里的注释。

自定义架构条目需要看起来像

{
  "fileMatch": [
    "/my-file.json"
  ],
  "uri": "./my-file-schema.json",
}

fileMatch 是一个文件模式数组,用于在解析 JSON 文件为架构时进行比较。可以使用 *** 作为通配符。还可以定义排除模式,并以 ! 开始。当至少有一个匹配模式,且最后一个匹配模式不是排除模式时,文件匹配成功。

uri 是一个架构的 URI 或文件路径。当在项目设置中定义时,可以是相对路径(以 ./ 开头),在这种情况下,它将在第一个项目文件夹中进行解析。

由包提供的架构

Sublime Text 包可以为其自己的设置提供架构,或者为全局 ST 设置或其他配置文件(例如 *.sublime-project 文件)做出贡献。

这通过在包中包含一个 sublime-package.json 文件来实现(位置无关),并在其中定义架构。对架构所做的任何更改都会自动应用于匹配的文件,因此无需重新启动服务器或 ST。

以下是在一个 sublime-package.json 文件中定义了三个不同架构的示例

{
  "contributions": {
    "settings": [
      {
        // Schema for MyPackage configuration.
        "file_patterns": ["/MyPackage.sublime-settings"],
        "schema": {
          "properties": {
            "my_cool_setting": {
              "type": "string",
              "default": "yes",
              "enum": ["yes", "no"],
              "markdownDescription": "Decides whether something is `on` or `off`."
            }
          },
          "additionalProperties": false,
        }
      },
      {
        // Schema to extend global ST Preferences.
        "file_patterns": ["/Preferences.sublime-settings"],
        "schema": {
          "properties": {
            "my_cool_setting": {
              // Reuses definition from the pattern-less schema defined below.
              "$ref": "sublime://settings/foo/base#/definitions/ReuseMe"
            }
          },
        }
      },
      {
        // Pattern-less schema (note that "file_patterns" is missing).
        // Can be added for the purpose of referencing it (or its definitions) from another schema.
        // Pattern-less schema must define an "$id" to be able to refer to it from other schemas.
        // It's recommended to assign URIs like "sublime://settings/foo/base" for "$id".
        "schema": {
          "$id": "sublime://settings/foo/base"
          "definitions": {
            "ReuseMe": {
              "type": "string",
              "default": "no",
              "enum": ["yes", "no"],
              "markdownDescription": "Decides whether something is `on` or `off`."
            }
          },
        }
      }
    ]
  }
}