JSON
JSON 格式通常用于存储数据和配置文件。 IntelliJ IDEA 帮助您处理 JSON 文件 — 它检查其语法和格式。 在常用类型的配置文件中,IntelliJ IDEA 会基于 JSON 架构验证代码并提供代码补全,JSON 架构是一种用于描述此类文件结构和内容的特殊格式。
IntelliJ IDEA 随附一组适用于大多数常用格式的 已注册架构。 您还可以 使用来自 JSON Schema Store 的模式 或 自定义 JSON 模式。

启用 JSON5
IntelliJ IDEA 可识别多种最常用的 JSON 标准,包括 JSON5。 IntelliJ IDEA 默认会将具有 json5 扩展名的文件视为 JSON5 文件,并在其中支持这种新语法。

将 JSON5 语法扩展到所有 JSON 文件
在 设置 对话框(Ctrl+Alt+S ),转到 。
在 识别的文件类型 列表中,选择 JSON5。
在 文件名模式 区域,点击
并在打开的 添加通配符 对话框中键入
*.json。
使用来自 JSON Schema Store 的模式
IntelliJ IDEA 可以自动下载并使用 JSON Schema Store 中的架构,该平台托管许多最受欢迎的配置文件的架构文件。 当您打开一个与可用架构之一关联的文件(例如, tsconfig.json )时,IntelliJ IDEA 将下载并使用此架构。 应用架构的名称显示在状态栏上。

如果配置文件使用自定义名称,或者正在处理 临时文件 ,请点击状态栏上的 无 JSON schema ,然后从列表中选择所需的架构。 IntelliJ IDEA 将当前文件与所选模式关联,并将此模式映射添加到 JSON Schema 映射 页面上的列表中。
或者,点击 新的 Schema Mapping 打开 JSON Schema 映射 页面,并 配置新的架构关联。

默认情况下,JSON Schema Store 的模式自动下载功能处于启用状态。 如果它被关闭,您可以随时重新启用。
自动从 JSON Schema Store 下载模式
在 设置 对话框(Ctrl+Alt+S ),转到 。
请选中 允许从远程源下载 JSON 架构 和 使用 schemastore.org JSON Schema 目录 复选框。
IntelliJ IDEA 捆绑了许多最受欢迎的的模式。 虽然这些模式会定期自动更新,但它们仍可能过时。
使用最新版本的内置模式
在 设置 对话框(Ctrl+Alt+S ),转到 。
请选择 始终下载最新版本的模式 复选框。
使用自定义 JSON 模式
除了捆绑的已注册模式和 来自 JSON Schema Store 的模式 ,IntelliJ IDEA 还允许您创建自己的模式或使用来自其他存储的自定义模式。 您可以创建或下载所需的模式,并将其存储在项目根目录下,或者指定资源的 URL,以便 IntelliJ IDEA 可以自动下载该模式。
自定义架构必须符合 JSON 架构标准。 目前,IntelliJ IDEA 支持 2020-12 及更早版本的模式。

创建自定义 JSON 模式关联
在 设置 对话框(Ctrl+Alt+S ),转到 。
或者,点击状态栏上的 无 JSON 架构 ,然后选择 新的 Schema Mapping。 在这种情况下,IntelliJ IDEA 会自动将文件包含在 关联的文件、文件夹和模式列表 中。
在显示之前配置的所有架构的中央窗格中,点击工具栏上的
,并指定映射的名称。
在 架构文件或 URL 字段中,指定先前创建或下载的模式文件的位置,或所需模式可用的 URL。 架构文件的名称或对应的 URL 地址会显示在 架构文件或 URL 字段中。

指定您的模式符合的 模式规范版本。

创建要根据此 Schema 验证的文件或文件夹列表。 根据列表,IntelliJ IDEA 内部检测要验证的文件。
列表可能包含特定文件的名称、整个目录的名称以及文件名模式。 使用以下规则指定文件名模式:
role-*匹配所有以角色-开头的文件。role-*/**/*.yaml匹配所有名称包含 .yaml 、role和/的/文件。role-**.yaml匹配所有名称以角色-开头的 .yaml 文件。
要将项目添加到列表中,请点击
。

指定文件或文件夹的路径,或键入文件模式。 指定相对于项目根目录的路径。

启用从远程来源自动下载 JSON 架构
在 设置 对话框(Ctrl+Alt+S ),转到 。
请选择 允许从远程源下载 JSON 架构。
当该复选框被清除时,关于 JSON Schemas 的任何网络活动,包括来自 JSON Schema Store 的架构,将被禁用。
禁用 JSON 模式
处理模式范围之间的冲突
如果文件、文件夹或模式属于两个或更多架构的范围,IntelliJ IDEA 会检测到此冲突,并在编辑器以及 设置 对话框的 JSON Schema 映射 页面上显示警告。
在编辑器中,当您打开属于多个范围的文件时,会显示警告。

在 设置 对话框的 JSON Schema 映射 页面上,当多个映射的范围重叠时,会显示警告。

在 JSON 模式中使用 HTML 描述
默认情况下,IntelliJ IDEA 会在文档弹出窗口中显示 JSON schema 定义的文档时转义 HTML 字符。
假设您的模式使用了 描述 属性:
随后 快速文档 弹出窗口将如下所示:

要获得带有丰富 HTML 标记的美观文档,请将 HTML 描述存储在 x-intellij-html-description 扩展属性中,而不是 描述:
现在 快速文档 弹出窗口如下所示:

配置语法高亮
您可以根据自己的偏好和习惯配置 JSON 感知语法高亮。
在 设置 对话框(Ctrl+Alt+S ),转到 。
选择配色方案,接受从默认设置继承的高亮设置,或按照 颜色与字体 中的说明进行自定义。


