JSON
JSON 格式通常用于存储数据和配置文件。 IntelliJ IDEA 帮助您处理 JSON 文件 — 它检查其语法和格式。 在流行的配置文件类型中,IntelliJ IDEA 基于 JSON Schema 验证代码并提供代码补全,JSON Schema 是一种描述此类文件结构和内容的特殊格式。
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 schemas 和 使用 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-开头的文件。role-*/**/*.yaml匹配所有名称包含 .yaml 、role和/的/文件。role-**.yaml匹配所有名称以role-开头的 .yaml 文件。
要将项目添加到列表,请点击
。

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

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

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

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

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

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


