Visual Studio Code有内置的JSON工具,包括格式化程序:https://code.visualstudio.com/docs/languages/json#_formatting
jq
hwazgwia1#
以下是如何找到您要查找的信息
\bformat\b
onFormat
languageService.format
getLanguageService
vscode-json-languageservice
format: (document: TextDocument, range: Range, options: FormattingOptions) => format(document, options, range),
format
import { format } from './utils/format';
formatJSON
import { format as formatJSON, Range as JSONCRange } from 'jsonc-parser';
"dependencies"
jsonc-parser
所以回答你的问题:
1条答案
按热度按时间hwazgwia1#
以下是如何找到您要查找的信息
\bformat\b
。onFormat
函数调用languageService.format
,其中languageService来自getLanguageService
,getLanguageService
来自vscode-json-languageservice
包。getLanguageService
返回一个包含format: (document: TextDocument, range: Range, options: FormattingOptions) => format(document, options, range),
的对象,其中format
来自import { format } from './utils/format';
。format
调用formatJSON
,其中formatJSON
来自import { format as formatJSON, Range as JSONCRange } from 'jsonc-parser';
。"dependencies"
字段,可以看到它依赖于thejsonc-parser
package。所以回答你的问题:
https://www.npmjs.com/package/jsonc-parser
1.它是否可用作Visual Studio Code之外的命令行工具?
是的。使用它的方式与microsoft/vscode-json-languageservice使用它的方式相同。将它添加为JS项目的依赖项,就像您依赖任何其他NPM包一样。
1.与jq有何不同?https://stedolan.github.io/jq/
首先,它支持带注解的JSON,而jq不支持(请参阅https://github.com/stedolan/jq/wiki/FAQ#processing-not-quite-valid-json和JQ issues with comments on Json file)。