LSP-json
针对您的 JSON 和 Sublime 文件进行模式验证/补全
详情
安装次数
- 总数 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
LSP-json
为 Sublime LSP 插件提供 JSON 支持。
使用 VSCode JSON 语言服务器 为 JSON 文件提供验证、格式化和其他功能。有关更多信息,请参阅链接的存储库。
安装
- 从 Package Control 中安装 LSP 和
LSP-json
。 - 重启 Sublime。
配置
使用命令面板通过 首选项: LSP-json 设置
命令或从 Sublime 菜单中打开(首选项 > 包设置 > LSP > 服务器 > LSP-json
)打开配置文件。
对于 PackageDev 用户
PackageDev 包实现了在编辑 Sublime 设置文件时提供自动完成和工具提示的功能,这与本包提供的功能有重叠和冲突。为了利用本包提供的严格模式,请在命令面板中打开 首选项: PackageDev 设置
并在右侧禁用以下设置功能。
{
"settings.auto_complete": false,
"settings.tooltip": false
}
颜色提供者
JSON-Language-Server 实现了一个颜色提供者,会在 JSON 文件中表示颜色的值旁边添加颜色装饰器。如果您正在使用类似 ColorHelper 或 Color 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`."
}
},
}
}
]
}
}