跳至内容

关于补全的 json 文件结构

json
{
  "root": [],
  "options": [],
  "common_options": [],
  "info": {},
  "config": []
}
  • 以上是 json 文件的总体结构
  • json 文件使用了 schema 架构来验证 json 内容的正确和完整
    • 在 vscode 中,你可以通过悬浮提示了解属性
  • 其实很简单,多看几个已有的 json 文件,就能看懂了

属性详解

1. root

  • 值类型: 数组
    • 数组中的每一项是一个对象
    • 对象可用属性: name(必需)、aliasnextoptionstiphide

2. options

  • 值类型: 数组
  • root 中的每一项的 options 相同
    json
    {
      "options": [
        {
          "name": "--version",
          "alias": ["-V"],
          "tip": ["显示当前版本"]
        }
      ]
    }

3. common_options

  • 值类型: 数组
  • 结构与 options 相同
    json
    {
      "common_options": [
        {
          "name": "--help",
          "alias": ["-h"],
          "tip": ["显示帮助信息"]
        }
      ]
    }

4. info

  • 值类型: 对象
  • 定义的所有值,可以在其他的 tip 中通过以下语法使用
    json
    {
      "root": [
        {
          "name": "test",
          "tip": "{{ $info.test_tip }}"
        }
      ],
      "info": {
        "test_tip": "这是一个测试内容"
      }
    }

5. config

  • 值类型: 数组
  • 定义补全的特殊配置
  • git 的特殊配置为例
    json
    "config": [
        {
          "name": "max_commit",
          "value": 20,
          "values": [
              -1,
              20
          ],
          "tip": [
              "可以为当前项目解析的 commit 的最大数量,默认为 20。\n",
              "如果设置为 <@Magenta>-1<@Blue>, 会解析所有 commit,这对补全加载速度有影响。"
          ]
        }
    ]