当您在 VSCode 上选择 JSON with Comments 作为语言模式时会发生什么?

cbd*_*per 1 json comments visual-studio-code

当语言模式设置为 JSON(根据文件扩展名自动检测)时,我收到错误:

在此输入图像描述

在此输入图像描述

但如果我将其设置为带有注释的 JSON,错误就会消失:

在此输入图像描述

在此输入图像描述

我想知道的是当我将其设置为时到底发生了什么JSON With Comments

很明显,VSCode 不再抱怨 JSON 文件中的注释。

但是,当某些包需要读取这些文件时,注释会被删除吗?我通常需要在配置文件中进行注释,例如:

  • .eslintrc.json
  • firebase.json

我是否有通过评论来“损坏”配置文件的风险?这样做安全吗?在我的例子中,会eslint忽略firebase这些评论吗?它是如何工作的?

Mat*_*ner 5

给定 JSON 文件是否支持注释完全取决于该文件的使用方式。.eslintrc.json例如,文件可以有注释,因为 eslint 库/工具可以正确解析它们,但是许多其他工具如果遇到 json 中的注释,就会抱怨

VS Code 的两种 json 语言模式 ( JSONvs JSON with Comments) 仅决定 VS Code 及其扩展如何解释编辑器中的文件。它们不会更改文件的内容或影响其他应用程序解释该文件的方式。(即在 VS Code 中更改模式不应“损坏”文件)

  • JSON如果您编写的 json 需要是标准 json,请使用语言模式。如果您添加注释或尾随逗号,VS Code 将通过警告来帮助强制执行此操作

  • JSON with Comments如果您正在为支持注释的应用程序编写 json(例如.eslintrc.json),请使用语言模式