IntelliJ IDEA使用之JSON

2018-11-21 11:09 更新

JSON

JSON格式通常用于存儲數(shù)據(jù)和配置文件。IntelliJ IDEA可幫助您使用JSON文件 - 它會檢查其語法和格式。在流行的配置文件類型中,IntelliJ IDEA提供了代碼完成功能,這要?dú)w功于JSON Schema,它是一種描述此類文件結(jié)構(gòu)和內(nèi)容的特殊格式。您還可以使用自定義JSON模式在JSON文件中啟用代碼完成并驗(yàn)證它們。

啟用JSON5

IntelliJ IDEA可識別所有JSON標(biāo)準(zhǔn),包括JSON5。

使用JSON5的配置文件,默認(rèn)擴(kuò)展名為.json5

默認(rèn)情況下,您只能在具有json5擴(kuò)展名的文件中使用此新語法,但您可以將其擴(kuò)展到所有json文件。

  1. 在設(shè)置/首選項(xiàng)對話框(Ctrl+Alt+S),單擊文件類型下的編輯器。將打開“文件類型”頁面。

  2. 在“識別的文件類型”列表中,選擇“JSON5”。

  3. 在“已注冊的模式”區(qū)域中,單擊 加 并在打開的“添加通配符”對話框中輸入:*.json。

使用JSON Schema Store中的模式

IntelliJ IDEA可以自動從JSON Schema Store下載和使用模式,該模式存儲許多常用配置文件的模式文件。只要打開一個名稱與其中一個可用模式相關(guān)聯(lián)的文件(例如,composer.json),IntelliJ IDEA就會下載并使用此模式。應(yīng)用的架構(gòu)的名稱顯示在狀態(tài)欄上。

從JSON Schema Store下載的JSON模式,應(yīng)用模式的名稱顯示在狀態(tài)欄中

如果配置文件具有自定義名稱,請單擊狀態(tài)欄上的“無JSON模式”,然后從列表中選擇所需的模式,或單擊“新建模式映射”以打開“JSON模式映射”頁面,并配置新的自定義模式。

當(dāng)前文件沒有JSON模式

默認(rèn)情況下,啟用從JSON架構(gòu)存儲自動下載架構(gòu)。如果由于某種原因它被關(guān)閉,您可以隨時再次啟用它。

使用自定義JSON模式

除了來自JSON Schema Store的模式,IntelliJ IDEA還允許您配置和使用來自其他存儲的自定義模式。您可以下載所需的模式并將其存儲在項(xiàng)目根目錄下,或指定資源的URL,以便IntelliJ IDEA可以自動下載模式。

注意:自定義架構(gòu)必須符合JSON模式標(biāo)準(zhǔn)。

配置自定義JSON模式

  1. 在“設(shè)置/首選項(xiàng)”對話框(Ctrl+Alt+S)中,單擊“語言和框架”下的“架構(gòu)和DTD” ,然后單擊“JSON架構(gòu)映射”。將打開JSON Schema Mappings頁面。

  2. 在中央窗格中,顯示所有先前配置的自定義架構(gòu),單擊工具欄上的 加

  3. 指定架構(gòu)的名稱以及架構(gòu)符合的架構(gòu)規(guī)范版本。在“架構(gòu)文件或URL”字段中,指定先前下載的架構(gòu)文件的位置,或鍵入所需架構(gòu)可用的URL。

  4. 創(chuàng)建要針對此架構(gòu)驗(yàn)證的文件或文件夾列表。該列表可能包含特定文件的名稱,整個目錄的名稱和文件名模式。根據(jù)列表,IntelliJ IDEA在內(nèi)部檢測要驗(yàn)證的文件。每個文件僅驗(yàn)證一次。例如,如果具有指定名稱的文件存儲在列表中的目錄中,或者其名稱與模式匹配,則該文件仍僅驗(yàn)證一次。

    要將項(xiàng)添加到列表,請單擊 添加映射并指定文件或文件夾的路徑或鍵入文件模式。

提示:IntelliJ IDEA僅在當(dāng)前項(xiàng)目中搜索具有指定名稱的文件和文件夾,因此您無需指定文件和文件夾的完整路徑

從遠(yuǎn)程源啟用JSON模式的自動下載

  1. 在“設(shè)置/首選項(xiàng)”對話框(Ctrl+Alt+S)中,單擊“語言和框架”下的“架構(gòu)和DTD” ,然后單擊“遠(yuǎn)程JSON架構(gòu)”。

  2. 選擇允許從遠(yuǎn)程源下載JSON模式。

    清除此復(fù)選框后,將禁用JSON架構(gòu)周圍的任何網(wǎng)絡(luò)活動:

    • 用戶定義的模式映射和$schema屬性都不會導(dǎo)致下載任何內(nèi)容。

    • 目錄也未下載。

  3. 要使用JSON Schema Store,請選中Use schemastore.org JSON Schema catalog復(fù)選框。

    清除此復(fù)選框后,將禁用通過SchemaStore API的自動映射,并且不會使用catalog.json自動分配任何模式。

    您可以使用遠(yuǎn)程URL提供自己的映射。將下載映射的模式,JSON模式選擇器將顯示模式存儲模式的列表。但是,JSON模式存儲中的模式不會自動映射。

處理模式范圍內(nèi)的沖突

當(dāng)文件,文件夾或模式屬于兩個或多個模式的范圍時,會發(fā)生沖突。IntelliJ IDEA以兩種模式分析范圍:

  • 靜態(tài)分析檢測自定義模式范圍內(nèi)的沖突。如果檢測到?jīng)_突,IntelliJ IDEA會在“模式詳細(xì)信息”窗格中顯示警告。要查看重疊范圍,請單擊“顯示詳細(xì)信息”鏈接。IntelliJ IDEA顯示彈出消息,其中列出了沖突的范圍和模式:
    有關(guān)設(shè)置/首選項(xiàng)對話框中沖突的架構(gòu)范圍的通知
  • 動態(tài)分析檢測系統(tǒng)和自定義模式范圍內(nèi)的沖突。當(dāng)您打開屬于特定范圍的文件時,將啟動此類分析。如果檢測到?jīng)_突,IntelliJ IDEA會在編輯器選項(xiàng)卡的頂部顯示警告:
    關(guān)于編輯器中沖突的模式范圍的通知
    單擊該鏈接以打開JSON Schema Mappings頁面并編輯沖突的自定義架構(gòu)的范圍。請注意,您無法編輯系統(tǒng)架構(gòu)的范圍。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號