IntelliJ IDEA使用之JSON
JSON
JSON格式通常用于存储数据和配置文件。IntelliJ IDEA可帮助您使用JSON文件 - 它会检查其语法和格式。在流行的配置文件类型中,IntelliJ IDEA提供了代码完成功能,这要归功于JSON Schema,它是一种描述此类文件结构和内容的特殊格式。您还可以使用自定义JSON模式在JSON文件中启用代码完成并验证它们。
启用JSON5
IntelliJ IDEA可识别所有JSON标准,包括JSON5。
默认情况下,您只能在具有json5扩展名的文件中使用此新语法,但您可以将其扩展到所有json文件。
-
在设置/首选项对话框(Ctrl+Alt+S),单击文件类型下的编辑器。将打开“文件类型”页面。
-
在“识别的文件类型”列表中,选择“JSON5”。
-
在“已注册的模式”区域中,单击 并在打开的“添加通配符”对话框中输入:*.json。
使用JSON Schema Store中的模式
IntelliJ IDEA可以自动从JSON Schema Store下载和使用模式,该模式存储许多常用配置文件的模式文件。只要打开一个名称与其中一个可用模式相关联的文件(例如,composer.json),IntelliJ IDEA就会下载并使用此模式。应用的架构的名称显示在状态栏上。
如果配置文件具有自定义名称,请单击状态栏上的“无JSON模式”,然后从列表中选择所需的模式,或单击“新建模式映射”以打开“JSON模式映射”页面,并配置新的自定义模式。
默认情况下,启用从JSON架构存储自动下载架构。如果由于某种原因它被关闭,您可以随时再次启用它。
使用自定义JSON模式
除了来自JSON Schema Store的模式,IntelliJ IDEA还允许您配置和使用来自其他存储的自定义模式。您可以下载所需的模式并将其存储在项目根目录下,或指定资源的URL,以便IntelliJ IDEA可以自动下载模式。
注意:自定义架构必须符合JSON模式标准。
配置自定义JSON模式
-
在“设置/首选项”对话框(Ctrl+Alt+S)中,单击“语言和框架”下的“架构和DTD” ,然后单击“JSON架构映射”。将打开JSON Schema Mappings页面。
-
在中央窗格中,显示所有先前配置的自定义架构,单击工具栏上的 。
-
指定架构的名称以及架构符合的架构规范版本。在“架构文件或URL”字段中,指定先前下载的架构文件的位置,或键入所需架构可用的URL。
-
创建要针对此架构验证的文件或文件夹列表。该列表可能包含特定文件的名称,整个目录的名称和文件名模式。根据列表,IntelliJ IDEA在内部检测要验证的文件。每个文件仅验证一次。例如,如果具有指定名称的文件存储在列表中的目录中,或者其名称与模式匹配,则该文件仍仅验证一次。
要将项添加到列表,请单击 并指定文件或文件夹的路径或键入文件模式。
提示:IntelliJ IDEA仅在当前项目中搜索具有指定名称的文件和文件夹,因此您无需指定文件和文件夹的完整路径
从远程源启用JSON模式的自动下载
-
在“设置/首选项”对话框(Ctrl+Alt+S)中,单击“语言和框架”下的“架构和DTD” ,然后单击“远程JSON架构”。
-
选择允许从远程源下载JSON模式。
清除此复选框后,将禁用JSON架构周围的任何网络活动:
-
用户定义的模式映射和$schema属性都不会导致下载任何内容。
-
目录也未下载。
-
-
要使用JSON Schema Store,请选中Use schemastore.org JSON Schema catalog复选框。
清除此复选框后,将禁用通过SchemaStore API的自动映射,并且不会使用catalog.json自动分配任何模式。
您可以使用远程URL提供自己的映射。将下载映射的模式,JSON模式选择器将显示模式存储模式的列表。但是,JSON模式存储中的模式不会自动映射。
处理模式范围内的冲突
当文件,文件夹或模式属于两个或多个模式的范围时,会发生冲突。IntelliJ IDEA以两种模式分析范围:
- 静态分析检测自定义模式范围内的冲突。如果检测到冲突,IntelliJ IDEA会在“模式详细信息”窗格中显示警告。要查看重叠范围,请单击“显示详细信息”链接。IntelliJ IDEA显示弹出消息,其中列出了冲突的范围和模式:
- 动态分析检测系统和自定义模式范围内的冲突。当您打开属于特定范围的文件时,将启动此类分析。如果检测到冲突,IntelliJ IDEA会在编辑器选项卡的顶部显示警告:
单击该链接以打开JSON Schema Mappings页面并编辑冲突的自定义架构的范围。请注意,您无法编辑系统架构的范围。