新聞中心
JSON 文件你肯定已經(jīng)非常熟悉了,VS Code 的配置文件、任務(wù)系統(tǒng)、代碼片段等都是使用的 JSON 語(yǔ)法。比如下面的這段調(diào)試配置:

10年的水富網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)營(yíng)銷(xiāo)推廣的優(yōu)勢(shì)是能夠根據(jù)用戶(hù)設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整水富建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“水富網(wǎng)站設(shè)計(jì)”,“水富網(wǎng)站推廣”以來(lái),每個(gè)客戶(hù)項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
{
// 使用 IntelliSense 了解相關(guān)屬性。
// 懸停以查看現(xiàn)有屬性的描述。
// 欲了解更多信息,請(qǐng)?jiān)L問(wèn): https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "啟動(dòng)程序",
"program": "${workspaceFolder}/index.js",
}
]
}JSON
你可能會(huì)疑惑,“JSON 按理說(shuō)是不允許寫(xiě)注釋的呀,為什么 VS Code 里的配置文件都可以寫(xiě)類(lèi)似 // comment 的內(nèi)容呢?”
這是因?yàn)?VS Code 為配置文件們都指定了一個(gè)特殊的 JSON 文件類(lèi)型,稱(chēng)為JSON with Comments。你可以在狀態(tài)欄的最右側(cè)看到 VS Code 的這個(gè)特殊的語(yǔ)言類(lèi)型。
與此同時(shí),JSON 的語(yǔ)言服務(wù)支持 JSON Schema。你可以通過(guò) JSON Schema 規(guī)范 JSON 內(nèi)容的格式,并且做一定程度的語(yǔ)法檢查。我們可以先來(lái)看看如何給一個(gè) JSON 文件指定 Schema。
第一種就是在 JSON 文件中直接指定,這種寫(xiě)法的好處很明顯,你能夠立刻知道自己在使用的是哪個(gè) schema。比如:
{
"$schema": "http://json.schemastore.org/babelrc"
}JSON
但是,有的時(shí)候你不希望把這個(gè) schema 設(shè)置放到代碼版本管理中去,為了滿(mǎn)足這種需求,你可以采取第二種方法:將 schema 的配置放在個(gè)人設(shè)置,或者工作區(qū)設(shè)置中。語(yǔ)法如下:
"json.schemas": [
{
"fileMatch": [
"/.babelrc"
],
"url": "http://json.schemastore.org/babelrc"
}
]JSON
在上面的代碼示例中,你可以看到 json.schemas 是一個(gè)數(shù)組,現(xiàn)在數(shù)組里只有一個(gè)值。這個(gè)值就是 schema 的配置,它有兩個(gè)屬性:
- fileMatch。顧名思義,這個(gè)值指定了哪些文件將會(huì)使用這個(gè) schema。比如在上面的示例里,fileMatch 的值中有一個(gè) /.babelrc,它意味著根目錄下的 .balelrc 文件將會(huì)使用這個(gè) schema。
- url,指定了 schema 的存儲(chǔ)地址。在這個(gè)示例中,我們會(huì)從http://json.schemastore.org/babelrc 下載 schema。通過(guò)這兩個(gè)示例,當(dāng)我們?cè)陧?xiàng)目中使用 .babelrc 文件來(lái)書(shū)寫(xiě) babel (一個(gè) JavaScript 編譯器)的配置時(shí),就能獲得正確的自動(dòng)補(bǔ)全和警告了。到這里你可能會(huì)好奇,這個(gè) schema 里的內(nèi)容到底是什么呢?為什么它能夠提供智能提示和檢查呢?我們這個(gè)專(zhuān)欄的任務(wù)雖然不是教你如何掌握 JSON schema,但是我們還是可以來(lái)看看如何在 VS Code 里書(shū)寫(xiě) JSON schema。我們先來(lái)看如下這個(gè)簡(jiǎn)單的例子:
"json.schemas": [
{
"fileMatch": [
"/.myconfig"
],
"schema": {
"type": "object",
"properties": {
"name" : {
"type": "string",
"description": "The name of the entry"
}
}
}
}]
JSON
這個(gè)例子跟之前 `.babelrc` 的例子非常接近,fileMatch 現(xiàn)在指定的是 `.myconfig` 這個(gè)文件,不過(guò)第二個(gè)屬性不再是 url 了,而是 schema。這個(gè) schema 的值,就是 JSON schema 。這個(gè)代碼示例應(yīng)該非常好理解,它指定了 `.myconfig` 里的 JSON 根對(duì)象是個(gè) Object 對(duì)象,它有個(gè)屬性叫做 name,name 的類(lèi)型必須是字符串 string。
添加了這個(gè)設(shè)置后,你可以在當(dāng)前打開(kāi)的文件夾根目錄下創(chuàng)建 `.myconfig` 文件,然后在編輯器中打開(kāi)。這之后你需要點(diǎn)擊狀態(tài)欄最右側(cè)的語(yǔ)言設(shè)置,默認(rèn)情況下,VS Code 并不認(rèn)識(shí) `.myconfig` 文件,你需要點(diǎn)擊這個(gè)語(yǔ)言設(shè)置,然后選擇 JSON。

然后你在 `.myconfig` 里書(shū)寫(xiě) JSON 時(shí),VS Code 就會(huì)給你提示 name 這個(gè)屬性了。

但如果你設(shè)置 name 的值時(shí)沒(méi)有使用字符串,而是使用了數(shù)字,VS Code 則會(huì)提出警告。
 標(biāo)題名稱(chēng):創(chuàng)新互聯(lián)vscode教程:vscode支持json
當(dāng)前網(wǎng)址:http://fisionsoft.com.cn/article/djgijoi.html


咨詢(xún)
建站咨詢(xún)
