JavaScript.json

    1{
    2  "allOf": [
    3    {
    4      "if": {
    5        "properties": {
    6          "type": {
    7            "enum": [
    8              "pwa-node"
    9            ]
   10          },
   11          "request": {
   12            "enum": [
   13              "launch"
   14            ]
   15          }
   16        },
   17        "required": [
   18          "type",
   19          "request"
   20        ]
   21      },
   22      "then": {
   23        "properties": {
   24          "args": {
   25            "description": "Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.",
   26            "type": [
   27              "array",
   28              "string"
   29            ],
   30            "default": [],
   31            "items": {
   32              "type": "string"
   33            },
   34            "tags": [
   35              "setup"
   36            ]
   37          },
   38          "attachSimplePort": {
   39            "description": "If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.",
   40            "default": 9229,
   41            "oneOf": [
   42              {
   43                "type": "integer"
   44              },
   45              {
   46                "type": "string",
   47                "pattern": "^\\${.*}$"
   48              }
   49            ]
   50          },
   51          "autoAttachChildProcesses": {
   52            "description": "Attach debugger to new child processes automatically.",
   53            "type": "boolean",
   54            "default": true
   55          },
   56          "cascadeTerminateToConfigurations": {
   57            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
   58            "type": "array",
   59            "default": [],
   60            "items": {
   61              "type": "string",
   62              "uniqueItems": true
   63            }
   64          },
   65          "console": {
   66            "description": "Where to launch the debug target.",
   67            "type": "string",
   68            "default": "internalConsole",
   69            "enum": [
   70              "internalConsole",
   71              "integratedTerminal",
   72              "externalTerminal"
   73            ],
   74            "enumDescriptions": [
   75              "VS Code Debug Console (which doesn't support to read input from a program)",
   76              "VS Code's integrated terminal",
   77              "External terminal that can be configured via user settings"
   78            ]
   79          },
   80          "customDescriptionGenerator": {
   81            "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
   82            "type": "string"
   83          },
   84          "customPropertiesGenerator": {
   85            "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
   86            "type": "string",
   87            "deprecated": true
   88          },
   89          "cwd": {
   90            "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
   91            "type": "string",
   92            "default": "${ZED_WORKTREE_ROOT}",
   93            "tags": [
   94              "setup"
   95            ]
   96          },
   97          "enableContentValidation": {
   98            "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
   99            "type": "boolean",
  100            "default": true
  101          },
  102          "enableDWARF": {
  103            "type": "boolean",
  104            "default": true,
  105            "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
  106          },
  107          "env": {
  108            "type": "object",
  109            "additionalProperties": {
  110              "type": [
  111                "string",
  112                "null"
  113              ]
  114            },
  115            "default": {},
  116            "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
  117            "tags": [
  118              "setup"
  119            ]
  120          },
  121          "envFile": {
  122            "description": "Absolute path to a file containing environment variable definitions.",
  123            "type": "string",
  124            "default": "${ZED_WORKTREE_ROOT}/.env"
  125          },
  126          "experimentalNetworking": {
  127            "description": "Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.",
  128            "type": "string",
  129            "default": "auto",
  130            "enum": [
  131              "auto",
  132              "on",
  133              "off"
  134            ]
  135          },
  136          "killBehavior": {
  137            "type": "string",
  138            "default": "forceful",
  139            "enum": [
  140              "forceful",
  141              "polite",
  142              "none"
  143            ],
  144            "markdownDescription": "Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."
  145          },
  146          "localRoot": {
  147            "description": "Path to the local directory containing the program.",
  148            "type": [
  149              "string",
  150              "null"
  151            ],
  152            "default": null
  153          },
  154          "nodeVersionHint": {
  155            "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
  156            "type": "number",
  157            "default": 12,
  158            "minimum": 8
  159          },
  160          "outFiles": {
  161            "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
  162            "type": [
  163              "array"
  164            ],
  165            "default": [
  166              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
  167              "!**/node_modules/**"
  168            ],
  169            "items": {
  170              "type": "string"
  171            },
  172            "tags": [
  173              "setup"
  174            ]
  175          },
  176          "outputCapture": {
  177            "default": "console",
  178            "enum": [
  179              "console",
  180              "std"
  181            ],
  182            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
  183          },
  184          "pauseForSourceMap": {
  185            "type": "boolean",
  186            "default": false,
  187            "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
  188          },
  189          "profileStartup": {
  190            "description": "If true, will start profiling as soon as the process launches",
  191            "type": "boolean",
  192            "default": true
  193          },
  194          "program": {
  195            "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
  196            "type": "string",
  197            "default": "",
  198            "tags": [
  199              "setup"
  200            ]
  201          },
  202          "remoteRoot": {
  203            "description": "Absolute path to the remote directory containing the program.",
  204            "type": [
  205              "string",
  206              "null"
  207            ],
  208            "default": null
  209          },
  210          "resolveSourceMapLocations": {
  211            "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
  212            "type": [
  213              "array",
  214              "null"
  215            ],
  216            "default": [
  217              "${ZED_WORKTREE_ROOT}/**",
  218              "!**/node_modules/**"
  219            ],
  220            "items": {
  221              "type": "string"
  222            }
  223          },
  224          "restart": {
  225            "description": "Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.",
  226            "default": true,
  227            "oneOf": [
  228              {
  229                "type": "boolean"
  230              },
  231              {
  232                "type": "object",
  233                "properties": {
  234                  "delay": {
  235                    "type": "number",
  236                    "default": 1000,
  237                    "minimum": 0
  238                  },
  239                  "maxAttempts": {
  240                    "type": "number",
  241                    "default": 10,
  242                    "minimum": 0
  243                  }
  244                }
  245              }
  246            ]
  247          },
  248          "runtimeArgs": {
  249            "description": "Optional arguments passed to the runtime executable.",
  250            "type": "array",
  251            "default": [],
  252            "items": {
  253              "type": "string"
  254            },
  255            "tags": [
  256              "setup"
  257            ]
  258          },
  259          "runtimeExecutable": {
  260            "type": [
  261              "string",
  262              "null"
  263            ],
  264            "default": "node",
  265            "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
  266          },
  267          "runtimeSourcemapPausePatterns": {
  268            "type": "array",
  269            "default": [],
  270            "items": {
  271              "type": "string"
  272            },
  273            "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
  274          },
  275          "runtimeVersion": {
  276            "type": "string",
  277            "default": "default",
  278            "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
  279          },
  280          "showAsyncStacks": {
  281            "description": "Show the async calls that led to the current call stack.",
  282            "default": true,
  283            "oneOf": [
  284              {
  285                "type": "boolean"
  286              },
  287              {
  288                "type": "object",
  289                "properties": {
  290                  "onAttach": {
  291                    "type": "number",
  292                    "default": 32
  293                  }
  294                },
  295                "required": [
  296                  "onAttach"
  297                ]
  298              },
  299              {
  300                "type": "object",
  301                "properties": {
  302                  "onceBreakpointResolved": {
  303                    "type": "number",
  304                    "default": 32
  305                  }
  306                },
  307                "required": [
  308                  "onceBreakpointResolved"
  309                ]
  310              }
  311            ]
  312          },
  313          "skipFiles": {
  314            "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
  315            "type": "array",
  316            "default": [
  317              "${/**"
  318            ]
  319          },
  320          "smartStep": {
  321            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
  322            "type": "boolean",
  323            "default": true
  324          },
  325          "sourceMapPathOverrides": {
  326            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
  327            "type": "object",
  328            "default": {
  329              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
  330              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
  331              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
  332            }
  333          },
  334          "sourceMapRenames": {
  335            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
  336            "type": "boolean",
  337            "default": true
  338          },
  339          "sourceMaps": {
  340            "description": "Use JavaScript source maps (if they exist).",
  341            "type": "boolean",
  342            "default": true
  343          },
  344          "stopOnEntry": {
  345            "description": "Automatically stop program after launch.",
  346            "type": [
  347              "boolean",
  348              "string"
  349            ],
  350            "default": true
  351          },
  352          "timeout": {
  353            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
  354            "type": "number",
  355            "default": 10000
  356          },
  357          "timeouts": {
  358            "description": "Timeouts for several debugger operations.",
  359            "type": "object",
  360            "properties": {
  361              "hoverEvaluation": {
  362                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
  363                "type": "number",
  364                "default": 500
  365              },
  366              "sourceMapCumulativePause": {
  367                "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
  368                "type": "number",
  369                "default": 1000
  370              },
  371              "sourceMapMinPause": {
  372                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
  373                "type": "number",
  374                "default": 1000
  375              }
  376            },
  377            "additionalProperties": false,
  378            "default": {},
  379            "markdownDescription": "Timeouts for several debugger operations."
  380          },
  381          "trace": {
  382            "description": "Configures what diagnostic output is produced.",
  383            "default": true,
  384            "oneOf": [
  385              {
  386                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
  387                "type": "boolean"
  388              },
  389              {
  390                "type": "object",
  391                "properties": {
  392                  "logFile": {
  393                    "description": "Configures where on disk logs are written.",
  394                    "type": [
  395                      "string",
  396                      "null"
  397                    ]
  398                  },
  399                  "stdio": {
  400                    "description": "Whether to return trace data from the launched application or browser.",
  401                    "type": "boolean"
  402                  }
  403                },
  404                "additionalProperties": false
  405              }
  406            ]
  407          }
  408        }
  409      }
  410    },
  411    {
  412      "if": {
  413        "properties": {
  414          "type": {
  415            "enum": [
  416              "pwa-node"
  417            ]
  418          },
  419          "request": {
  420            "enum": [
  421              "attach"
  422            ]
  423          }
  424        },
  425        "required": [
  426          "type",
  427          "request"
  428        ]
  429      },
  430      "then": {
  431        "properties": {
  432          "address": {
  433            "description": "TCP/IP address of process to be debugged. Default is 'localhost'.",
  434            "type": "string",
  435            "default": "localhost"
  436          },
  437          "attachExistingChildren": {
  438            "description": "Whether to attempt to attach to already-spawned child processes.",
  439            "type": "boolean",
  440            "default": false
  441          },
  442          "autoAttachChildProcesses": {
  443            "description": "Attach debugger to new child processes automatically.",
  444            "type": "boolean",
  445            "default": true
  446          },
  447          "cascadeTerminateToConfigurations": {
  448            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
  449            "type": "array",
  450            "default": [],
  451            "items": {
  452              "type": "string",
  453              "uniqueItems": true
  454            }
  455          },
  456          "continueOnAttach": {
  457            "type": "boolean",
  458            "default": true,
  459            "markdownDescription": "If true, we'll automatically resume programs launched and waiting on `--inspect-brk`"
  460          },
  461          "customDescriptionGenerator": {
  462            "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
  463            "type": "string"
  464          },
  465          "customPropertiesGenerator": {
  466            "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
  467            "type": "string",
  468            "deprecated": true
  469          },
  470          "cwd": {
  471            "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
  472            "type": "string",
  473            "default": "${ZED_WORKTREE_ROOT}",
  474            "tags": [
  475              "setup"
  476            ]
  477          },
  478          "enableContentValidation": {
  479            "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
  480            "type": "boolean",
  481            "default": true
  482          },
  483          "enableDWARF": {
  484            "type": "boolean",
  485            "default": true,
  486            "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
  487          },
  488          "env": {
  489            "type": "object",
  490            "additionalProperties": {
  491              "type": [
  492                "string",
  493                "null"
  494              ]
  495            },
  496            "default": {},
  497            "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
  498            "tags": [
  499              "setup"
  500            ]
  501          },
  502          "envFile": {
  503            "description": "Absolute path to a file containing environment variable definitions.",
  504            "type": "string",
  505            "default": "${ZED_WORKTREE_ROOT}/.env"
  506          },
  507          "localRoot": {
  508            "description": "Path to the local directory containing the program.",
  509            "type": [
  510              "string",
  511              "null"
  512            ],
  513            "default": null
  514          },
  515          "nodeVersionHint": {
  516            "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
  517            "type": "number",
  518            "default": 12,
  519            "minimum": 8
  520          },
  521          "outFiles": {
  522            "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
  523            "type": [
  524              "array"
  525            ],
  526            "default": [
  527              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
  528              "!**/node_modules/**"
  529            ],
  530            "items": {
  531              "type": "string"
  532            },
  533            "tags": [
  534              "setup"
  535            ]
  536          },
  537          "outputCapture": {
  538            "default": "console",
  539            "enum": [
  540              "console",
  541              "std"
  542            ],
  543            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
  544          },
  545          "pauseForSourceMap": {
  546            "type": "boolean",
  547            "default": false,
  548            "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
  549          },
  550          "port": {
  551            "description": "Debug port to attach to. Default is 9229.",
  552            "default": 9229,
  553            "oneOf": [
  554              {
  555                "type": "integer"
  556              },
  557              {
  558                "type": "string",
  559                "pattern": "^\\${.*}$"
  560              }
  561            ],
  562            "tags": [
  563              "setup"
  564            ]
  565          },
  566          "processId": {
  567            "description": "ID of process to attach to.",
  568            "type": "string",
  569            "default": "${command:PickProcess}"
  570          },
  571          "remoteHostHeader": {
  572            "description": "Explicit Host header to use when connecting to the websocket of inspector. If unspecified, the host header will be set to 'localhost'. This is useful when the inspector is running behind a proxy that only accept particular Host header.",
  573            "type": "string"
  574          },
  575          "remoteRoot": {
  576            "description": "Absolute path to the remote directory containing the program.",
  577            "type": [
  578              "string",
  579              "null"
  580            ],
  581            "default": null
  582          },
  583          "resolveSourceMapLocations": {
  584            "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
  585            "type": [
  586              "array",
  587              "null"
  588            ],
  589            "default": [
  590              "${ZED_WORKTREE_ROOT}/**",
  591              "!**/node_modules/**"
  592            ],
  593            "items": {
  594              "type": "string"
  595            }
  596          },
  597          "restart": {
  598            "description": "Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.",
  599            "default": true,
  600            "oneOf": [
  601              {
  602                "type": "boolean"
  603              },
  604              {
  605                "type": "object",
  606                "properties": {
  607                  "delay": {
  608                    "type": "number",
  609                    "default": 1000,
  610                    "minimum": 0
  611                  },
  612                  "maxAttempts": {
  613                    "type": "number",
  614                    "default": 10,
  615                    "minimum": 0
  616                  }
  617                }
  618              }
  619            ]
  620          },
  621          "runtimeSourcemapPausePatterns": {
  622            "type": "array",
  623            "default": [],
  624            "items": {
  625              "type": "string"
  626            },
  627            "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
  628          },
  629          "showAsyncStacks": {
  630            "description": "Show the async calls that led to the current call stack.",
  631            "default": true,
  632            "oneOf": [
  633              {
  634                "type": "boolean"
  635              },
  636              {
  637                "type": "object",
  638                "properties": {
  639                  "onAttach": {
  640                    "type": "number",
  641                    "default": 32
  642                  }
  643                },
  644                "required": [
  645                  "onAttach"
  646                ]
  647              },
  648              {
  649                "type": "object",
  650                "properties": {
  651                  "onceBreakpointResolved": {
  652                    "type": "number",
  653                    "default": 32
  654                  }
  655                },
  656                "required": [
  657                  "onceBreakpointResolved"
  658                ]
  659              }
  660            ]
  661          },
  662          "skipFiles": {
  663            "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
  664            "type": "array",
  665            "default": [
  666              "${/**"
  667            ]
  668          },
  669          "smartStep": {
  670            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
  671            "type": "boolean",
  672            "default": true
  673          },
  674          "sourceMapPathOverrides": {
  675            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
  676            "type": "object",
  677            "default": {
  678              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
  679              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
  680              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
  681            }
  682          },
  683          "sourceMapRenames": {
  684            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
  685            "type": "boolean",
  686            "default": true
  687          },
  688          "sourceMaps": {
  689            "description": "Use JavaScript source maps (if they exist).",
  690            "type": "boolean",
  691            "default": true
  692          },
  693          "timeout": {
  694            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
  695            "type": "number",
  696            "default": 10000
  697          },
  698          "timeouts": {
  699            "description": "Timeouts for several debugger operations.",
  700            "type": "object",
  701            "properties": {
  702              "hoverEvaluation": {
  703                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
  704                "type": "number",
  705                "default": 500
  706              },
  707              "sourceMapCumulativePause": {
  708                "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
  709                "type": "number",
  710                "default": 1000
  711              },
  712              "sourceMapMinPause": {
  713                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
  714                "type": "number",
  715                "default": 1000
  716              }
  717            },
  718            "additionalProperties": false,
  719            "default": {},
  720            "markdownDescription": "Timeouts for several debugger operations."
  721          },
  722          "trace": {
  723            "description": "Configures what diagnostic output is produced.",
  724            "default": true,
  725            "oneOf": [
  726              {
  727                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
  728                "type": "boolean"
  729              },
  730              {
  731                "type": "object",
  732                "properties": {
  733                  "logFile": {
  734                    "description": "Configures where on disk logs are written.",
  735                    "type": [
  736                      "string",
  737                      "null"
  738                    ]
  739                  },
  740                  "stdio": {
  741                    "description": "Whether to return trace data from the launched application or browser.",
  742                    "type": "boolean"
  743                  }
  744                },
  745                "additionalProperties": false
  746              }
  747            ]
  748          },
  749          "websocketAddress": {
  750            "description": "Exact websocket address to attach to. If unspecified, it will be discovered from the address and port.",
  751            "type": "string"
  752          }
  753        }
  754      }
  755    },
  756    {
  757      "if": {
  758        "properties": {
  759          "type": {
  760            "enum": [
  761              "node"
  762            ]
  763          },
  764          "request": {
  765            "enum": [
  766              "launch"
  767            ]
  768          }
  769        },
  770        "required": [
  771          "type",
  772          "request"
  773        ]
  774      },
  775      "then": {
  776        "properties": {
  777          "args": {
  778            "description": "Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.",
  779            "type": [
  780              "array",
  781              "string"
  782            ],
  783            "default": [],
  784            "items": {
  785              "type": "string"
  786            },
  787            "tags": [
  788              "setup"
  789            ]
  790          },
  791          "attachSimplePort": {
  792            "description": "If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.",
  793            "default": 9229,
  794            "oneOf": [
  795              {
  796                "type": "integer"
  797              },
  798              {
  799                "type": "string",
  800                "pattern": "^\\${.*}$"
  801              }
  802            ]
  803          },
  804          "autoAttachChildProcesses": {
  805            "description": "Attach debugger to new child processes automatically.",
  806            "type": "boolean",
  807            "default": true
  808          },
  809          "cascadeTerminateToConfigurations": {
  810            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
  811            "type": "array",
  812            "default": [],
  813            "items": {
  814              "type": "string",
  815              "uniqueItems": true
  816            }
  817          },
  818          "console": {
  819            "description": "Where to launch the debug target.",
  820            "type": "string",
  821            "default": "internalConsole",
  822            "enum": [
  823              "internalConsole",
  824              "integratedTerminal",
  825              "externalTerminal"
  826            ],
  827            "enumDescriptions": [
  828              "VS Code Debug Console (which doesn't support to read input from a program)",
  829              "VS Code's integrated terminal",
  830              "External terminal that can be configured via user settings"
  831            ]
  832          },
  833          "customDescriptionGenerator": {
  834            "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
  835            "type": "string"
  836          },
  837          "customPropertiesGenerator": {
  838            "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
  839            "type": "string",
  840            "deprecated": true
  841          },
  842          "cwd": {
  843            "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
  844            "type": "string",
  845            "default": "${ZED_WORKTREE_ROOT}",
  846            "tags": [
  847              "setup"
  848            ]
  849          },
  850          "enableContentValidation": {
  851            "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
  852            "type": "boolean",
  853            "default": true
  854          },
  855          "enableDWARF": {
  856            "type": "boolean",
  857            "default": true,
  858            "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
  859          },
  860          "env": {
  861            "type": "object",
  862            "additionalProperties": {
  863              "type": [
  864                "string",
  865                "null"
  866              ]
  867            },
  868            "default": {},
  869            "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
  870            "tags": [
  871              "setup"
  872            ]
  873          },
  874          "envFile": {
  875            "description": "Absolute path to a file containing environment variable definitions.",
  876            "type": "string",
  877            "default": "${ZED_WORKTREE_ROOT}/.env"
  878          },
  879          "experimentalNetworking": {
  880            "description": "Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.",
  881            "type": "string",
  882            "default": "auto",
  883            "enum": [
  884              "auto",
  885              "on",
  886              "off"
  887            ]
  888          },
  889          "killBehavior": {
  890            "type": "string",
  891            "default": "forceful",
  892            "enum": [
  893              "forceful",
  894              "polite",
  895              "none"
  896            ],
  897            "markdownDescription": "Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."
  898          },
  899          "localRoot": {
  900            "description": "Path to the local directory containing the program.",
  901            "type": [
  902              "string",
  903              "null"
  904            ],
  905            "default": null
  906          },
  907          "nodeVersionHint": {
  908            "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
  909            "type": "number",
  910            "default": 12,
  911            "minimum": 8
  912          },
  913          "outFiles": {
  914            "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
  915            "type": [
  916              "array"
  917            ],
  918            "default": [
  919              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
  920              "!**/node_modules/**"
  921            ],
  922            "items": {
  923              "type": "string"
  924            },
  925            "tags": [
  926              "setup"
  927            ]
  928          },
  929          "outputCapture": {
  930            "default": "console",
  931            "enum": [
  932              "console",
  933              "std"
  934            ],
  935            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
  936          },
  937          "pauseForSourceMap": {
  938            "type": "boolean",
  939            "default": false,
  940            "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
  941          },
  942          "profileStartup": {
  943            "description": "If true, will start profiling as soon as the process launches",
  944            "type": "boolean",
  945            "default": true
  946          },
  947          "program": {
  948            "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
  949            "type": "string",
  950            "default": "",
  951            "tags": [
  952              "setup"
  953            ]
  954          },
  955          "remoteRoot": {
  956            "description": "Absolute path to the remote directory containing the program.",
  957            "type": [
  958              "string",
  959              "null"
  960            ],
  961            "default": null
  962          },
  963          "resolveSourceMapLocations": {
  964            "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
  965            "type": [
  966              "array",
  967              "null"
  968            ],
  969            "default": [
  970              "${ZED_WORKTREE_ROOT}/**",
  971              "!**/node_modules/**"
  972            ],
  973            "items": {
  974              "type": "string"
  975            }
  976          },
  977          "restart": {
  978            "description": "Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.",
  979            "default": true,
  980            "oneOf": [
  981              {
  982                "type": "boolean"
  983              },
  984              {
  985                "type": "object",
  986                "properties": {
  987                  "delay": {
  988                    "type": "number",
  989                    "default": 1000,
  990                    "minimum": 0
  991                  },
  992                  "maxAttempts": {
  993                    "type": "number",
  994                    "default": 10,
  995                    "minimum": 0
  996                  }
  997                }
  998              }
  999            ]
 1000          },
 1001          "runtimeArgs": {
 1002            "description": "Optional arguments passed to the runtime executable.",
 1003            "type": "array",
 1004            "default": [],
 1005            "items": {
 1006              "type": "string"
 1007            },
 1008            "tags": [
 1009              "setup"
 1010            ]
 1011          },
 1012          "runtimeExecutable": {
 1013            "type": [
 1014              "string",
 1015              "null"
 1016            ],
 1017            "default": "node",
 1018            "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
 1019          },
 1020          "runtimeSourcemapPausePatterns": {
 1021            "type": "array",
 1022            "default": [],
 1023            "items": {
 1024              "type": "string"
 1025            },
 1026            "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 1027          },
 1028          "runtimeVersion": {
 1029            "type": "string",
 1030            "default": "default",
 1031            "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
 1032          },
 1033          "showAsyncStacks": {
 1034            "description": "Show the async calls that led to the current call stack.",
 1035            "default": true,
 1036            "oneOf": [
 1037              {
 1038                "type": "boolean"
 1039              },
 1040              {
 1041                "type": "object",
 1042                "properties": {
 1043                  "onAttach": {
 1044                    "type": "number",
 1045                    "default": 32
 1046                  }
 1047                },
 1048                "required": [
 1049                  "onAttach"
 1050                ]
 1051              },
 1052              {
 1053                "type": "object",
 1054                "properties": {
 1055                  "onceBreakpointResolved": {
 1056                    "type": "number",
 1057                    "default": 32
 1058                  }
 1059                },
 1060                "required": [
 1061                  "onceBreakpointResolved"
 1062                ]
 1063              }
 1064            ]
 1065          },
 1066          "skipFiles": {
 1067            "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 1068            "type": "array",
 1069            "default": [
 1070              "${/**"
 1071            ]
 1072          },
 1073          "smartStep": {
 1074            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 1075            "type": "boolean",
 1076            "default": true
 1077          },
 1078          "sourceMapPathOverrides": {
 1079            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 1080            "type": "object",
 1081            "default": {
 1082              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 1083              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 1084              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 1085            }
 1086          },
 1087          "sourceMapRenames": {
 1088            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 1089            "type": "boolean",
 1090            "default": true
 1091          },
 1092          "sourceMaps": {
 1093            "description": "Use JavaScript source maps (if they exist).",
 1094            "type": "boolean",
 1095            "default": true
 1096          },
 1097          "stopOnEntry": {
 1098            "description": "Automatically stop program after launch.",
 1099            "type": [
 1100              "boolean",
 1101              "string"
 1102            ],
 1103            "default": true
 1104          },
 1105          "timeout": {
 1106            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 1107            "type": "number",
 1108            "default": 10000
 1109          },
 1110          "timeouts": {
 1111            "description": "Timeouts for several debugger operations.",
 1112            "type": "object",
 1113            "properties": {
 1114              "hoverEvaluation": {
 1115                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 1116                "type": "number",
 1117                "default": 500
 1118              },
 1119              "sourceMapCumulativePause": {
 1120                "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 1121                "type": "number",
 1122                "default": 1000
 1123              },
 1124              "sourceMapMinPause": {
 1125                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 1126                "type": "number",
 1127                "default": 1000
 1128              }
 1129            },
 1130            "additionalProperties": false,
 1131            "default": {},
 1132            "markdownDescription": "Timeouts for several debugger operations."
 1133          },
 1134          "trace": {
 1135            "description": "Configures what diagnostic output is produced.",
 1136            "default": true,
 1137            "oneOf": [
 1138              {
 1139                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 1140                "type": "boolean"
 1141              },
 1142              {
 1143                "type": "object",
 1144                "properties": {
 1145                  "logFile": {
 1146                    "description": "Configures where on disk logs are written.",
 1147                    "type": [
 1148                      "string",
 1149                      "null"
 1150                    ]
 1151                  },
 1152                  "stdio": {
 1153                    "description": "Whether to return trace data from the launched application or browser.",
 1154                    "type": "boolean"
 1155                  }
 1156                },
 1157                "additionalProperties": false
 1158              }
 1159            ]
 1160          }
 1161        }
 1162      }
 1163    },
 1164    {
 1165      "if": {
 1166        "properties": {
 1167          "type": {
 1168            "enum": [
 1169              "node"
 1170            ]
 1171          },
 1172          "request": {
 1173            "enum": [
 1174              "attach"
 1175            ]
 1176          }
 1177        },
 1178        "required": [
 1179          "type",
 1180          "request"
 1181        ]
 1182      },
 1183      "then": {
 1184        "properties": {
 1185          "address": {
 1186            "description": "TCP/IP address of process to be debugged. Default is 'localhost'.",
 1187            "type": "string",
 1188            "default": "localhost"
 1189          },
 1190          "attachExistingChildren": {
 1191            "description": "Whether to attempt to attach to already-spawned child processes.",
 1192            "type": "boolean",
 1193            "default": false
 1194          },
 1195          "autoAttachChildProcesses": {
 1196            "description": "Attach debugger to new child processes automatically.",
 1197            "type": "boolean",
 1198            "default": true
 1199          },
 1200          "cascadeTerminateToConfigurations": {
 1201            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 1202            "type": "array",
 1203            "default": [],
 1204            "items": {
 1205              "type": "string",
 1206              "uniqueItems": true
 1207            }
 1208          },
 1209          "continueOnAttach": {
 1210            "type": "boolean",
 1211            "default": true,
 1212            "markdownDescription": "If true, we'll automatically resume programs launched and waiting on `--inspect-brk`"
 1213          },
 1214          "customDescriptionGenerator": {
 1215            "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 1216            "type": "string"
 1217          },
 1218          "customPropertiesGenerator": {
 1219            "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 1220            "type": "string",
 1221            "deprecated": true
 1222          },
 1223          "cwd": {
 1224            "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
 1225            "type": "string",
 1226            "default": "${ZED_WORKTREE_ROOT}",
 1227            "tags": [
 1228              "setup"
 1229            ]
 1230          },
 1231          "enableContentValidation": {
 1232            "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 1233            "type": "boolean",
 1234            "default": true
 1235          },
 1236          "enableDWARF": {
 1237            "type": "boolean",
 1238            "default": true,
 1239            "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 1240          },
 1241          "env": {
 1242            "type": "object",
 1243            "additionalProperties": {
 1244              "type": [
 1245                "string",
 1246                "null"
 1247              ]
 1248            },
 1249            "default": {},
 1250            "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 1251            "tags": [
 1252              "setup"
 1253            ]
 1254          },
 1255          "envFile": {
 1256            "description": "Absolute path to a file containing environment variable definitions.",
 1257            "type": "string",
 1258            "default": "${ZED_WORKTREE_ROOT}/.env"
 1259          },
 1260          "localRoot": {
 1261            "description": "Path to the local directory containing the program.",
 1262            "type": [
 1263              "string",
 1264              "null"
 1265            ],
 1266            "default": null
 1267          },
 1268          "nodeVersionHint": {
 1269            "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
 1270            "type": "number",
 1271            "default": 12,
 1272            "minimum": 8
 1273          },
 1274          "outFiles": {
 1275            "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 1276            "type": [
 1277              "array"
 1278            ],
 1279            "default": [
 1280              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 1281              "!**/node_modules/**"
 1282            ],
 1283            "items": {
 1284              "type": "string"
 1285            },
 1286            "tags": [
 1287              "setup"
 1288            ]
 1289          },
 1290          "outputCapture": {
 1291            "default": "console",
 1292            "enum": [
 1293              "console",
 1294              "std"
 1295            ],
 1296            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 1297          },
 1298          "pauseForSourceMap": {
 1299            "type": "boolean",
 1300            "default": false,
 1301            "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 1302          },
 1303          "port": {
 1304            "description": "Debug port to attach to. Default is 9229.",
 1305            "default": 9229,
 1306            "oneOf": [
 1307              {
 1308                "type": "integer"
 1309              },
 1310              {
 1311                "type": "string",
 1312                "pattern": "^\\${.*}$"
 1313              }
 1314            ],
 1315            "tags": [
 1316              "setup"
 1317            ]
 1318          },
 1319          "processId": {
 1320            "description": "ID of process to attach to.",
 1321            "type": "string",
 1322            "default": "${command:PickProcess}"
 1323          },
 1324          "remoteHostHeader": {
 1325            "description": "Explicit Host header to use when connecting to the websocket of inspector. If unspecified, the host header will be set to 'localhost'. This is useful when the inspector is running behind a proxy that only accept particular Host header.",
 1326            "type": "string"
 1327          },
 1328          "remoteRoot": {
 1329            "description": "Absolute path to the remote directory containing the program.",
 1330            "type": [
 1331              "string",
 1332              "null"
 1333            ],
 1334            "default": null
 1335          },
 1336          "resolveSourceMapLocations": {
 1337            "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 1338            "type": [
 1339              "array",
 1340              "null"
 1341            ],
 1342            "default": [
 1343              "${ZED_WORKTREE_ROOT}/**",
 1344              "!**/node_modules/**"
 1345            ],
 1346            "items": {
 1347              "type": "string"
 1348            }
 1349          },
 1350          "restart": {
 1351            "description": "Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.",
 1352            "default": true,
 1353            "oneOf": [
 1354              {
 1355                "type": "boolean"
 1356              },
 1357              {
 1358                "type": "object",
 1359                "properties": {
 1360                  "delay": {
 1361                    "type": "number",
 1362                    "default": 1000,
 1363                    "minimum": 0
 1364                  },
 1365                  "maxAttempts": {
 1366                    "type": "number",
 1367                    "default": 10,
 1368                    "minimum": 0
 1369                  }
 1370                }
 1371              }
 1372            ]
 1373          },
 1374          "runtimeSourcemapPausePatterns": {
 1375            "type": "array",
 1376            "default": [],
 1377            "items": {
 1378              "type": "string"
 1379            },
 1380            "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 1381          },
 1382          "showAsyncStacks": {
 1383            "description": "Show the async calls that led to the current call stack.",
 1384            "default": true,
 1385            "oneOf": [
 1386              {
 1387                "type": "boolean"
 1388              },
 1389              {
 1390                "type": "object",
 1391                "properties": {
 1392                  "onAttach": {
 1393                    "type": "number",
 1394                    "default": 32
 1395                  }
 1396                },
 1397                "required": [
 1398                  "onAttach"
 1399                ]
 1400              },
 1401              {
 1402                "type": "object",
 1403                "properties": {
 1404                  "onceBreakpointResolved": {
 1405                    "type": "number",
 1406                    "default": 32
 1407                  }
 1408                },
 1409                "required": [
 1410                  "onceBreakpointResolved"
 1411                ]
 1412              }
 1413            ]
 1414          },
 1415          "skipFiles": {
 1416            "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 1417            "type": "array",
 1418            "default": [
 1419              "${/**"
 1420            ]
 1421          },
 1422          "smartStep": {
 1423            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 1424            "type": "boolean",
 1425            "default": true
 1426          },
 1427          "sourceMapPathOverrides": {
 1428            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 1429            "type": "object",
 1430            "default": {
 1431              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 1432              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 1433              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 1434            }
 1435          },
 1436          "sourceMapRenames": {
 1437            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 1438            "type": "boolean",
 1439            "default": true
 1440          },
 1441          "sourceMaps": {
 1442            "description": "Use JavaScript source maps (if they exist).",
 1443            "type": "boolean",
 1444            "default": true
 1445          },
 1446          "timeout": {
 1447            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 1448            "type": "number",
 1449            "default": 10000
 1450          },
 1451          "timeouts": {
 1452            "description": "Timeouts for several debugger operations.",
 1453            "type": "object",
 1454            "properties": {
 1455              "hoverEvaluation": {
 1456                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 1457                "type": "number",
 1458                "default": 500
 1459              },
 1460              "sourceMapCumulativePause": {
 1461                "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 1462                "type": "number",
 1463                "default": 1000
 1464              },
 1465              "sourceMapMinPause": {
 1466                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 1467                "type": "number",
 1468                "default": 1000
 1469              }
 1470            },
 1471            "additionalProperties": false,
 1472            "default": {},
 1473            "markdownDescription": "Timeouts for several debugger operations."
 1474          },
 1475          "trace": {
 1476            "description": "Configures what diagnostic output is produced.",
 1477            "default": true,
 1478            "oneOf": [
 1479              {
 1480                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 1481                "type": "boolean"
 1482              },
 1483              {
 1484                "type": "object",
 1485                "properties": {
 1486                  "logFile": {
 1487                    "description": "Configures where on disk logs are written.",
 1488                    "type": [
 1489                      "string",
 1490                      "null"
 1491                    ]
 1492                  },
 1493                  "stdio": {
 1494                    "description": "Whether to return trace data from the launched application or browser.",
 1495                    "type": "boolean"
 1496                  }
 1497                },
 1498                "additionalProperties": false
 1499              }
 1500            ]
 1501          },
 1502          "websocketAddress": {
 1503            "description": "Exact websocket address to attach to. If unspecified, it will be discovered from the address and port.",
 1504            "type": "string"
 1505          }
 1506        }
 1507      }
 1508    },
 1509    {
 1510      "if": {
 1511        "properties": {
 1512          "type": {
 1513            "enum": [
 1514              "node-terminal"
 1515            ]
 1516          },
 1517          "request": {
 1518            "enum": [
 1519              "launch"
 1520            ]
 1521          }
 1522        },
 1523        "required": [
 1524          "type",
 1525          "request"
 1526        ]
 1527      },
 1528      "then": {
 1529        "properties": {
 1530          "autoAttachChildProcesses": {
 1531            "description": "Attach debugger to new child processes automatically.",
 1532            "type": "boolean",
 1533            "default": true
 1534          },
 1535          "cascadeTerminateToConfigurations": {
 1536            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 1537            "type": "array",
 1538            "default": [],
 1539            "items": {
 1540              "type": "string",
 1541              "uniqueItems": true
 1542            }
 1543          },
 1544          "command": {
 1545            "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
 1546            "type": [
 1547              "string",
 1548              "null"
 1549            ],
 1550            "default": "npm start",
 1551            "tags": [
 1552              "setup"
 1553            ]
 1554          },
 1555          "customDescriptionGenerator": {
 1556            "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 1557            "type": "string"
 1558          },
 1559          "customPropertiesGenerator": {
 1560            "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 1561            "type": "string",
 1562            "deprecated": true
 1563          },
 1564          "cwd": {
 1565            "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
 1566            "type": "string",
 1567            "default": "${ZED_WORKTREE_ROOT}",
 1568            "tags": [
 1569              "setup"
 1570            ]
 1571          },
 1572          "enableContentValidation": {
 1573            "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 1574            "type": "boolean",
 1575            "default": true
 1576          },
 1577          "enableDWARF": {
 1578            "type": "boolean",
 1579            "default": true,
 1580            "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 1581          },
 1582          "env": {
 1583            "type": "object",
 1584            "additionalProperties": {
 1585              "type": [
 1586                "string",
 1587                "null"
 1588              ]
 1589            },
 1590            "default": {},
 1591            "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 1592            "tags": [
 1593              "setup"
 1594            ]
 1595          },
 1596          "envFile": {
 1597            "description": "Absolute path to a file containing environment variable definitions.",
 1598            "type": "string",
 1599            "default": "${ZED_WORKTREE_ROOT}/.env"
 1600          },
 1601          "localRoot": {
 1602            "description": "Path to the local directory containing the program.",
 1603            "type": [
 1604              "string",
 1605              "null"
 1606            ],
 1607            "default": null
 1608          },
 1609          "nodeVersionHint": {
 1610            "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
 1611            "type": "number",
 1612            "default": 12,
 1613            "minimum": 8
 1614          },
 1615          "outFiles": {
 1616            "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 1617            "type": [
 1618              "array"
 1619            ],
 1620            "default": [
 1621              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 1622              "!**/node_modules/**"
 1623            ],
 1624            "items": {
 1625              "type": "string"
 1626            },
 1627            "tags": [
 1628              "setup"
 1629            ]
 1630          },
 1631          "outputCapture": {
 1632            "default": "console",
 1633            "enum": [
 1634              "console",
 1635              "std"
 1636            ],
 1637            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 1638          },
 1639          "pauseForSourceMap": {
 1640            "type": "boolean",
 1641            "default": false,
 1642            "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 1643          },
 1644          "remoteRoot": {
 1645            "description": "Absolute path to the remote directory containing the program.",
 1646            "type": [
 1647              "string",
 1648              "null"
 1649            ],
 1650            "default": null
 1651          },
 1652          "resolveSourceMapLocations": {
 1653            "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 1654            "type": [
 1655              "array",
 1656              "null"
 1657            ],
 1658            "default": [
 1659              "${ZED_WORKTREE_ROOT}/**",
 1660              "!**/node_modules/**"
 1661            ],
 1662            "items": {
 1663              "type": "string"
 1664            }
 1665          },
 1666          "runtimeSourcemapPausePatterns": {
 1667            "type": "array",
 1668            "default": [],
 1669            "items": {
 1670              "type": "string"
 1671            },
 1672            "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 1673          },
 1674          "showAsyncStacks": {
 1675            "description": "Show the async calls that led to the current call stack.",
 1676            "default": true,
 1677            "oneOf": [
 1678              {
 1679                "type": "boolean"
 1680              },
 1681              {
 1682                "type": "object",
 1683                "properties": {
 1684                  "onAttach": {
 1685                    "type": "number",
 1686                    "default": 32
 1687                  }
 1688                },
 1689                "required": [
 1690                  "onAttach"
 1691                ]
 1692              },
 1693              {
 1694                "type": "object",
 1695                "properties": {
 1696                  "onceBreakpointResolved": {
 1697                    "type": "number",
 1698                    "default": 32
 1699                  }
 1700                },
 1701                "required": [
 1702                  "onceBreakpointResolved"
 1703                ]
 1704              }
 1705            ]
 1706          },
 1707          "skipFiles": {
 1708            "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 1709            "type": "array",
 1710            "default": [
 1711              "${/**"
 1712            ]
 1713          },
 1714          "smartStep": {
 1715            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 1716            "type": "boolean",
 1717            "default": true
 1718          },
 1719          "sourceMapPathOverrides": {
 1720            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 1721            "type": "object",
 1722            "default": {
 1723              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 1724              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 1725              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 1726            }
 1727          },
 1728          "sourceMapRenames": {
 1729            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 1730            "type": "boolean",
 1731            "default": true
 1732          },
 1733          "sourceMaps": {
 1734            "description": "Use JavaScript source maps (if they exist).",
 1735            "type": "boolean",
 1736            "default": true
 1737          },
 1738          "timeout": {
 1739            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 1740            "type": "number",
 1741            "default": 10000
 1742          },
 1743          "timeouts": {
 1744            "description": "Timeouts for several debugger operations.",
 1745            "type": "object",
 1746            "properties": {
 1747              "hoverEvaluation": {
 1748                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 1749                "type": "number",
 1750                "default": 500
 1751              },
 1752              "sourceMapCumulativePause": {
 1753                "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 1754                "type": "number",
 1755                "default": 1000
 1756              },
 1757              "sourceMapMinPause": {
 1758                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 1759                "type": "number",
 1760                "default": 1000
 1761              }
 1762            },
 1763            "additionalProperties": false,
 1764            "default": {},
 1765            "markdownDescription": "Timeouts for several debugger operations."
 1766          },
 1767          "trace": {
 1768            "description": "Configures what diagnostic output is produced.",
 1769            "default": true,
 1770            "oneOf": [
 1771              {
 1772                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 1773                "type": "boolean"
 1774              },
 1775              {
 1776                "type": "object",
 1777                "properties": {
 1778                  "logFile": {
 1779                    "description": "Configures where on disk logs are written.",
 1780                    "type": [
 1781                      "string",
 1782                      "null"
 1783                    ]
 1784                  },
 1785                  "stdio": {
 1786                    "description": "Whether to return trace data from the launched application or browser.",
 1787                    "type": "boolean"
 1788                  }
 1789                },
 1790                "additionalProperties": false
 1791              }
 1792            ]
 1793          }
 1794        }
 1795      }
 1796    },
 1797    {
 1798      "if": {
 1799        "properties": {
 1800          "type": {
 1801            "enum": [
 1802              "pwa-extensionHost"
 1803            ]
 1804          },
 1805          "request": {
 1806            "enum": [
 1807              "launch"
 1808            ]
 1809          }
 1810        },
 1811        "required": [
 1812          "type",
 1813          "request"
 1814        ]
 1815      },
 1816      "then": {
 1817        "properties": {
 1818          "args": {
 1819            "description": "Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.",
 1820            "type": "array",
 1821            "default": [
 1822              "--extensionDevelopmentPath=${ZED_WORKTREE_ROOT}"
 1823            ],
 1824            "items": {
 1825              "type": "string"
 1826            },
 1827            "tags": [
 1828              "setup"
 1829            ]
 1830          },
 1831          "autoAttachChildProcesses": {
 1832            "description": "Attach debugger to new child processes automatically.",
 1833            "type": "boolean",
 1834            "default": true
 1835          },
 1836          "cascadeTerminateToConfigurations": {
 1837            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 1838            "type": "array",
 1839            "default": [],
 1840            "items": {
 1841              "type": "string",
 1842              "uniqueItems": true
 1843            }
 1844          },
 1845          "customDescriptionGenerator": {
 1846            "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 1847            "type": "string"
 1848          },
 1849          "customPropertiesGenerator": {
 1850            "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 1851            "type": "string",
 1852            "deprecated": true
 1853          },
 1854          "cwd": {
 1855            "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
 1856            "type": "string",
 1857            "default": "${ZED_WORKTREE_ROOT}",
 1858            "tags": [
 1859              "setup"
 1860            ]
 1861          },
 1862          "debugWebWorkerHost": {
 1863            "type": [
 1864              "boolean"
 1865            ],
 1866            "default": true,
 1867            "markdownDescription": "Configures whether we should try to attach to the web worker extension host."
 1868          },
 1869          "debugWebviews": {
 1870            "type": [
 1871              "boolean"
 1872            ],
 1873            "default": true,
 1874            "markdownDescription": "Configures whether we should try to attach to webviews in the launched VS Code instance. This will only work in desktop VS Code."
 1875          },
 1876          "enableContentValidation": {
 1877            "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 1878            "type": "boolean",
 1879            "default": true
 1880          },
 1881          "enableDWARF": {
 1882            "type": "boolean",
 1883            "default": true,
 1884            "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 1885          },
 1886          "env": {
 1887            "type": "object",
 1888            "additionalProperties": {
 1889              "type": [
 1890                "string",
 1891                "null"
 1892              ]
 1893            },
 1894            "default": {},
 1895            "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 1896            "tags": [
 1897              "setup"
 1898            ]
 1899          },
 1900          "envFile": {
 1901            "description": "Absolute path to a file containing environment variable definitions.",
 1902            "type": "string",
 1903            "default": "${ZED_WORKTREE_ROOT}/.env"
 1904          },
 1905          "localRoot": {
 1906            "description": "Path to the local directory containing the program.",
 1907            "type": [
 1908              "string",
 1909              "null"
 1910            ],
 1911            "default": null
 1912          },
 1913          "nodeVersionHint": {
 1914            "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
 1915            "type": "number",
 1916            "default": 12,
 1917            "minimum": 8
 1918          },
 1919          "outFiles": {
 1920            "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 1921            "type": [
 1922              "array"
 1923            ],
 1924            "default": [
 1925              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 1926              "!**/node_modules/**"
 1927            ],
 1928            "items": {
 1929              "type": "string"
 1930            },
 1931            "tags": [
 1932              "setup"
 1933            ]
 1934          },
 1935          "outputCapture": {
 1936            "default": "console",
 1937            "enum": [
 1938              "console",
 1939              "std"
 1940            ],
 1941            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 1942          },
 1943          "pauseForSourceMap": {
 1944            "type": "boolean",
 1945            "default": false,
 1946            "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 1947          },
 1948          "remoteRoot": {
 1949            "description": "Absolute path to the remote directory containing the program.",
 1950            "type": [
 1951              "string",
 1952              "null"
 1953            ],
 1954            "default": null
 1955          },
 1956          "rendererDebugOptions": {
 1957            "type": "object",
 1958            "properties": {
 1959              "address": {
 1960                "description": "IP address or hostname the debugged browser is listening on.",
 1961                "type": "string",
 1962                "default": "localhost"
 1963              },
 1964              "browserAttachLocation": {
 1965                "description": "Forces the browser to attach in one location. In a remote workspace (through ssh or WSL, for example) this can be used to attach to a browser on the remote machine rather than locally.",
 1966                "default": null,
 1967                "oneOf": [
 1968                  {
 1969                    "type": "null"
 1970                  },
 1971                  {
 1972                    "type": "string",
 1973                    "enum": [
 1974                      "ui",
 1975                      "workspace"
 1976                    ]
 1977                  }
 1978                ]
 1979              },
 1980              "cascadeTerminateToConfigurations": {
 1981                "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 1982                "type": "array",
 1983                "default": [],
 1984                "items": {
 1985                  "type": "string",
 1986                  "uniqueItems": true
 1987                }
 1988              },
 1989              "customDescriptionGenerator": {
 1990                "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 1991                "type": "string"
 1992              },
 1993              "customPropertiesGenerator": {
 1994                "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 1995                "type": "string",
 1996                "deprecated": true
 1997              },
 1998              "disableNetworkCache": {
 1999                "description": "Controls whether to skip the network cache for each request",
 2000                "type": "boolean",
 2001                "default": true
 2002              },
 2003              "enableContentValidation": {
 2004                "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 2005                "type": "boolean",
 2006                "default": true
 2007              },
 2008              "enableDWARF": {
 2009                "type": "boolean",
 2010                "default": true,
 2011                "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 2012              },
 2013              "inspectUri": {
 2014                "description": "Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n",
 2015                "type": [
 2016                  "string",
 2017                  "null"
 2018                ],
 2019                "default": null
 2020              },
 2021              "outFiles": {
 2022                "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 2023                "type": [
 2024                  "array"
 2025                ],
 2026                "default": [
 2027                  "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 2028                  "!**/node_modules/**"
 2029                ],
 2030                "items": {
 2031                  "type": "string"
 2032                },
 2033                "tags": [
 2034                  "setup"
 2035                ]
 2036              },
 2037              "outputCapture": {
 2038                "default": "console",
 2039                "enum": [
 2040                  "console",
 2041                  "std"
 2042                ],
 2043                "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 2044              },
 2045              "pathMapping": {
 2046                "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
 2047                "type": "object",
 2048                "default": {}
 2049              },
 2050              "pauseForSourceMap": {
 2051                "type": "boolean",
 2052                "default": false,
 2053                "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 2054              },
 2055              "perScriptSourcemaps": {
 2056                "description": "Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.",
 2057                "type": "string",
 2058                "default": "auto",
 2059                "enum": [
 2060                  "yes",
 2061                  "no",
 2062                  "auto"
 2063                ]
 2064              },
 2065              "port": {
 2066                "description": "Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.",
 2067                "default": 9229,
 2068                "oneOf": [
 2069                  {
 2070                    "type": "integer"
 2071                  },
 2072                  {
 2073                    "type": "string",
 2074                    "pattern": "^\\${.*}$"
 2075                  }
 2076                ],
 2077                "tags": [
 2078                  "setup"
 2079                ]
 2080              },
 2081              "resolveSourceMapLocations": {
 2082                "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 2083                "type": [
 2084                  "array",
 2085                  "null"
 2086                ],
 2087                "default": null,
 2088                "items": {
 2089                  "type": "string"
 2090                }
 2091              },
 2092              "restart": {
 2093                "type": "boolean",
 2094                "default": false,
 2095                "markdownDescription": "Whether to reconnect if the browser connection is closed"
 2096              },
 2097              "server": {
 2098                "oneOf": [
 2099                  {
 2100                    "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
 2101                    "type": "object",
 2102                    "properties": {
 2103                      "args": {
 2104                        "description": "Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.",
 2105                        "type": [
 2106                          "array",
 2107                          "string"
 2108                        ],
 2109                        "default": [],
 2110                        "items": {
 2111                          "type": "string"
 2112                        },
 2113                        "tags": [
 2114                          "setup"
 2115                        ]
 2116                      },
 2117                      "attachSimplePort": {
 2118                        "description": "If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.",
 2119                        "default": 9229,
 2120                        "oneOf": [
 2121                          {
 2122                            "type": "integer"
 2123                          },
 2124                          {
 2125                            "type": "string",
 2126                            "pattern": "^\\${.*}$"
 2127                          }
 2128                        ]
 2129                      },
 2130                      "autoAttachChildProcesses": {
 2131                        "description": "Attach debugger to new child processes automatically.",
 2132                        "type": "boolean",
 2133                        "default": true
 2134                      },
 2135                      "cascadeTerminateToConfigurations": {
 2136                        "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 2137                        "type": "array",
 2138                        "default": [],
 2139                        "items": {
 2140                          "type": "string",
 2141                          "uniqueItems": true
 2142                        }
 2143                      },
 2144                      "console": {
 2145                        "description": "Where to launch the debug target.",
 2146                        "type": "string",
 2147                        "default": "internalConsole",
 2148                        "enum": [
 2149                          "internalConsole",
 2150                          "integratedTerminal",
 2151                          "externalTerminal"
 2152                        ],
 2153                        "enumDescriptions": [
 2154                          "VS Code Debug Console (which doesn't support to read input from a program)",
 2155                          "VS Code's integrated terminal",
 2156                          "External terminal that can be configured via user settings"
 2157                        ]
 2158                      },
 2159                      "customDescriptionGenerator": {
 2160                        "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 2161                        "type": "string"
 2162                      },
 2163                      "customPropertiesGenerator": {
 2164                        "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 2165                        "type": "string",
 2166                        "deprecated": true
 2167                      },
 2168                      "cwd": {
 2169                        "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
 2170                        "type": "string",
 2171                        "default": "${ZED_WORKTREE_ROOT}",
 2172                        "tags": [
 2173                          "setup"
 2174                        ]
 2175                      },
 2176                      "enableContentValidation": {
 2177                        "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 2178                        "type": "boolean",
 2179                        "default": true
 2180                      },
 2181                      "enableDWARF": {
 2182                        "type": "boolean",
 2183                        "default": true,
 2184                        "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 2185                      },
 2186                      "env": {
 2187                        "type": "object",
 2188                        "additionalProperties": {
 2189                          "type": [
 2190                            "string",
 2191                            "null"
 2192                          ]
 2193                        },
 2194                        "default": {},
 2195                        "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 2196                        "tags": [
 2197                          "setup"
 2198                        ]
 2199                      },
 2200                      "envFile": {
 2201                        "description": "Absolute path to a file containing environment variable definitions.",
 2202                        "type": "string",
 2203                        "default": "${ZED_WORKTREE_ROOT}/.env"
 2204                      },
 2205                      "experimentalNetworking": {
 2206                        "description": "Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.",
 2207                        "type": "string",
 2208                        "default": "auto",
 2209                        "enum": [
 2210                          "auto",
 2211                          "on",
 2212                          "off"
 2213                        ]
 2214                      },
 2215                      "killBehavior": {
 2216                        "type": "string",
 2217                        "default": "forceful",
 2218                        "enum": [
 2219                          "forceful",
 2220                          "polite",
 2221                          "none"
 2222                        ],
 2223                        "markdownDescription": "Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."
 2224                      },
 2225                      "localRoot": {
 2226                        "description": "Path to the local directory containing the program.",
 2227                        "type": [
 2228                          "string",
 2229                          "null"
 2230                        ],
 2231                        "default": null
 2232                      },
 2233                      "nodeVersionHint": {
 2234                        "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
 2235                        "type": "number",
 2236                        "default": 12,
 2237                        "minimum": 8
 2238                      },
 2239                      "outFiles": {
 2240                        "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 2241                        "type": [
 2242                          "array"
 2243                        ],
 2244                        "default": [
 2245                          "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 2246                          "!**/node_modules/**"
 2247                        ],
 2248                        "items": {
 2249                          "type": "string"
 2250                        },
 2251                        "tags": [
 2252                          "setup"
 2253                        ]
 2254                      },
 2255                      "outputCapture": {
 2256                        "default": "console",
 2257                        "enum": [
 2258                          "console",
 2259                          "std"
 2260                        ],
 2261                        "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 2262                      },
 2263                      "pauseForSourceMap": {
 2264                        "type": "boolean",
 2265                        "default": false,
 2266                        "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 2267                      },
 2268                      "profileStartup": {
 2269                        "description": "If true, will start profiling as soon as the process launches",
 2270                        "type": "boolean",
 2271                        "default": true
 2272                      },
 2273                      "program": {
 2274                        "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
 2275                        "type": "string",
 2276                        "default": "",
 2277                        "tags": [
 2278                          "setup"
 2279                        ]
 2280                      },
 2281                      "remoteRoot": {
 2282                        "description": "Absolute path to the remote directory containing the program.",
 2283                        "type": [
 2284                          "string",
 2285                          "null"
 2286                        ],
 2287                        "default": null
 2288                      },
 2289                      "resolveSourceMapLocations": {
 2290                        "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 2291                        "type": [
 2292                          "array",
 2293                          "null"
 2294                        ],
 2295                        "default": [
 2296                          "${ZED_WORKTREE_ROOT}/**",
 2297                          "!**/node_modules/**"
 2298                        ],
 2299                        "items": {
 2300                          "type": "string"
 2301                        }
 2302                      },
 2303                      "restart": {
 2304                        "description": "Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.",
 2305                        "default": true,
 2306                        "oneOf": [
 2307                          {
 2308                            "type": "boolean"
 2309                          },
 2310                          {
 2311                            "type": "object",
 2312                            "properties": {
 2313                              "delay": {
 2314                                "type": "number",
 2315                                "default": 1000,
 2316                                "minimum": 0
 2317                              },
 2318                              "maxAttempts": {
 2319                                "type": "number",
 2320                                "default": 10,
 2321                                "minimum": 0
 2322                              }
 2323                            }
 2324                          }
 2325                        ]
 2326                      },
 2327                      "runtimeArgs": {
 2328                        "description": "Optional arguments passed to the runtime executable.",
 2329                        "type": "array",
 2330                        "default": [],
 2331                        "items": {
 2332                          "type": "string"
 2333                        },
 2334                        "tags": [
 2335                          "setup"
 2336                        ]
 2337                      },
 2338                      "runtimeExecutable": {
 2339                        "type": [
 2340                          "string",
 2341                          "null"
 2342                        ],
 2343                        "default": "node",
 2344                        "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
 2345                      },
 2346                      "runtimeSourcemapPausePatterns": {
 2347                        "type": "array",
 2348                        "default": [],
 2349                        "items": {
 2350                          "type": "string"
 2351                        },
 2352                        "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 2353                      },
 2354                      "runtimeVersion": {
 2355                        "type": "string",
 2356                        "default": "default",
 2357                        "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
 2358                      },
 2359                      "showAsyncStacks": {
 2360                        "description": "Show the async calls that led to the current call stack.",
 2361                        "default": true,
 2362                        "oneOf": [
 2363                          {
 2364                            "type": "boolean"
 2365                          },
 2366                          {
 2367                            "type": "object",
 2368                            "properties": {
 2369                              "onAttach": {
 2370                                "type": "number",
 2371                                "default": 32
 2372                              }
 2373                            },
 2374                            "required": [
 2375                              "onAttach"
 2376                            ]
 2377                          },
 2378                          {
 2379                            "type": "object",
 2380                            "properties": {
 2381                              "onceBreakpointResolved": {
 2382                                "type": "number",
 2383                                "default": 32
 2384                              }
 2385                            },
 2386                            "required": [
 2387                              "onceBreakpointResolved"
 2388                            ]
 2389                          }
 2390                        ]
 2391                      },
 2392                      "skipFiles": {
 2393                        "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 2394                        "type": "array",
 2395                        "default": [
 2396                          "${/**"
 2397                        ]
 2398                      },
 2399                      "smartStep": {
 2400                        "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 2401                        "type": "boolean",
 2402                        "default": true
 2403                      },
 2404                      "sourceMapPathOverrides": {
 2405                        "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 2406                        "type": "object",
 2407                        "default": {
 2408                          "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 2409                          "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 2410                          "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 2411                        }
 2412                      },
 2413                      "sourceMapRenames": {
 2414                        "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 2415                        "type": "boolean",
 2416                        "default": true
 2417                      },
 2418                      "sourceMaps": {
 2419                        "description": "Use JavaScript source maps (if they exist).",
 2420                        "type": "boolean",
 2421                        "default": true
 2422                      },
 2423                      "stopOnEntry": {
 2424                        "description": "Automatically stop program after launch.",
 2425                        "type": [
 2426                          "boolean",
 2427                          "string"
 2428                        ],
 2429                        "default": true
 2430                      },
 2431                      "timeout": {
 2432                        "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 2433                        "type": "number",
 2434                        "default": 10000
 2435                      },
 2436                      "timeouts": {
 2437                        "description": "Timeouts for several debugger operations.",
 2438                        "type": "object",
 2439                        "properties": {
 2440                          "hoverEvaluation": {
 2441                            "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 2442                            "type": "number",
 2443                            "default": 500
 2444                          },
 2445                          "sourceMapCumulativePause": {
 2446                            "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 2447                            "type": "number",
 2448                            "default": 1000
 2449                          },
 2450                          "sourceMapMinPause": {
 2451                            "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 2452                            "type": "number",
 2453                            "default": 1000
 2454                          }
 2455                        },
 2456                        "additionalProperties": false,
 2457                        "default": {},
 2458                        "markdownDescription": "Timeouts for several debugger operations."
 2459                      },
 2460                      "trace": {
 2461                        "description": "Configures what diagnostic output is produced.",
 2462                        "default": true,
 2463                        "oneOf": [
 2464                          {
 2465                            "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 2466                            "type": "boolean"
 2467                          },
 2468                          {
 2469                            "type": "object",
 2470                            "properties": {
 2471                              "logFile": {
 2472                                "description": "Configures where on disk logs are written.",
 2473                                "type": [
 2474                                  "string",
 2475                                  "null"
 2476                                ]
 2477                              },
 2478                              "stdio": {
 2479                                "description": "Whether to return trace data from the launched application or browser.",
 2480                                "type": "boolean"
 2481                              }
 2482                            },
 2483                            "additionalProperties": false
 2484                          }
 2485                        ]
 2486                      }
 2487                    },
 2488                    "additionalProperties": false,
 2489                    "default": {
 2490                      "program": "node my-server.js"
 2491                    }
 2492                  },
 2493                  {
 2494                    "description": "JavaScript Debug Terminal",
 2495                    "type": "object",
 2496                    "properties": {
 2497                      "autoAttachChildProcesses": {
 2498                        "description": "Attach debugger to new child processes automatically.",
 2499                        "type": "boolean",
 2500                        "default": true
 2501                      },
 2502                      "cascadeTerminateToConfigurations": {
 2503                        "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 2504                        "type": "array",
 2505                        "default": [],
 2506                        "items": {
 2507                          "type": "string",
 2508                          "uniqueItems": true
 2509                        }
 2510                      },
 2511                      "command": {
 2512                        "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
 2513                        "type": [
 2514                          "string",
 2515                          "null"
 2516                        ],
 2517                        "default": "npm start",
 2518                        "tags": [
 2519                          "setup"
 2520                        ]
 2521                      },
 2522                      "customDescriptionGenerator": {
 2523                        "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 2524                        "type": "string"
 2525                      },
 2526                      "customPropertiesGenerator": {
 2527                        "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 2528                        "type": "string",
 2529                        "deprecated": true
 2530                      },
 2531                      "cwd": {
 2532                        "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
 2533                        "type": "string",
 2534                        "default": "${ZED_WORKTREE_ROOT}",
 2535                        "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
 2536                        "tags": [
 2537                          "setup"
 2538                        ]
 2539                      },
 2540                      "enableContentValidation": {
 2541                        "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 2542                        "type": "boolean",
 2543                        "default": true
 2544                      },
 2545                      "enableDWARF": {
 2546                        "type": "boolean",
 2547                        "default": true,
 2548                        "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 2549                      },
 2550                      "env": {
 2551                        "type": "object",
 2552                        "additionalProperties": {
 2553                          "type": [
 2554                            "string",
 2555                            "null"
 2556                          ]
 2557                        },
 2558                        "default": {},
 2559                        "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 2560                        "tags": [
 2561                          "setup"
 2562                        ]
 2563                      },
 2564                      "envFile": {
 2565                        "description": "Absolute path to a file containing environment variable definitions.",
 2566                        "type": "string",
 2567                        "default": "${ZED_WORKTREE_ROOT}/.env"
 2568                      },
 2569                      "localRoot": {
 2570                        "description": "Path to the local directory containing the program.",
 2571                        "type": [
 2572                          "string",
 2573                          "null"
 2574                        ],
 2575                        "default": null
 2576                      },
 2577                      "nodeVersionHint": {
 2578                        "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
 2579                        "type": "number",
 2580                        "default": 12,
 2581                        "minimum": 8
 2582                      },
 2583                      "outFiles": {
 2584                        "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 2585                        "type": [
 2586                          "array"
 2587                        ],
 2588                        "default": [
 2589                          "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 2590                          "!**/node_modules/**"
 2591                        ],
 2592                        "items": {
 2593                          "type": "string"
 2594                        },
 2595                        "tags": [
 2596                          "setup"
 2597                        ]
 2598                      },
 2599                      "outputCapture": {
 2600                        "default": "console",
 2601                        "enum": [
 2602                          "console",
 2603                          "std"
 2604                        ],
 2605                        "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 2606                      },
 2607                      "pauseForSourceMap": {
 2608                        "type": "boolean",
 2609                        "default": false,
 2610                        "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 2611                      },
 2612                      "remoteRoot": {
 2613                        "description": "Absolute path to the remote directory containing the program.",
 2614                        "type": [
 2615                          "string",
 2616                          "null"
 2617                        ],
 2618                        "default": null
 2619                      },
 2620                      "resolveSourceMapLocations": {
 2621                        "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 2622                        "type": [
 2623                          "array",
 2624                          "null"
 2625                        ],
 2626                        "default": [
 2627                          "${ZED_WORKTREE_ROOT}/**",
 2628                          "!**/node_modules/**"
 2629                        ],
 2630                        "items": {
 2631                          "type": "string"
 2632                        }
 2633                      },
 2634                      "runtimeSourcemapPausePatterns": {
 2635                        "type": "array",
 2636                        "default": [],
 2637                        "items": {
 2638                          "type": "string"
 2639                        },
 2640                        "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 2641                      },
 2642                      "showAsyncStacks": {
 2643                        "description": "Show the async calls that led to the current call stack.",
 2644                        "default": true,
 2645                        "oneOf": [
 2646                          {
 2647                            "type": "boolean"
 2648                          },
 2649                          {
 2650                            "type": "object",
 2651                            "properties": {
 2652                              "onAttach": {
 2653                                "type": "number",
 2654                                "default": 32
 2655                              }
 2656                            },
 2657                            "required": [
 2658                              "onAttach"
 2659                            ]
 2660                          },
 2661                          {
 2662                            "type": "object",
 2663                            "properties": {
 2664                              "onceBreakpointResolved": {
 2665                                "type": "number",
 2666                                "default": 32
 2667                              }
 2668                            },
 2669                            "required": [
 2670                              "onceBreakpointResolved"
 2671                            ]
 2672                          }
 2673                        ]
 2674                      },
 2675                      "skipFiles": {
 2676                        "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 2677                        "type": "array",
 2678                        "default": [
 2679                          "${/**"
 2680                        ]
 2681                      },
 2682                      "smartStep": {
 2683                        "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 2684                        "type": "boolean",
 2685                        "default": true
 2686                      },
 2687                      "sourceMapPathOverrides": {
 2688                        "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 2689                        "type": "object",
 2690                        "default": {
 2691                          "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 2692                          "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 2693                          "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 2694                        }
 2695                      },
 2696                      "sourceMapRenames": {
 2697                        "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 2698                        "type": "boolean",
 2699                        "default": true
 2700                      },
 2701                      "sourceMaps": {
 2702                        "description": "Use JavaScript source maps (if they exist).",
 2703                        "type": "boolean",
 2704                        "default": true
 2705                      },
 2706                      "timeout": {
 2707                        "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 2708                        "type": "number",
 2709                        "default": 10000
 2710                      },
 2711                      "timeouts": {
 2712                        "description": "Timeouts for several debugger operations.",
 2713                        "type": "object",
 2714                        "properties": {
 2715                          "hoverEvaluation": {
 2716                            "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 2717                            "type": "number",
 2718                            "default": 500
 2719                          },
 2720                          "sourceMapCumulativePause": {
 2721                            "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 2722                            "type": "number",
 2723                            "default": 1000
 2724                          },
 2725                          "sourceMapMinPause": {
 2726                            "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 2727                            "type": "number",
 2728                            "default": 1000
 2729                          }
 2730                        },
 2731                        "additionalProperties": false,
 2732                        "default": {},
 2733                        "markdownDescription": "Timeouts for several debugger operations."
 2734                      },
 2735                      "trace": {
 2736                        "description": "Configures what diagnostic output is produced.",
 2737                        "default": true,
 2738                        "oneOf": [
 2739                          {
 2740                            "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 2741                            "type": "boolean"
 2742                          },
 2743                          {
 2744                            "type": "object",
 2745                            "properties": {
 2746                              "logFile": {
 2747                                "description": "Configures where on disk logs are written.",
 2748                                "type": [
 2749                                  "string",
 2750                                  "null"
 2751                                ]
 2752                              },
 2753                              "stdio": {
 2754                                "description": "Whether to return trace data from the launched application or browser.",
 2755                                "type": "boolean"
 2756                              }
 2757                            },
 2758                            "additionalProperties": false
 2759                          }
 2760                        ]
 2761                      }
 2762                    },
 2763                    "additionalProperties": false,
 2764                    "default": {
 2765                      "program": "npm start"
 2766                    }
 2767                  }
 2768                ]
 2769              },
 2770              "showAsyncStacks": {
 2771                "description": "Show the async calls that led to the current call stack.",
 2772                "default": true,
 2773                "oneOf": [
 2774                  {
 2775                    "type": "boolean"
 2776                  },
 2777                  {
 2778                    "type": "object",
 2779                    "properties": {
 2780                      "onAttach": {
 2781                        "type": "number",
 2782                        "default": 32
 2783                      }
 2784                    },
 2785                    "required": [
 2786                      "onAttach"
 2787                    ]
 2788                  },
 2789                  {
 2790                    "type": "object",
 2791                    "properties": {
 2792                      "onceBreakpointResolved": {
 2793                        "type": "number",
 2794                        "default": 32
 2795                      }
 2796                    },
 2797                    "required": [
 2798                      "onceBreakpointResolved"
 2799                    ]
 2800                  }
 2801                ]
 2802              },
 2803              "skipFiles": {
 2804                "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 2805                "type": "array",
 2806                "default": [
 2807                  "${/**"
 2808                ]
 2809              },
 2810              "smartStep": {
 2811                "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 2812                "type": "boolean",
 2813                "default": true
 2814              },
 2815              "sourceMapPathOverrides": {
 2816                "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 2817                "type": "object",
 2818                "default": {
 2819                  "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 2820                  "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 2821                  "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 2822                }
 2823              },
 2824              "sourceMapRenames": {
 2825                "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 2826                "type": "boolean",
 2827                "default": true
 2828              },
 2829              "sourceMaps": {
 2830                "description": "Use JavaScript source maps (if they exist).",
 2831                "type": "boolean",
 2832                "default": true
 2833              },
 2834              "targetSelection": {
 2835                "type": "string",
 2836                "default": "automatic",
 2837                "enum": [
 2838                  "pick",
 2839                  "automatic"
 2840                ],
 2841                "markdownDescription": "Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\")."
 2842              },
 2843              "timeout": {
 2844                "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 2845                "type": "number",
 2846                "default": 10000
 2847              },
 2848              "timeouts": {
 2849                "description": "Timeouts for several debugger operations.",
 2850                "type": "object",
 2851                "properties": {
 2852                  "hoverEvaluation": {
 2853                    "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 2854                    "type": "number",
 2855                    "default": 500
 2856                  },
 2857                  "sourceMapCumulativePause": {
 2858                    "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 2859                    "type": "number",
 2860                    "default": 1000
 2861                  },
 2862                  "sourceMapMinPause": {
 2863                    "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 2864                    "type": "number",
 2865                    "default": 1000
 2866                  }
 2867                },
 2868                "additionalProperties": false,
 2869                "default": {},
 2870                "markdownDescription": "Timeouts for several debugger operations."
 2871              },
 2872              "trace": {
 2873                "description": "Configures what diagnostic output is produced.",
 2874                "default": true,
 2875                "oneOf": [
 2876                  {
 2877                    "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 2878                    "type": "boolean"
 2879                  },
 2880                  {
 2881                    "type": "object",
 2882                    "properties": {
 2883                      "logFile": {
 2884                        "description": "Configures where on disk logs are written.",
 2885                        "type": [
 2886                          "string",
 2887                          "null"
 2888                        ]
 2889                      },
 2890                      "stdio": {
 2891                        "description": "Whether to return trace data from the launched application or browser.",
 2892                        "type": "boolean"
 2893                      }
 2894                    },
 2895                    "additionalProperties": false
 2896                  }
 2897                ]
 2898              },
 2899              "url": {
 2900                "description": "Will search for a tab with this exact url and attach to it, if found",
 2901                "type": "string",
 2902                "default": "http://localhost:8080",
 2903                "tags": [
 2904                  "setup"
 2905                ]
 2906              },
 2907              "urlFilter": {
 2908                "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
 2909                "type": "string",
 2910                "default": ""
 2911              },
 2912              "vueComponentPaths": {
 2913                "description": "A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.",
 2914                "type": "array",
 2915                "default": [
 2916                  "${ZED_WORKTREE_ROOT}/**/*.vue"
 2917                ]
 2918              },
 2919              "webRoot": {
 2920                "description": "This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"",
 2921                "type": "string",
 2922                "default": "${ZED_WORKTREE_ROOT}",
 2923                "tags": [
 2924                  "setup"
 2925                ]
 2926              }
 2927            },
 2928            "default": {
 2929              "webRoot": "${ZED_WORKTREE_ROOT}"
 2930            },
 2931            "markdownDescription": "Chrome launch options used when attaching to the renderer process, with `debugWebviews` or `debugWebWorkerHost`."
 2932          },
 2933          "resolveSourceMapLocations": {
 2934            "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 2935            "type": [
 2936              "array",
 2937              "null"
 2938            ],
 2939            "default": [
 2940              "${ZED_WORKTREE_ROOT}/**",
 2941              "!**/node_modules/**"
 2942            ],
 2943            "items": {
 2944              "type": "string"
 2945            }
 2946          },
 2947          "runtimeExecutable": {
 2948            "type": [
 2949              "string",
 2950              "null"
 2951            ],
 2952            "default": "node",
 2953            "markdownDescription": "Absolute path to VS Code."
 2954          },
 2955          "runtimeSourcemapPausePatterns": {
 2956            "type": "array",
 2957            "default": [],
 2958            "items": {
 2959              "type": "string"
 2960            },
 2961            "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 2962          },
 2963          "showAsyncStacks": {
 2964            "description": "Show the async calls that led to the current call stack.",
 2965            "default": true,
 2966            "oneOf": [
 2967              {
 2968                "type": "boolean"
 2969              },
 2970              {
 2971                "type": "object",
 2972                "properties": {
 2973                  "onAttach": {
 2974                    "type": "number",
 2975                    "default": 32
 2976                  }
 2977                },
 2978                "required": [
 2979                  "onAttach"
 2980                ]
 2981              },
 2982              {
 2983                "type": "object",
 2984                "properties": {
 2985                  "onceBreakpointResolved": {
 2986                    "type": "number",
 2987                    "default": 32
 2988                  }
 2989                },
 2990                "required": [
 2991                  "onceBreakpointResolved"
 2992                ]
 2993              }
 2994            ]
 2995          },
 2996          "skipFiles": {
 2997            "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 2998            "type": "array",
 2999            "default": [
 3000              "${/**"
 3001            ]
 3002          },
 3003          "smartStep": {
 3004            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 3005            "type": "boolean",
 3006            "default": true
 3007          },
 3008          "sourceMapPathOverrides": {
 3009            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 3010            "type": "object",
 3011            "default": {
 3012              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 3013              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 3014              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 3015            }
 3016          },
 3017          "sourceMapRenames": {
 3018            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 3019            "type": "boolean",
 3020            "default": true
 3021          },
 3022          "sourceMaps": {
 3023            "description": "Use JavaScript source maps (if they exist).",
 3024            "type": "boolean",
 3025            "default": true
 3026          },
 3027          "testConfiguration": {
 3028            "type": "string",
 3029            "default": "${ZED_WORKTREE_ROOT}/.vscode-test.js",
 3030            "markdownDescription": "Path to a test configuration file for the [test CLI](https://code.visualstudio.com/api/working-with-extensions/testing-extension#quick-setup-the-test-cli)."
 3031          },
 3032          "testConfigurationLabel": {
 3033            "type": "string",
 3034            "default": "",
 3035            "markdownDescription": "A single configuration to run from the file. If not specified, you may be asked to pick."
 3036          },
 3037          "timeout": {
 3038            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 3039            "type": "number",
 3040            "default": 10000
 3041          },
 3042          "timeouts": {
 3043            "description": "Timeouts for several debugger operations.",
 3044            "type": "object",
 3045            "properties": {
 3046              "hoverEvaluation": {
 3047                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 3048                "type": "number",
 3049                "default": 500
 3050              },
 3051              "sourceMapCumulativePause": {
 3052                "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 3053                "type": "number",
 3054                "default": 1000
 3055              },
 3056              "sourceMapMinPause": {
 3057                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 3058                "type": "number",
 3059                "default": 1000
 3060              }
 3061            },
 3062            "additionalProperties": false,
 3063            "default": {},
 3064            "markdownDescription": "Timeouts for several debugger operations."
 3065          },
 3066          "trace": {
 3067            "description": "Configures what diagnostic output is produced.",
 3068            "default": true,
 3069            "oneOf": [
 3070              {
 3071                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 3072                "type": "boolean"
 3073              },
 3074              {
 3075                "type": "object",
 3076                "properties": {
 3077                  "logFile": {
 3078                    "description": "Configures where on disk logs are written.",
 3079                    "type": [
 3080                      "string",
 3081                      "null"
 3082                    ]
 3083                  },
 3084                  "stdio": {
 3085                    "description": "Whether to return trace data from the launched application or browser.",
 3086                    "type": "boolean"
 3087                  }
 3088                },
 3089                "additionalProperties": false
 3090              }
 3091            ]
 3092          }
 3093        },
 3094        "required": []
 3095      }
 3096    },
 3097    {
 3098      "if": {
 3099        "properties": {
 3100          "type": {
 3101            "enum": [
 3102              "extensionHost"
 3103            ]
 3104          },
 3105          "request": {
 3106            "enum": [
 3107              "launch"
 3108            ]
 3109          }
 3110        },
 3111        "required": [
 3112          "type",
 3113          "request"
 3114        ]
 3115      },
 3116      "then": {
 3117        "properties": {
 3118          "args": {
 3119            "description": "Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.",
 3120            "type": "array",
 3121            "default": [
 3122              "--extensionDevelopmentPath=${ZED_WORKTREE_ROOT}"
 3123            ],
 3124            "items": {
 3125              "type": "string"
 3126            },
 3127            "tags": [
 3128              "setup"
 3129            ]
 3130          },
 3131          "autoAttachChildProcesses": {
 3132            "description": "Attach debugger to new child processes automatically.",
 3133            "type": "boolean",
 3134            "default": true
 3135          },
 3136          "cascadeTerminateToConfigurations": {
 3137            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 3138            "type": "array",
 3139            "default": [],
 3140            "items": {
 3141              "type": "string",
 3142              "uniqueItems": true
 3143            }
 3144          },
 3145          "customDescriptionGenerator": {
 3146            "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 3147            "type": "string"
 3148          },
 3149          "customPropertiesGenerator": {
 3150            "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 3151            "type": "string",
 3152            "deprecated": true
 3153          },
 3154          "cwd": {
 3155            "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
 3156            "type": "string",
 3157            "default": "${ZED_WORKTREE_ROOT}",
 3158            "tags": [
 3159              "setup"
 3160            ]
 3161          },
 3162          "debugWebWorkerHost": {
 3163            "type": [
 3164              "boolean"
 3165            ],
 3166            "default": true,
 3167            "markdownDescription": "Configures whether we should try to attach to the web worker extension host."
 3168          },
 3169          "debugWebviews": {
 3170            "type": [
 3171              "boolean"
 3172            ],
 3173            "default": true,
 3174            "markdownDescription": "Configures whether we should try to attach to webviews in the launched VS Code instance. This will only work in desktop VS Code."
 3175          },
 3176          "enableContentValidation": {
 3177            "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 3178            "type": "boolean",
 3179            "default": true
 3180          },
 3181          "enableDWARF": {
 3182            "type": "boolean",
 3183            "default": true,
 3184            "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 3185          },
 3186          "env": {
 3187            "type": "object",
 3188            "additionalProperties": {
 3189              "type": [
 3190                "string",
 3191                "null"
 3192              ]
 3193            },
 3194            "default": {},
 3195            "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 3196            "tags": [
 3197              "setup"
 3198            ]
 3199          },
 3200          "envFile": {
 3201            "description": "Absolute path to a file containing environment variable definitions.",
 3202            "type": "string",
 3203            "default": "${ZED_WORKTREE_ROOT}/.env"
 3204          },
 3205          "localRoot": {
 3206            "description": "Path to the local directory containing the program.",
 3207            "type": [
 3208              "string",
 3209              "null"
 3210            ],
 3211            "default": null
 3212          },
 3213          "nodeVersionHint": {
 3214            "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
 3215            "type": "number",
 3216            "default": 12,
 3217            "minimum": 8
 3218          },
 3219          "outFiles": {
 3220            "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 3221            "type": [
 3222              "array"
 3223            ],
 3224            "default": [
 3225              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 3226              "!**/node_modules/**"
 3227            ],
 3228            "items": {
 3229              "type": "string"
 3230            },
 3231            "tags": [
 3232              "setup"
 3233            ]
 3234          },
 3235          "outputCapture": {
 3236            "default": "console",
 3237            "enum": [
 3238              "console",
 3239              "std"
 3240            ],
 3241            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 3242          },
 3243          "pauseForSourceMap": {
 3244            "type": "boolean",
 3245            "default": false,
 3246            "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 3247          },
 3248          "remoteRoot": {
 3249            "description": "Absolute path to the remote directory containing the program.",
 3250            "type": [
 3251              "string",
 3252              "null"
 3253            ],
 3254            "default": null
 3255          },
 3256          "rendererDebugOptions": {
 3257            "type": "object",
 3258            "properties": {
 3259              "address": {
 3260                "description": "IP address or hostname the debugged browser is listening on.",
 3261                "type": "string",
 3262                "default": "localhost"
 3263              },
 3264              "browserAttachLocation": {
 3265                "description": "Forces the browser to attach in one location. In a remote workspace (through ssh or WSL, for example) this can be used to attach to a browser on the remote machine rather than locally.",
 3266                "default": null,
 3267                "oneOf": [
 3268                  {
 3269                    "type": "null"
 3270                  },
 3271                  {
 3272                    "type": "string",
 3273                    "enum": [
 3274                      "ui",
 3275                      "workspace"
 3276                    ]
 3277                  }
 3278                ]
 3279              },
 3280              "cascadeTerminateToConfigurations": {
 3281                "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 3282                "type": "array",
 3283                "default": [],
 3284                "items": {
 3285                  "type": "string",
 3286                  "uniqueItems": true
 3287                }
 3288              },
 3289              "customDescriptionGenerator": {
 3290                "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 3291                "type": "string"
 3292              },
 3293              "customPropertiesGenerator": {
 3294                "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 3295                "type": "string",
 3296                "deprecated": true
 3297              },
 3298              "disableNetworkCache": {
 3299                "description": "Controls whether to skip the network cache for each request",
 3300                "type": "boolean",
 3301                "default": true
 3302              },
 3303              "enableContentValidation": {
 3304                "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 3305                "type": "boolean",
 3306                "default": true
 3307              },
 3308              "enableDWARF": {
 3309                "type": "boolean",
 3310                "default": true,
 3311                "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 3312              },
 3313              "inspectUri": {
 3314                "description": "Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n",
 3315                "type": [
 3316                  "string",
 3317                  "null"
 3318                ],
 3319                "default": null
 3320              },
 3321              "outFiles": {
 3322                "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 3323                "type": [
 3324                  "array"
 3325                ],
 3326                "default": [
 3327                  "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 3328                  "!**/node_modules/**"
 3329                ],
 3330                "items": {
 3331                  "type": "string"
 3332                },
 3333                "tags": [
 3334                  "setup"
 3335                ]
 3336              },
 3337              "outputCapture": {
 3338                "default": "console",
 3339                "enum": [
 3340                  "console",
 3341                  "std"
 3342                ],
 3343                "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 3344              },
 3345              "pathMapping": {
 3346                "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
 3347                "type": "object",
 3348                "default": {}
 3349              },
 3350              "pauseForSourceMap": {
 3351                "type": "boolean",
 3352                "default": false,
 3353                "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 3354              },
 3355              "perScriptSourcemaps": {
 3356                "description": "Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.",
 3357                "type": "string",
 3358                "default": "auto",
 3359                "enum": [
 3360                  "yes",
 3361                  "no",
 3362                  "auto"
 3363                ]
 3364              },
 3365              "port": {
 3366                "description": "Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.",
 3367                "default": 9229,
 3368                "oneOf": [
 3369                  {
 3370                    "type": "integer"
 3371                  },
 3372                  {
 3373                    "type": "string",
 3374                    "pattern": "^\\${.*}$"
 3375                  }
 3376                ],
 3377                "tags": [
 3378                  "setup"
 3379                ]
 3380              },
 3381              "resolveSourceMapLocations": {
 3382                "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 3383                "type": [
 3384                  "array",
 3385                  "null"
 3386                ],
 3387                "default": null,
 3388                "items": {
 3389                  "type": "string"
 3390                }
 3391              },
 3392              "restart": {
 3393                "type": "boolean",
 3394                "default": false,
 3395                "markdownDescription": "Whether to reconnect if the browser connection is closed"
 3396              },
 3397              "server": {
 3398                "oneOf": [
 3399                  {
 3400                    "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
 3401                    "type": "object",
 3402                    "properties": {
 3403                      "args": {
 3404                        "description": "Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.",
 3405                        "type": [
 3406                          "array",
 3407                          "string"
 3408                        ],
 3409                        "default": [],
 3410                        "items": {
 3411                          "type": "string"
 3412                        },
 3413                        "tags": [
 3414                          "setup"
 3415                        ]
 3416                      },
 3417                      "attachSimplePort": {
 3418                        "description": "If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.",
 3419                        "default": 9229,
 3420                        "oneOf": [
 3421                          {
 3422                            "type": "integer"
 3423                          },
 3424                          {
 3425                            "type": "string",
 3426                            "pattern": "^\\${.*}$"
 3427                          }
 3428                        ]
 3429                      },
 3430                      "autoAttachChildProcesses": {
 3431                        "description": "Attach debugger to new child processes automatically.",
 3432                        "type": "boolean",
 3433                        "default": true
 3434                      },
 3435                      "cascadeTerminateToConfigurations": {
 3436                        "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 3437                        "type": "array",
 3438                        "default": [],
 3439                        "items": {
 3440                          "type": "string",
 3441                          "uniqueItems": true
 3442                        }
 3443                      },
 3444                      "console": {
 3445                        "description": "Where to launch the debug target.",
 3446                        "type": "string",
 3447                        "default": "internalConsole",
 3448                        "enum": [
 3449                          "internalConsole",
 3450                          "integratedTerminal",
 3451                          "externalTerminal"
 3452                        ],
 3453                        "enumDescriptions": [
 3454                          "VS Code Debug Console (which doesn't support to read input from a program)",
 3455                          "VS Code's integrated terminal",
 3456                          "External terminal that can be configured via user settings"
 3457                        ]
 3458                      },
 3459                      "customDescriptionGenerator": {
 3460                        "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 3461                        "type": "string"
 3462                      },
 3463                      "customPropertiesGenerator": {
 3464                        "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 3465                        "type": "string",
 3466                        "deprecated": true
 3467                      },
 3468                      "cwd": {
 3469                        "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
 3470                        "type": "string",
 3471                        "default": "${ZED_WORKTREE_ROOT}",
 3472                        "tags": [
 3473                          "setup"
 3474                        ]
 3475                      },
 3476                      "enableContentValidation": {
 3477                        "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 3478                        "type": "boolean",
 3479                        "default": true
 3480                      },
 3481                      "enableDWARF": {
 3482                        "type": "boolean",
 3483                        "default": true,
 3484                        "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 3485                      },
 3486                      "env": {
 3487                        "type": "object",
 3488                        "additionalProperties": {
 3489                          "type": [
 3490                            "string",
 3491                            "null"
 3492                          ]
 3493                        },
 3494                        "default": {},
 3495                        "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 3496                        "tags": [
 3497                          "setup"
 3498                        ]
 3499                      },
 3500                      "envFile": {
 3501                        "description": "Absolute path to a file containing environment variable definitions.",
 3502                        "type": "string",
 3503                        "default": "${ZED_WORKTREE_ROOT}/.env"
 3504                      },
 3505                      "experimentalNetworking": {
 3506                        "description": "Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.",
 3507                        "type": "string",
 3508                        "default": "auto",
 3509                        "enum": [
 3510                          "auto",
 3511                          "on",
 3512                          "off"
 3513                        ]
 3514                      },
 3515                      "killBehavior": {
 3516                        "type": "string",
 3517                        "default": "forceful",
 3518                        "enum": [
 3519                          "forceful",
 3520                          "polite",
 3521                          "none"
 3522                        ],
 3523                        "markdownDescription": "Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."
 3524                      },
 3525                      "localRoot": {
 3526                        "description": "Path to the local directory containing the program.",
 3527                        "type": [
 3528                          "string",
 3529                          "null"
 3530                        ],
 3531                        "default": null
 3532                      },
 3533                      "nodeVersionHint": {
 3534                        "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
 3535                        "type": "number",
 3536                        "default": 12,
 3537                        "minimum": 8
 3538                      },
 3539                      "outFiles": {
 3540                        "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 3541                        "type": [
 3542                          "array"
 3543                        ],
 3544                        "default": [
 3545                          "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 3546                          "!**/node_modules/**"
 3547                        ],
 3548                        "items": {
 3549                          "type": "string"
 3550                        },
 3551                        "tags": [
 3552                          "setup"
 3553                        ]
 3554                      },
 3555                      "outputCapture": {
 3556                        "default": "console",
 3557                        "enum": [
 3558                          "console",
 3559                          "std"
 3560                        ],
 3561                        "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 3562                      },
 3563                      "pauseForSourceMap": {
 3564                        "type": "boolean",
 3565                        "default": false,
 3566                        "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 3567                      },
 3568                      "profileStartup": {
 3569                        "description": "If true, will start profiling as soon as the process launches",
 3570                        "type": "boolean",
 3571                        "default": true
 3572                      },
 3573                      "program": {
 3574                        "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
 3575                        "type": "string",
 3576                        "default": "",
 3577                        "tags": [
 3578                          "setup"
 3579                        ]
 3580                      },
 3581                      "remoteRoot": {
 3582                        "description": "Absolute path to the remote directory containing the program.",
 3583                        "type": [
 3584                          "string",
 3585                          "null"
 3586                        ],
 3587                        "default": null
 3588                      },
 3589                      "resolveSourceMapLocations": {
 3590                        "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 3591                        "type": [
 3592                          "array",
 3593                          "null"
 3594                        ],
 3595                        "default": [
 3596                          "${ZED_WORKTREE_ROOT}/**",
 3597                          "!**/node_modules/**"
 3598                        ],
 3599                        "items": {
 3600                          "type": "string"
 3601                        }
 3602                      },
 3603                      "restart": {
 3604                        "description": "Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.",
 3605                        "default": true,
 3606                        "oneOf": [
 3607                          {
 3608                            "type": "boolean"
 3609                          },
 3610                          {
 3611                            "type": "object",
 3612                            "properties": {
 3613                              "delay": {
 3614                                "type": "number",
 3615                                "default": 1000,
 3616                                "minimum": 0
 3617                              },
 3618                              "maxAttempts": {
 3619                                "type": "number",
 3620                                "default": 10,
 3621                                "minimum": 0
 3622                              }
 3623                            }
 3624                          }
 3625                        ]
 3626                      },
 3627                      "runtimeArgs": {
 3628                        "description": "Optional arguments passed to the runtime executable.",
 3629                        "type": "array",
 3630                        "default": [],
 3631                        "items": {
 3632                          "type": "string"
 3633                        },
 3634                        "tags": [
 3635                          "setup"
 3636                        ]
 3637                      },
 3638                      "runtimeExecutable": {
 3639                        "type": [
 3640                          "string",
 3641                          "null"
 3642                        ],
 3643                        "default": "node",
 3644                        "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
 3645                      },
 3646                      "runtimeSourcemapPausePatterns": {
 3647                        "type": "array",
 3648                        "default": [],
 3649                        "items": {
 3650                          "type": "string"
 3651                        },
 3652                        "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 3653                      },
 3654                      "runtimeVersion": {
 3655                        "type": "string",
 3656                        "default": "default",
 3657                        "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
 3658                      },
 3659                      "showAsyncStacks": {
 3660                        "description": "Show the async calls that led to the current call stack.",
 3661                        "default": true,
 3662                        "oneOf": [
 3663                          {
 3664                            "type": "boolean"
 3665                          },
 3666                          {
 3667                            "type": "object",
 3668                            "properties": {
 3669                              "onAttach": {
 3670                                "type": "number",
 3671                                "default": 32
 3672                              }
 3673                            },
 3674                            "required": [
 3675                              "onAttach"
 3676                            ]
 3677                          },
 3678                          {
 3679                            "type": "object",
 3680                            "properties": {
 3681                              "onceBreakpointResolved": {
 3682                                "type": "number",
 3683                                "default": 32
 3684                              }
 3685                            },
 3686                            "required": [
 3687                              "onceBreakpointResolved"
 3688                            ]
 3689                          }
 3690                        ]
 3691                      },
 3692                      "skipFiles": {
 3693                        "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 3694                        "type": "array",
 3695                        "default": [
 3696                          "${/**"
 3697                        ]
 3698                      },
 3699                      "smartStep": {
 3700                        "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 3701                        "type": "boolean",
 3702                        "default": true
 3703                      },
 3704                      "sourceMapPathOverrides": {
 3705                        "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 3706                        "type": "object",
 3707                        "default": {
 3708                          "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 3709                          "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 3710                          "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 3711                        }
 3712                      },
 3713                      "sourceMapRenames": {
 3714                        "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 3715                        "type": "boolean",
 3716                        "default": true
 3717                      },
 3718                      "sourceMaps": {
 3719                        "description": "Use JavaScript source maps (if they exist).",
 3720                        "type": "boolean",
 3721                        "default": true
 3722                      },
 3723                      "stopOnEntry": {
 3724                        "description": "Automatically stop program after launch.",
 3725                        "type": [
 3726                          "boolean",
 3727                          "string"
 3728                        ],
 3729                        "default": true
 3730                      },
 3731                      "timeout": {
 3732                        "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 3733                        "type": "number",
 3734                        "default": 10000
 3735                      },
 3736                      "timeouts": {
 3737                        "description": "Timeouts for several debugger operations.",
 3738                        "type": "object",
 3739                        "properties": {
 3740                          "hoverEvaluation": {
 3741                            "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 3742                            "type": "number",
 3743                            "default": 500
 3744                          },
 3745                          "sourceMapCumulativePause": {
 3746                            "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 3747                            "type": "number",
 3748                            "default": 1000
 3749                          },
 3750                          "sourceMapMinPause": {
 3751                            "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 3752                            "type": "number",
 3753                            "default": 1000
 3754                          }
 3755                        },
 3756                        "additionalProperties": false,
 3757                        "default": {},
 3758                        "markdownDescription": "Timeouts for several debugger operations."
 3759                      },
 3760                      "trace": {
 3761                        "description": "Configures what diagnostic output is produced.",
 3762                        "default": true,
 3763                        "oneOf": [
 3764                          {
 3765                            "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 3766                            "type": "boolean"
 3767                          },
 3768                          {
 3769                            "type": "object",
 3770                            "properties": {
 3771                              "logFile": {
 3772                                "description": "Configures where on disk logs are written.",
 3773                                "type": [
 3774                                  "string",
 3775                                  "null"
 3776                                ]
 3777                              },
 3778                              "stdio": {
 3779                                "description": "Whether to return trace data from the launched application or browser.",
 3780                                "type": "boolean"
 3781                              }
 3782                            },
 3783                            "additionalProperties": false
 3784                          }
 3785                        ]
 3786                      }
 3787                    },
 3788                    "additionalProperties": false,
 3789                    "default": {
 3790                      "program": "node my-server.js"
 3791                    }
 3792                  },
 3793                  {
 3794                    "description": "JavaScript Debug Terminal",
 3795                    "type": "object",
 3796                    "properties": {
 3797                      "autoAttachChildProcesses": {
 3798                        "description": "Attach debugger to new child processes automatically.",
 3799                        "type": "boolean",
 3800                        "default": true
 3801                      },
 3802                      "cascadeTerminateToConfigurations": {
 3803                        "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 3804                        "type": "array",
 3805                        "default": [],
 3806                        "items": {
 3807                          "type": "string",
 3808                          "uniqueItems": true
 3809                        }
 3810                      },
 3811                      "command": {
 3812                        "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
 3813                        "type": [
 3814                          "string",
 3815                          "null"
 3816                        ],
 3817                        "default": "npm start",
 3818                        "tags": [
 3819                          "setup"
 3820                        ]
 3821                      },
 3822                      "customDescriptionGenerator": {
 3823                        "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 3824                        "type": "string"
 3825                      },
 3826                      "customPropertiesGenerator": {
 3827                        "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 3828                        "type": "string",
 3829                        "deprecated": true
 3830                      },
 3831                      "cwd": {
 3832                        "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
 3833                        "type": "string",
 3834                        "default": "${ZED_WORKTREE_ROOT}",
 3835                        "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
 3836                        "tags": [
 3837                          "setup"
 3838                        ]
 3839                      },
 3840                      "enableContentValidation": {
 3841                        "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 3842                        "type": "boolean",
 3843                        "default": true
 3844                      },
 3845                      "enableDWARF": {
 3846                        "type": "boolean",
 3847                        "default": true,
 3848                        "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 3849                      },
 3850                      "env": {
 3851                        "type": "object",
 3852                        "additionalProperties": {
 3853                          "type": [
 3854                            "string",
 3855                            "null"
 3856                          ]
 3857                        },
 3858                        "default": {},
 3859                        "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 3860                        "tags": [
 3861                          "setup"
 3862                        ]
 3863                      },
 3864                      "envFile": {
 3865                        "description": "Absolute path to a file containing environment variable definitions.",
 3866                        "type": "string",
 3867                        "default": "${ZED_WORKTREE_ROOT}/.env"
 3868                      },
 3869                      "localRoot": {
 3870                        "description": "Path to the local directory containing the program.",
 3871                        "type": [
 3872                          "string",
 3873                          "null"
 3874                        ],
 3875                        "default": null
 3876                      },
 3877                      "nodeVersionHint": {
 3878                        "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
 3879                        "type": "number",
 3880                        "default": 12,
 3881                        "minimum": 8
 3882                      },
 3883                      "outFiles": {
 3884                        "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 3885                        "type": [
 3886                          "array"
 3887                        ],
 3888                        "default": [
 3889                          "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 3890                          "!**/node_modules/**"
 3891                        ],
 3892                        "items": {
 3893                          "type": "string"
 3894                        },
 3895                        "tags": [
 3896                          "setup"
 3897                        ]
 3898                      },
 3899                      "outputCapture": {
 3900                        "default": "console",
 3901                        "enum": [
 3902                          "console",
 3903                          "std"
 3904                        ],
 3905                        "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 3906                      },
 3907                      "pauseForSourceMap": {
 3908                        "type": "boolean",
 3909                        "default": false,
 3910                        "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 3911                      },
 3912                      "remoteRoot": {
 3913                        "description": "Absolute path to the remote directory containing the program.",
 3914                        "type": [
 3915                          "string",
 3916                          "null"
 3917                        ],
 3918                        "default": null
 3919                      },
 3920                      "resolveSourceMapLocations": {
 3921                        "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 3922                        "type": [
 3923                          "array",
 3924                          "null"
 3925                        ],
 3926                        "default": [
 3927                          "${ZED_WORKTREE_ROOT}/**",
 3928                          "!**/node_modules/**"
 3929                        ],
 3930                        "items": {
 3931                          "type": "string"
 3932                        }
 3933                      },
 3934                      "runtimeSourcemapPausePatterns": {
 3935                        "type": "array",
 3936                        "default": [],
 3937                        "items": {
 3938                          "type": "string"
 3939                        },
 3940                        "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 3941                      },
 3942                      "showAsyncStacks": {
 3943                        "description": "Show the async calls that led to the current call stack.",
 3944                        "default": true,
 3945                        "oneOf": [
 3946                          {
 3947                            "type": "boolean"
 3948                          },
 3949                          {
 3950                            "type": "object",
 3951                            "properties": {
 3952                              "onAttach": {
 3953                                "type": "number",
 3954                                "default": 32
 3955                              }
 3956                            },
 3957                            "required": [
 3958                              "onAttach"
 3959                            ]
 3960                          },
 3961                          {
 3962                            "type": "object",
 3963                            "properties": {
 3964                              "onceBreakpointResolved": {
 3965                                "type": "number",
 3966                                "default": 32
 3967                              }
 3968                            },
 3969                            "required": [
 3970                              "onceBreakpointResolved"
 3971                            ]
 3972                          }
 3973                        ]
 3974                      },
 3975                      "skipFiles": {
 3976                        "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 3977                        "type": "array",
 3978                        "default": [
 3979                          "${/**"
 3980                        ]
 3981                      },
 3982                      "smartStep": {
 3983                        "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 3984                        "type": "boolean",
 3985                        "default": true
 3986                      },
 3987                      "sourceMapPathOverrides": {
 3988                        "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 3989                        "type": "object",
 3990                        "default": {
 3991                          "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 3992                          "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 3993                          "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 3994                        }
 3995                      },
 3996                      "sourceMapRenames": {
 3997                        "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 3998                        "type": "boolean",
 3999                        "default": true
 4000                      },
 4001                      "sourceMaps": {
 4002                        "description": "Use JavaScript source maps (if they exist).",
 4003                        "type": "boolean",
 4004                        "default": true
 4005                      },
 4006                      "timeout": {
 4007                        "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 4008                        "type": "number",
 4009                        "default": 10000
 4010                      },
 4011                      "timeouts": {
 4012                        "description": "Timeouts for several debugger operations.",
 4013                        "type": "object",
 4014                        "properties": {
 4015                          "hoverEvaluation": {
 4016                            "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 4017                            "type": "number",
 4018                            "default": 500
 4019                          },
 4020                          "sourceMapCumulativePause": {
 4021                            "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 4022                            "type": "number",
 4023                            "default": 1000
 4024                          },
 4025                          "sourceMapMinPause": {
 4026                            "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 4027                            "type": "number",
 4028                            "default": 1000
 4029                          }
 4030                        },
 4031                        "additionalProperties": false,
 4032                        "default": {},
 4033                        "markdownDescription": "Timeouts for several debugger operations."
 4034                      },
 4035                      "trace": {
 4036                        "description": "Configures what diagnostic output is produced.",
 4037                        "default": true,
 4038                        "oneOf": [
 4039                          {
 4040                            "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 4041                            "type": "boolean"
 4042                          },
 4043                          {
 4044                            "type": "object",
 4045                            "properties": {
 4046                              "logFile": {
 4047                                "description": "Configures where on disk logs are written.",
 4048                                "type": [
 4049                                  "string",
 4050                                  "null"
 4051                                ]
 4052                              },
 4053                              "stdio": {
 4054                                "description": "Whether to return trace data from the launched application or browser.",
 4055                                "type": "boolean"
 4056                              }
 4057                            },
 4058                            "additionalProperties": false
 4059                          }
 4060                        ]
 4061                      }
 4062                    },
 4063                    "additionalProperties": false,
 4064                    "default": {
 4065                      "program": "npm start"
 4066                    }
 4067                  }
 4068                ]
 4069              },
 4070              "showAsyncStacks": {
 4071                "description": "Show the async calls that led to the current call stack.",
 4072                "default": true,
 4073                "oneOf": [
 4074                  {
 4075                    "type": "boolean"
 4076                  },
 4077                  {
 4078                    "type": "object",
 4079                    "properties": {
 4080                      "onAttach": {
 4081                        "type": "number",
 4082                        "default": 32
 4083                      }
 4084                    },
 4085                    "required": [
 4086                      "onAttach"
 4087                    ]
 4088                  },
 4089                  {
 4090                    "type": "object",
 4091                    "properties": {
 4092                      "onceBreakpointResolved": {
 4093                        "type": "number",
 4094                        "default": 32
 4095                      }
 4096                    },
 4097                    "required": [
 4098                      "onceBreakpointResolved"
 4099                    ]
 4100                  }
 4101                ]
 4102              },
 4103              "skipFiles": {
 4104                "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 4105                "type": "array",
 4106                "default": [
 4107                  "${/**"
 4108                ]
 4109              },
 4110              "smartStep": {
 4111                "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 4112                "type": "boolean",
 4113                "default": true
 4114              },
 4115              "sourceMapPathOverrides": {
 4116                "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 4117                "type": "object",
 4118                "default": {
 4119                  "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 4120                  "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 4121                  "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 4122                }
 4123              },
 4124              "sourceMapRenames": {
 4125                "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 4126                "type": "boolean",
 4127                "default": true
 4128              },
 4129              "sourceMaps": {
 4130                "description": "Use JavaScript source maps (if they exist).",
 4131                "type": "boolean",
 4132                "default": true
 4133              },
 4134              "targetSelection": {
 4135                "type": "string",
 4136                "default": "automatic",
 4137                "enum": [
 4138                  "pick",
 4139                  "automatic"
 4140                ],
 4141                "markdownDescription": "Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\")."
 4142              },
 4143              "timeout": {
 4144                "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 4145                "type": "number",
 4146                "default": 10000
 4147              },
 4148              "timeouts": {
 4149                "description": "Timeouts for several debugger operations.",
 4150                "type": "object",
 4151                "properties": {
 4152                  "hoverEvaluation": {
 4153                    "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 4154                    "type": "number",
 4155                    "default": 500
 4156                  },
 4157                  "sourceMapCumulativePause": {
 4158                    "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 4159                    "type": "number",
 4160                    "default": 1000
 4161                  },
 4162                  "sourceMapMinPause": {
 4163                    "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 4164                    "type": "number",
 4165                    "default": 1000
 4166                  }
 4167                },
 4168                "additionalProperties": false,
 4169                "default": {},
 4170                "markdownDescription": "Timeouts for several debugger operations."
 4171              },
 4172              "trace": {
 4173                "description": "Configures what diagnostic output is produced.",
 4174                "default": true,
 4175                "oneOf": [
 4176                  {
 4177                    "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 4178                    "type": "boolean"
 4179                  },
 4180                  {
 4181                    "type": "object",
 4182                    "properties": {
 4183                      "logFile": {
 4184                        "description": "Configures where on disk logs are written.",
 4185                        "type": [
 4186                          "string",
 4187                          "null"
 4188                        ]
 4189                      },
 4190                      "stdio": {
 4191                        "description": "Whether to return trace data from the launched application or browser.",
 4192                        "type": "boolean"
 4193                      }
 4194                    },
 4195                    "additionalProperties": false
 4196                  }
 4197                ]
 4198              },
 4199              "url": {
 4200                "description": "Will search for a tab with this exact url and attach to it, if found",
 4201                "type": "string",
 4202                "default": "http://localhost:8080",
 4203                "tags": [
 4204                  "setup"
 4205                ]
 4206              },
 4207              "urlFilter": {
 4208                "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
 4209                "type": "string",
 4210                "default": ""
 4211              },
 4212              "vueComponentPaths": {
 4213                "description": "A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.",
 4214                "type": "array",
 4215                "default": [
 4216                  "${ZED_WORKTREE_ROOT}/**/*.vue"
 4217                ]
 4218              },
 4219              "webRoot": {
 4220                "description": "This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"",
 4221                "type": "string",
 4222                "default": "${ZED_WORKTREE_ROOT}",
 4223                "tags": [
 4224                  "setup"
 4225                ]
 4226              }
 4227            },
 4228            "default": {
 4229              "webRoot": "${ZED_WORKTREE_ROOT}"
 4230            },
 4231            "markdownDescription": "Chrome launch options used when attaching to the renderer process, with `debugWebviews` or `debugWebWorkerHost`."
 4232          },
 4233          "resolveSourceMapLocations": {
 4234            "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 4235            "type": [
 4236              "array",
 4237              "null"
 4238            ],
 4239            "default": [
 4240              "${ZED_WORKTREE_ROOT}/**",
 4241              "!**/node_modules/**"
 4242            ],
 4243            "items": {
 4244              "type": "string"
 4245            }
 4246          },
 4247          "runtimeExecutable": {
 4248            "type": [
 4249              "string",
 4250              "null"
 4251            ],
 4252            "default": "node",
 4253            "markdownDescription": "Absolute path to VS Code."
 4254          },
 4255          "runtimeSourcemapPausePatterns": {
 4256            "type": "array",
 4257            "default": [],
 4258            "items": {
 4259              "type": "string"
 4260            },
 4261            "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 4262          },
 4263          "showAsyncStacks": {
 4264            "description": "Show the async calls that led to the current call stack.",
 4265            "default": true,
 4266            "oneOf": [
 4267              {
 4268                "type": "boolean"
 4269              },
 4270              {
 4271                "type": "object",
 4272                "properties": {
 4273                  "onAttach": {
 4274                    "type": "number",
 4275                    "default": 32
 4276                  }
 4277                },
 4278                "required": [
 4279                  "onAttach"
 4280                ]
 4281              },
 4282              {
 4283                "type": "object",
 4284                "properties": {
 4285                  "onceBreakpointResolved": {
 4286                    "type": "number",
 4287                    "default": 32
 4288                  }
 4289                },
 4290                "required": [
 4291                  "onceBreakpointResolved"
 4292                ]
 4293              }
 4294            ]
 4295          },
 4296          "skipFiles": {
 4297            "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 4298            "type": "array",
 4299            "default": [
 4300              "${/**"
 4301            ]
 4302          },
 4303          "smartStep": {
 4304            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 4305            "type": "boolean",
 4306            "default": true
 4307          },
 4308          "sourceMapPathOverrides": {
 4309            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 4310            "type": "object",
 4311            "default": {
 4312              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 4313              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 4314              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 4315            }
 4316          },
 4317          "sourceMapRenames": {
 4318            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 4319            "type": "boolean",
 4320            "default": true
 4321          },
 4322          "sourceMaps": {
 4323            "description": "Use JavaScript source maps (if they exist).",
 4324            "type": "boolean",
 4325            "default": true
 4326          },
 4327          "testConfiguration": {
 4328            "type": "string",
 4329            "default": "${ZED_WORKTREE_ROOT}/.vscode-test.js",
 4330            "markdownDescription": "Path to a test configuration file for the [test CLI](https://code.visualstudio.com/api/working-with-extensions/testing-extension#quick-setup-the-test-cli)."
 4331          },
 4332          "testConfigurationLabel": {
 4333            "type": "string",
 4334            "default": "",
 4335            "markdownDescription": "A single configuration to run from the file. If not specified, you may be asked to pick."
 4336          },
 4337          "timeout": {
 4338            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 4339            "type": "number",
 4340            "default": 10000
 4341          },
 4342          "timeouts": {
 4343            "description": "Timeouts for several debugger operations.",
 4344            "type": "object",
 4345            "properties": {
 4346              "hoverEvaluation": {
 4347                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 4348                "type": "number",
 4349                "default": 500
 4350              },
 4351              "sourceMapCumulativePause": {
 4352                "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 4353                "type": "number",
 4354                "default": 1000
 4355              },
 4356              "sourceMapMinPause": {
 4357                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 4358                "type": "number",
 4359                "default": 1000
 4360              }
 4361            },
 4362            "additionalProperties": false,
 4363            "default": {},
 4364            "markdownDescription": "Timeouts for several debugger operations."
 4365          },
 4366          "trace": {
 4367            "description": "Configures what diagnostic output is produced.",
 4368            "default": true,
 4369            "oneOf": [
 4370              {
 4371                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 4372                "type": "boolean"
 4373              },
 4374              {
 4375                "type": "object",
 4376                "properties": {
 4377                  "logFile": {
 4378                    "description": "Configures where on disk logs are written.",
 4379                    "type": [
 4380                      "string",
 4381                      "null"
 4382                    ]
 4383                  },
 4384                  "stdio": {
 4385                    "description": "Whether to return trace data from the launched application or browser.",
 4386                    "type": "boolean"
 4387                  }
 4388                },
 4389                "additionalProperties": false
 4390              }
 4391            ]
 4392          }
 4393        },
 4394        "required": []
 4395      }
 4396    },
 4397    {
 4398      "if": {
 4399        "properties": {
 4400          "type": {
 4401            "enum": [
 4402              "pwa-chrome"
 4403            ]
 4404          },
 4405          "request": {
 4406            "enum": [
 4407              "launch"
 4408            ]
 4409          }
 4410        },
 4411        "required": [
 4412          "type",
 4413          "request"
 4414        ]
 4415      },
 4416      "then": {
 4417        "properties": {
 4418          "browserLaunchLocation": {
 4419            "description": "Forces the browser to be launched in one location. In a remote workspace (through ssh or WSL, for example) this can be used to open the browser on the remote machine rather than locally.",
 4420            "default": null,
 4421            "oneOf": [
 4422              {
 4423                "type": "null"
 4424              },
 4425              {
 4426                "type": "string",
 4427                "enum": [
 4428                  "ui",
 4429                  "workspace"
 4430                ]
 4431              }
 4432            ]
 4433          },
 4434          "cascadeTerminateToConfigurations": {
 4435            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 4436            "type": "array",
 4437            "default": [],
 4438            "items": {
 4439              "type": "string",
 4440              "uniqueItems": true
 4441            }
 4442          },
 4443          "cleanUp": {
 4444            "description": "What clean-up to do after the debugging session finishes. Close only the tab being debug, vs. close the whole browser.",
 4445            "type": "string",
 4446            "default": "wholeBrowser",
 4447            "enum": [
 4448              "wholeBrowser",
 4449              "onlyTab"
 4450            ]
 4451          },
 4452          "customDescriptionGenerator": {
 4453            "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 4454            "type": "string"
 4455          },
 4456          "customPropertiesGenerator": {
 4457            "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 4458            "type": "string",
 4459            "deprecated": true
 4460          },
 4461          "cwd": {
 4462            "description": "Optional working directory for the runtime executable.",
 4463            "type": "string",
 4464            "default": null
 4465          },
 4466          "disableNetworkCache": {
 4467            "description": "Controls whether to skip the network cache for each request",
 4468            "type": "boolean",
 4469            "default": true
 4470          },
 4471          "enableContentValidation": {
 4472            "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 4473            "type": "boolean",
 4474            "default": true
 4475          },
 4476          "enableDWARF": {
 4477            "type": "boolean",
 4478            "default": true,
 4479            "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 4480          },
 4481          "env": {
 4482            "description": "Optional dictionary of environment key/value pairs for the browser.",
 4483            "type": "object",
 4484            "default": {}
 4485          },
 4486          "file": {
 4487            "description": "A local html file to open in the browser",
 4488            "type": "string",
 4489            "default": "${ZED_WORKTREE_ROOT}/index.html",
 4490            "tags": [
 4491              "setup"
 4492            ]
 4493          },
 4494          "includeDefaultArgs": {
 4495            "description": "Whether default browser launch arguments (to disable features that may make debugging harder) will be included in the launch.",
 4496            "type": "boolean",
 4497            "default": true
 4498          },
 4499          "includeLaunchArgs": {
 4500            "description": "Advanced: whether any default launch/debugging arguments are set on the browser. The debugger will assume the browser will use pipe debugging such as that which is provided with `--remote-debugging-pipe`.",
 4501            "type": "boolean",
 4502            "default": true
 4503          },
 4504          "inspectUri": {
 4505            "description": "Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n",
 4506            "type": [
 4507              "string",
 4508              "null"
 4509            ],
 4510            "default": null
 4511          },
 4512          "killBehavior": {
 4513            "type": "string",
 4514            "default": "forceful",
 4515            "enum": [
 4516              "forceful",
 4517              "polite",
 4518              "none"
 4519            ],
 4520            "markdownDescription": "Configures how browser processes are killed when stopping the session with `cleanUp: wholeBrowser`. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."
 4521          },
 4522          "outFiles": {
 4523            "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 4524            "type": [
 4525              "array"
 4526            ],
 4527            "default": [
 4528              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 4529              "!**/node_modules/**"
 4530            ],
 4531            "items": {
 4532              "type": "string"
 4533            },
 4534            "tags": [
 4535              "setup"
 4536            ]
 4537          },
 4538          "outputCapture": {
 4539            "default": "console",
 4540            "enum": [
 4541              "console",
 4542              "std"
 4543            ],
 4544            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 4545          },
 4546          "pathMapping": {
 4547            "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
 4548            "type": "object",
 4549            "default": {}
 4550          },
 4551          "pauseForSourceMap": {
 4552            "type": "boolean",
 4553            "default": false,
 4554            "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 4555          },
 4556          "perScriptSourcemaps": {
 4557            "description": "Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.",
 4558            "type": "string",
 4559            "default": "auto",
 4560            "enum": [
 4561              "yes",
 4562              "no",
 4563              "auto"
 4564            ]
 4565          },
 4566          "port": {
 4567            "description": "Port for the browser to listen on. Defaults to \"0\", which will cause the browser to be debugged via pipes, which is generally more secure and should be chosen unless you need to attach to the browser from another tool.",
 4568            "type": "number",
 4569            "default": 0
 4570          },
 4571          "profileStartup": {
 4572            "description": "If true, will start profiling soon as the process launches",
 4573            "type": "boolean",
 4574            "default": true
 4575          },
 4576          "resolveSourceMapLocations": {
 4577            "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 4578            "type": [
 4579              "array",
 4580              "null"
 4581            ],
 4582            "default": null,
 4583            "items": {
 4584              "type": "string"
 4585            }
 4586          },
 4587          "runtimeArgs": {
 4588            "description": "Optional arguments passed to the runtime executable.",
 4589            "type": "array",
 4590            "default": [],
 4591            "items": {
 4592              "type": "string"
 4593            }
 4594          },
 4595          "runtimeExecutable": {
 4596            "description": "Either 'canary', 'stable', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or CHROME_PATH environment variable.",
 4597            "type": [
 4598              "string",
 4599              "null"
 4600            ],
 4601            "default": "stable"
 4602          },
 4603          "server": {
 4604            "oneOf": [
 4605              {
 4606                "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
 4607                "type": "object",
 4608                "properties": {
 4609                  "args": {
 4610                    "description": "Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.",
 4611                    "type": [
 4612                      "array",
 4613                      "string"
 4614                    ],
 4615                    "default": [],
 4616                    "items": {
 4617                      "type": "string"
 4618                    },
 4619                    "tags": [
 4620                      "setup"
 4621                    ]
 4622                  },
 4623                  "attachSimplePort": {
 4624                    "description": "If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.",
 4625                    "default": 9229,
 4626                    "oneOf": [
 4627                      {
 4628                        "type": "integer"
 4629                      },
 4630                      {
 4631                        "type": "string",
 4632                        "pattern": "^\\${.*}$"
 4633                      }
 4634                    ]
 4635                  },
 4636                  "autoAttachChildProcesses": {
 4637                    "description": "Attach debugger to new child processes automatically.",
 4638                    "type": "boolean",
 4639                    "default": true
 4640                  },
 4641                  "cascadeTerminateToConfigurations": {
 4642                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 4643                    "type": "array",
 4644                    "default": [],
 4645                    "items": {
 4646                      "type": "string",
 4647                      "uniqueItems": true
 4648                    }
 4649                  },
 4650                  "console": {
 4651                    "description": "Where to launch the debug target.",
 4652                    "type": "string",
 4653                    "default": "internalConsole",
 4654                    "enum": [
 4655                      "internalConsole",
 4656                      "integratedTerminal",
 4657                      "externalTerminal"
 4658                    ],
 4659                    "enumDescriptions": [
 4660                      "VS Code Debug Console (which doesn't support to read input from a program)",
 4661                      "VS Code's integrated terminal",
 4662                      "External terminal that can be configured via user settings"
 4663                    ]
 4664                  },
 4665                  "customDescriptionGenerator": {
 4666                    "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 4667                    "type": "string"
 4668                  },
 4669                  "customPropertiesGenerator": {
 4670                    "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 4671                    "type": "string",
 4672                    "deprecated": true
 4673                  },
 4674                  "cwd": {
 4675                    "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
 4676                    "type": "string",
 4677                    "default": "${ZED_WORKTREE_ROOT}",
 4678                    "tags": [
 4679                      "setup"
 4680                    ]
 4681                  },
 4682                  "enableContentValidation": {
 4683                    "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 4684                    "type": "boolean",
 4685                    "default": true
 4686                  },
 4687                  "enableDWARF": {
 4688                    "type": "boolean",
 4689                    "default": true,
 4690                    "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 4691                  },
 4692                  "env": {
 4693                    "type": "object",
 4694                    "additionalProperties": {
 4695                      "type": [
 4696                        "string",
 4697                        "null"
 4698                      ]
 4699                    },
 4700                    "default": {},
 4701                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 4702                    "tags": [
 4703                      "setup"
 4704                    ]
 4705                  },
 4706                  "envFile": {
 4707                    "description": "Absolute path to a file containing environment variable definitions.",
 4708                    "type": "string",
 4709                    "default": "${ZED_WORKTREE_ROOT}/.env"
 4710                  },
 4711                  "experimentalNetworking": {
 4712                    "description": "Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.",
 4713                    "type": "string",
 4714                    "default": "auto",
 4715                    "enum": [
 4716                      "auto",
 4717                      "on",
 4718                      "off"
 4719                    ]
 4720                  },
 4721                  "killBehavior": {
 4722                    "type": "string",
 4723                    "default": "forceful",
 4724                    "enum": [
 4725                      "forceful",
 4726                      "polite",
 4727                      "none"
 4728                    ],
 4729                    "markdownDescription": "Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."
 4730                  },
 4731                  "localRoot": {
 4732                    "description": "Path to the local directory containing the program.",
 4733                    "type": [
 4734                      "string",
 4735                      "null"
 4736                    ],
 4737                    "default": null
 4738                  },
 4739                  "nodeVersionHint": {
 4740                    "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
 4741                    "type": "number",
 4742                    "default": 12,
 4743                    "minimum": 8
 4744                  },
 4745                  "outFiles": {
 4746                    "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 4747                    "type": [
 4748                      "array"
 4749                    ],
 4750                    "default": [
 4751                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 4752                      "!**/node_modules/**"
 4753                    ],
 4754                    "items": {
 4755                      "type": "string"
 4756                    },
 4757                    "tags": [
 4758                      "setup"
 4759                    ]
 4760                  },
 4761                  "outputCapture": {
 4762                    "default": "console",
 4763                    "enum": [
 4764                      "console",
 4765                      "std"
 4766                    ],
 4767                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 4768                  },
 4769                  "pauseForSourceMap": {
 4770                    "type": "boolean",
 4771                    "default": false,
 4772                    "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 4773                  },
 4774                  "profileStartup": {
 4775                    "description": "If true, will start profiling as soon as the process launches",
 4776                    "type": "boolean",
 4777                    "default": true
 4778                  },
 4779                  "program": {
 4780                    "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
 4781                    "type": "string",
 4782                    "default": "",
 4783                    "tags": [
 4784                      "setup"
 4785                    ]
 4786                  },
 4787                  "remoteRoot": {
 4788                    "description": "Absolute path to the remote directory containing the program.",
 4789                    "type": [
 4790                      "string",
 4791                      "null"
 4792                    ],
 4793                    "default": null
 4794                  },
 4795                  "resolveSourceMapLocations": {
 4796                    "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 4797                    "type": [
 4798                      "array",
 4799                      "null"
 4800                    ],
 4801                    "default": [
 4802                      "${ZED_WORKTREE_ROOT}/**",
 4803                      "!**/node_modules/**"
 4804                    ],
 4805                    "items": {
 4806                      "type": "string"
 4807                    }
 4808                  },
 4809                  "restart": {
 4810                    "description": "Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.",
 4811                    "default": true,
 4812                    "oneOf": [
 4813                      {
 4814                        "type": "boolean"
 4815                      },
 4816                      {
 4817                        "type": "object",
 4818                        "properties": {
 4819                          "delay": {
 4820                            "type": "number",
 4821                            "default": 1000,
 4822                            "minimum": 0
 4823                          },
 4824                          "maxAttempts": {
 4825                            "type": "number",
 4826                            "default": 10,
 4827                            "minimum": 0
 4828                          }
 4829                        }
 4830                      }
 4831                    ]
 4832                  },
 4833                  "runtimeArgs": {
 4834                    "description": "Optional arguments passed to the runtime executable.",
 4835                    "type": "array",
 4836                    "default": [],
 4837                    "items": {
 4838                      "type": "string"
 4839                    },
 4840                    "tags": [
 4841                      "setup"
 4842                    ]
 4843                  },
 4844                  "runtimeExecutable": {
 4845                    "type": [
 4846                      "string",
 4847                      "null"
 4848                    ],
 4849                    "default": "node",
 4850                    "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
 4851                  },
 4852                  "runtimeSourcemapPausePatterns": {
 4853                    "type": "array",
 4854                    "default": [],
 4855                    "items": {
 4856                      "type": "string"
 4857                    },
 4858                    "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 4859                  },
 4860                  "runtimeVersion": {
 4861                    "type": "string",
 4862                    "default": "default",
 4863                    "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
 4864                  },
 4865                  "showAsyncStacks": {
 4866                    "description": "Show the async calls that led to the current call stack.",
 4867                    "default": true,
 4868                    "oneOf": [
 4869                      {
 4870                        "type": "boolean"
 4871                      },
 4872                      {
 4873                        "type": "object",
 4874                        "properties": {
 4875                          "onAttach": {
 4876                            "type": "number",
 4877                            "default": 32
 4878                          }
 4879                        },
 4880                        "required": [
 4881                          "onAttach"
 4882                        ]
 4883                      },
 4884                      {
 4885                        "type": "object",
 4886                        "properties": {
 4887                          "onceBreakpointResolved": {
 4888                            "type": "number",
 4889                            "default": 32
 4890                          }
 4891                        },
 4892                        "required": [
 4893                          "onceBreakpointResolved"
 4894                        ]
 4895                      }
 4896                    ]
 4897                  },
 4898                  "skipFiles": {
 4899                    "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 4900                    "type": "array",
 4901                    "default": [
 4902                      "${/**"
 4903                    ]
 4904                  },
 4905                  "smartStep": {
 4906                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 4907                    "type": "boolean",
 4908                    "default": true
 4909                  },
 4910                  "sourceMapPathOverrides": {
 4911                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 4912                    "type": "object",
 4913                    "default": {
 4914                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 4915                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 4916                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 4917                    }
 4918                  },
 4919                  "sourceMapRenames": {
 4920                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 4921                    "type": "boolean",
 4922                    "default": true
 4923                  },
 4924                  "sourceMaps": {
 4925                    "description": "Use JavaScript source maps (if they exist).",
 4926                    "type": "boolean",
 4927                    "default": true
 4928                  },
 4929                  "stopOnEntry": {
 4930                    "description": "Automatically stop program after launch.",
 4931                    "type": [
 4932                      "boolean",
 4933                      "string"
 4934                    ],
 4935                    "default": true
 4936                  },
 4937                  "timeout": {
 4938                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 4939                    "type": "number",
 4940                    "default": 10000
 4941                  },
 4942                  "timeouts": {
 4943                    "description": "Timeouts for several debugger operations.",
 4944                    "type": "object",
 4945                    "properties": {
 4946                      "hoverEvaluation": {
 4947                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 4948                        "type": "number",
 4949                        "default": 500
 4950                      },
 4951                      "sourceMapCumulativePause": {
 4952                        "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 4953                        "type": "number",
 4954                        "default": 1000
 4955                      },
 4956                      "sourceMapMinPause": {
 4957                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 4958                        "type": "number",
 4959                        "default": 1000
 4960                      }
 4961                    },
 4962                    "additionalProperties": false,
 4963                    "default": {},
 4964                    "markdownDescription": "Timeouts for several debugger operations."
 4965                  },
 4966                  "trace": {
 4967                    "description": "Configures what diagnostic output is produced.",
 4968                    "default": true,
 4969                    "oneOf": [
 4970                      {
 4971                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 4972                        "type": "boolean"
 4973                      },
 4974                      {
 4975                        "type": "object",
 4976                        "properties": {
 4977                          "logFile": {
 4978                            "description": "Configures where on disk logs are written.",
 4979                            "type": [
 4980                              "string",
 4981                              "null"
 4982                            ]
 4983                          },
 4984                          "stdio": {
 4985                            "description": "Whether to return trace data from the launched application or browser.",
 4986                            "type": "boolean"
 4987                          }
 4988                        },
 4989                        "additionalProperties": false
 4990                      }
 4991                    ]
 4992                  }
 4993                },
 4994                "additionalProperties": false,
 4995                "default": {
 4996                  "program": "node my-server.js"
 4997                }
 4998              },
 4999              {
 5000                "description": "JavaScript Debug Terminal",
 5001                "type": "object",
 5002                "properties": {
 5003                  "autoAttachChildProcesses": {
 5004                    "description": "Attach debugger to new child processes automatically.",
 5005                    "type": "boolean",
 5006                    "default": true
 5007                  },
 5008                  "cascadeTerminateToConfigurations": {
 5009                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 5010                    "type": "array",
 5011                    "default": [],
 5012                    "items": {
 5013                      "type": "string",
 5014                      "uniqueItems": true
 5015                    }
 5016                  },
 5017                  "command": {
 5018                    "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
 5019                    "type": [
 5020                      "string",
 5021                      "null"
 5022                    ],
 5023                    "default": "npm start",
 5024                    "tags": [
 5025                      "setup"
 5026                    ]
 5027                  },
 5028                  "customDescriptionGenerator": {
 5029                    "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 5030                    "type": "string"
 5031                  },
 5032                  "customPropertiesGenerator": {
 5033                    "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 5034                    "type": "string",
 5035                    "deprecated": true
 5036                  },
 5037                  "cwd": {
 5038                    "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
 5039                    "type": "string",
 5040                    "default": "${ZED_WORKTREE_ROOT}",
 5041                    "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
 5042                    "tags": [
 5043                      "setup"
 5044                    ]
 5045                  },
 5046                  "enableContentValidation": {
 5047                    "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 5048                    "type": "boolean",
 5049                    "default": true
 5050                  },
 5051                  "enableDWARF": {
 5052                    "type": "boolean",
 5053                    "default": true,
 5054                    "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 5055                  },
 5056                  "env": {
 5057                    "type": "object",
 5058                    "additionalProperties": {
 5059                      "type": [
 5060                        "string",
 5061                        "null"
 5062                      ]
 5063                    },
 5064                    "default": {},
 5065                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 5066                    "tags": [
 5067                      "setup"
 5068                    ]
 5069                  },
 5070                  "envFile": {
 5071                    "description": "Absolute path to a file containing environment variable definitions.",
 5072                    "type": "string",
 5073                    "default": "${ZED_WORKTREE_ROOT}/.env"
 5074                  },
 5075                  "localRoot": {
 5076                    "description": "Path to the local directory containing the program.",
 5077                    "type": [
 5078                      "string",
 5079                      "null"
 5080                    ],
 5081                    "default": null
 5082                  },
 5083                  "nodeVersionHint": {
 5084                    "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
 5085                    "type": "number",
 5086                    "default": 12,
 5087                    "minimum": 8
 5088                  },
 5089                  "outFiles": {
 5090                    "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 5091                    "type": [
 5092                      "array"
 5093                    ],
 5094                    "default": [
 5095                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 5096                      "!**/node_modules/**"
 5097                    ],
 5098                    "items": {
 5099                      "type": "string"
 5100                    },
 5101                    "tags": [
 5102                      "setup"
 5103                    ]
 5104                  },
 5105                  "outputCapture": {
 5106                    "default": "console",
 5107                    "enum": [
 5108                      "console",
 5109                      "std"
 5110                    ],
 5111                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 5112                  },
 5113                  "pauseForSourceMap": {
 5114                    "type": "boolean",
 5115                    "default": false,
 5116                    "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 5117                  },
 5118                  "remoteRoot": {
 5119                    "description": "Absolute path to the remote directory containing the program.",
 5120                    "type": [
 5121                      "string",
 5122                      "null"
 5123                    ],
 5124                    "default": null
 5125                  },
 5126                  "resolveSourceMapLocations": {
 5127                    "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 5128                    "type": [
 5129                      "array",
 5130                      "null"
 5131                    ],
 5132                    "default": [
 5133                      "${ZED_WORKTREE_ROOT}/**",
 5134                      "!**/node_modules/**"
 5135                    ],
 5136                    "items": {
 5137                      "type": "string"
 5138                    }
 5139                  },
 5140                  "runtimeSourcemapPausePatterns": {
 5141                    "type": "array",
 5142                    "default": [],
 5143                    "items": {
 5144                      "type": "string"
 5145                    },
 5146                    "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 5147                  },
 5148                  "showAsyncStacks": {
 5149                    "description": "Show the async calls that led to the current call stack.",
 5150                    "default": true,
 5151                    "oneOf": [
 5152                      {
 5153                        "type": "boolean"
 5154                      },
 5155                      {
 5156                        "type": "object",
 5157                        "properties": {
 5158                          "onAttach": {
 5159                            "type": "number",
 5160                            "default": 32
 5161                          }
 5162                        },
 5163                        "required": [
 5164                          "onAttach"
 5165                        ]
 5166                      },
 5167                      {
 5168                        "type": "object",
 5169                        "properties": {
 5170                          "onceBreakpointResolved": {
 5171                            "type": "number",
 5172                            "default": 32
 5173                          }
 5174                        },
 5175                        "required": [
 5176                          "onceBreakpointResolved"
 5177                        ]
 5178                      }
 5179                    ]
 5180                  },
 5181                  "skipFiles": {
 5182                    "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 5183                    "type": "array",
 5184                    "default": [
 5185                      "${/**"
 5186                    ]
 5187                  },
 5188                  "smartStep": {
 5189                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 5190                    "type": "boolean",
 5191                    "default": true
 5192                  },
 5193                  "sourceMapPathOverrides": {
 5194                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 5195                    "type": "object",
 5196                    "default": {
 5197                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 5198                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 5199                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 5200                    }
 5201                  },
 5202                  "sourceMapRenames": {
 5203                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 5204                    "type": "boolean",
 5205                    "default": true
 5206                  },
 5207                  "sourceMaps": {
 5208                    "description": "Use JavaScript source maps (if they exist).",
 5209                    "type": "boolean",
 5210                    "default": true
 5211                  },
 5212                  "timeout": {
 5213                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 5214                    "type": "number",
 5215                    "default": 10000
 5216                  },
 5217                  "timeouts": {
 5218                    "description": "Timeouts for several debugger operations.",
 5219                    "type": "object",
 5220                    "properties": {
 5221                      "hoverEvaluation": {
 5222                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 5223                        "type": "number",
 5224                        "default": 500
 5225                      },
 5226                      "sourceMapCumulativePause": {
 5227                        "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 5228                        "type": "number",
 5229                        "default": 1000
 5230                      },
 5231                      "sourceMapMinPause": {
 5232                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 5233                        "type": "number",
 5234                        "default": 1000
 5235                      }
 5236                    },
 5237                    "additionalProperties": false,
 5238                    "default": {},
 5239                    "markdownDescription": "Timeouts for several debugger operations."
 5240                  },
 5241                  "trace": {
 5242                    "description": "Configures what diagnostic output is produced.",
 5243                    "default": true,
 5244                    "oneOf": [
 5245                      {
 5246                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 5247                        "type": "boolean"
 5248                      },
 5249                      {
 5250                        "type": "object",
 5251                        "properties": {
 5252                          "logFile": {
 5253                            "description": "Configures where on disk logs are written.",
 5254                            "type": [
 5255                              "string",
 5256                              "null"
 5257                            ]
 5258                          },
 5259                          "stdio": {
 5260                            "description": "Whether to return trace data from the launched application or browser.",
 5261                            "type": "boolean"
 5262                          }
 5263                        },
 5264                        "additionalProperties": false
 5265                      }
 5266                    ]
 5267                  }
 5268                },
 5269                "additionalProperties": false,
 5270                "default": {
 5271                  "program": "npm start"
 5272                }
 5273              }
 5274            ]
 5275          },
 5276          "showAsyncStacks": {
 5277            "description": "Show the async calls that led to the current call stack.",
 5278            "default": true,
 5279            "oneOf": [
 5280              {
 5281                "type": "boolean"
 5282              },
 5283              {
 5284                "type": "object",
 5285                "properties": {
 5286                  "onAttach": {
 5287                    "type": "number",
 5288                    "default": 32
 5289                  }
 5290                },
 5291                "required": [
 5292                  "onAttach"
 5293                ]
 5294              },
 5295              {
 5296                "type": "object",
 5297                "properties": {
 5298                  "onceBreakpointResolved": {
 5299                    "type": "number",
 5300                    "default": 32
 5301                  }
 5302                },
 5303                "required": [
 5304                  "onceBreakpointResolved"
 5305                ]
 5306              }
 5307            ]
 5308          },
 5309          "skipFiles": {
 5310            "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 5311            "type": "array",
 5312            "default": [
 5313              "${/**"
 5314            ]
 5315          },
 5316          "smartStep": {
 5317            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 5318            "type": "boolean",
 5319            "default": true
 5320          },
 5321          "sourceMapPathOverrides": {
 5322            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 5323            "type": "object",
 5324            "default": {
 5325              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 5326              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 5327              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 5328            }
 5329          },
 5330          "sourceMapRenames": {
 5331            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 5332            "type": "boolean",
 5333            "default": true
 5334          },
 5335          "sourceMaps": {
 5336            "description": "Use JavaScript source maps (if they exist).",
 5337            "type": "boolean",
 5338            "default": true
 5339          },
 5340          "timeout": {
 5341            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 5342            "type": "number",
 5343            "default": 10000
 5344          },
 5345          "timeouts": {
 5346            "description": "Timeouts for several debugger operations.",
 5347            "type": "object",
 5348            "properties": {
 5349              "hoverEvaluation": {
 5350                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 5351                "type": "number",
 5352                "default": 500
 5353              },
 5354              "sourceMapCumulativePause": {
 5355                "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 5356                "type": "number",
 5357                "default": 1000
 5358              },
 5359              "sourceMapMinPause": {
 5360                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 5361                "type": "number",
 5362                "default": 1000
 5363              }
 5364            },
 5365            "additionalProperties": false,
 5366            "default": {},
 5367            "markdownDescription": "Timeouts for several debugger operations."
 5368          },
 5369          "trace": {
 5370            "description": "Configures what diagnostic output is produced.",
 5371            "default": true,
 5372            "oneOf": [
 5373              {
 5374                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 5375                "type": "boolean"
 5376              },
 5377              {
 5378                "type": "object",
 5379                "properties": {
 5380                  "logFile": {
 5381                    "description": "Configures where on disk logs are written.",
 5382                    "type": [
 5383                      "string",
 5384                      "null"
 5385                    ]
 5386                  },
 5387                  "stdio": {
 5388                    "description": "Whether to return trace data from the launched application or browser.",
 5389                    "type": "boolean"
 5390                  }
 5391                },
 5392                "additionalProperties": false
 5393              }
 5394            ]
 5395          },
 5396          "url": {
 5397            "description": "Will search for a tab with this exact url and attach to it, if found",
 5398            "type": "string",
 5399            "default": "http://localhost:8080",
 5400            "tags": [
 5401              "setup"
 5402            ]
 5403          },
 5404          "urlFilter": {
 5405            "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
 5406            "type": "string",
 5407            "default": ""
 5408          },
 5409          "userDataDir": {
 5410            "description": "By default, the browser is launched with a separate user profile in a temp folder. Use this option to override it. Set to false to launch with your default user profile. A new browser can't be launched if an instance is already running from `userDataDir`.",
 5411            "type": [
 5412              "string",
 5413              "boolean"
 5414            ],
 5415            "default": true
 5416          },
 5417          "vueComponentPaths": {
 5418            "description": "A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.",
 5419            "type": "array",
 5420            "default": [
 5421              "${ZED_WORKTREE_ROOT}/**/*.vue"
 5422            ]
 5423          },
 5424          "webRoot": {
 5425            "description": "This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"",
 5426            "type": "string",
 5427            "default": "${ZED_WORKTREE_ROOT}",
 5428            "tags": [
 5429              "setup"
 5430            ]
 5431          }
 5432        }
 5433      }
 5434    },
 5435    {
 5436      "if": {
 5437        "properties": {
 5438          "type": {
 5439            "enum": [
 5440              "pwa-chrome"
 5441            ]
 5442          },
 5443          "request": {
 5444            "enum": [
 5445              "attach"
 5446            ]
 5447          }
 5448        },
 5449        "required": [
 5450          "type",
 5451          "request"
 5452        ]
 5453      },
 5454      "then": {
 5455        "properties": {
 5456          "address": {
 5457            "description": "IP address or hostname the debugged browser is listening on.",
 5458            "type": "string",
 5459            "default": "localhost"
 5460          },
 5461          "browserAttachLocation": {
 5462            "description": "Forces the browser to attach in one location. In a remote workspace (through ssh or WSL, for example) this can be used to attach to a browser on the remote machine rather than locally.",
 5463            "default": null,
 5464            "oneOf": [
 5465              {
 5466                "type": "null"
 5467              },
 5468              {
 5469                "type": "string",
 5470                "enum": [
 5471                  "ui",
 5472                  "workspace"
 5473                ]
 5474              }
 5475            ]
 5476          },
 5477          "cascadeTerminateToConfigurations": {
 5478            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 5479            "type": "array",
 5480            "default": [],
 5481            "items": {
 5482              "type": "string",
 5483              "uniqueItems": true
 5484            }
 5485          },
 5486          "customDescriptionGenerator": {
 5487            "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 5488            "type": "string"
 5489          },
 5490          "customPropertiesGenerator": {
 5491            "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 5492            "type": "string",
 5493            "deprecated": true
 5494          },
 5495          "disableNetworkCache": {
 5496            "description": "Controls whether to skip the network cache for each request",
 5497            "type": "boolean",
 5498            "default": true
 5499          },
 5500          "enableContentValidation": {
 5501            "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 5502            "type": "boolean",
 5503            "default": true
 5504          },
 5505          "enableDWARF": {
 5506            "type": "boolean",
 5507            "default": true,
 5508            "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 5509          },
 5510          "inspectUri": {
 5511            "description": "Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n",
 5512            "type": [
 5513              "string",
 5514              "null"
 5515            ],
 5516            "default": null
 5517          },
 5518          "outFiles": {
 5519            "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 5520            "type": [
 5521              "array"
 5522            ],
 5523            "default": [
 5524              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 5525              "!**/node_modules/**"
 5526            ],
 5527            "items": {
 5528              "type": "string"
 5529            },
 5530            "tags": [
 5531              "setup"
 5532            ]
 5533          },
 5534          "outputCapture": {
 5535            "default": "console",
 5536            "enum": [
 5537              "console",
 5538              "std"
 5539            ],
 5540            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 5541          },
 5542          "pathMapping": {
 5543            "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
 5544            "type": "object",
 5545            "default": {}
 5546          },
 5547          "pauseForSourceMap": {
 5548            "type": "boolean",
 5549            "default": false,
 5550            "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 5551          },
 5552          "perScriptSourcemaps": {
 5553            "description": "Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.",
 5554            "type": "string",
 5555            "default": "auto",
 5556            "enum": [
 5557              "yes",
 5558              "no",
 5559              "auto"
 5560            ]
 5561          },
 5562          "port": {
 5563            "description": "Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.",
 5564            "default": 9229,
 5565            "oneOf": [
 5566              {
 5567                "type": "integer"
 5568              },
 5569              {
 5570                "type": "string",
 5571                "pattern": "^\\${.*}$"
 5572              }
 5573            ],
 5574            "tags": [
 5575              "setup"
 5576            ]
 5577          },
 5578          "resolveSourceMapLocations": {
 5579            "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 5580            "type": [
 5581              "array",
 5582              "null"
 5583            ],
 5584            "default": null,
 5585            "items": {
 5586              "type": "string"
 5587            }
 5588          },
 5589          "restart": {
 5590            "type": "boolean",
 5591            "default": false,
 5592            "markdownDescription": "Whether to reconnect if the browser connection is closed"
 5593          },
 5594          "server": {
 5595            "oneOf": [
 5596              {
 5597                "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
 5598                "type": "object",
 5599                "properties": {
 5600                  "args": {
 5601                    "description": "Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.",
 5602                    "type": [
 5603                      "array",
 5604                      "string"
 5605                    ],
 5606                    "default": [],
 5607                    "items": {
 5608                      "type": "string"
 5609                    },
 5610                    "tags": [
 5611                      "setup"
 5612                    ]
 5613                  },
 5614                  "attachSimplePort": {
 5615                    "description": "If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.",
 5616                    "default": 9229,
 5617                    "oneOf": [
 5618                      {
 5619                        "type": "integer"
 5620                      },
 5621                      {
 5622                        "type": "string",
 5623                        "pattern": "^\\${.*}$"
 5624                      }
 5625                    ]
 5626                  },
 5627                  "autoAttachChildProcesses": {
 5628                    "description": "Attach debugger to new child processes automatically.",
 5629                    "type": "boolean",
 5630                    "default": true
 5631                  },
 5632                  "cascadeTerminateToConfigurations": {
 5633                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 5634                    "type": "array",
 5635                    "default": [],
 5636                    "items": {
 5637                      "type": "string",
 5638                      "uniqueItems": true
 5639                    }
 5640                  },
 5641                  "console": {
 5642                    "description": "Where to launch the debug target.",
 5643                    "type": "string",
 5644                    "default": "internalConsole",
 5645                    "enum": [
 5646                      "internalConsole",
 5647                      "integratedTerminal",
 5648                      "externalTerminal"
 5649                    ],
 5650                    "enumDescriptions": [
 5651                      "VS Code Debug Console (which doesn't support to read input from a program)",
 5652                      "VS Code's integrated terminal",
 5653                      "External terminal that can be configured via user settings"
 5654                    ]
 5655                  },
 5656                  "customDescriptionGenerator": {
 5657                    "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 5658                    "type": "string"
 5659                  },
 5660                  "customPropertiesGenerator": {
 5661                    "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 5662                    "type": "string",
 5663                    "deprecated": true
 5664                  },
 5665                  "cwd": {
 5666                    "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
 5667                    "type": "string",
 5668                    "default": "${ZED_WORKTREE_ROOT}",
 5669                    "tags": [
 5670                      "setup"
 5671                    ]
 5672                  },
 5673                  "enableContentValidation": {
 5674                    "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 5675                    "type": "boolean",
 5676                    "default": true
 5677                  },
 5678                  "enableDWARF": {
 5679                    "type": "boolean",
 5680                    "default": true,
 5681                    "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 5682                  },
 5683                  "env": {
 5684                    "type": "object",
 5685                    "additionalProperties": {
 5686                      "type": [
 5687                        "string",
 5688                        "null"
 5689                      ]
 5690                    },
 5691                    "default": {},
 5692                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 5693                    "tags": [
 5694                      "setup"
 5695                    ]
 5696                  },
 5697                  "envFile": {
 5698                    "description": "Absolute path to a file containing environment variable definitions.",
 5699                    "type": "string",
 5700                    "default": "${ZED_WORKTREE_ROOT}/.env"
 5701                  },
 5702                  "experimentalNetworking": {
 5703                    "description": "Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.",
 5704                    "type": "string",
 5705                    "default": "auto",
 5706                    "enum": [
 5707                      "auto",
 5708                      "on",
 5709                      "off"
 5710                    ]
 5711                  },
 5712                  "killBehavior": {
 5713                    "type": "string",
 5714                    "default": "forceful",
 5715                    "enum": [
 5716                      "forceful",
 5717                      "polite",
 5718                      "none"
 5719                    ],
 5720                    "markdownDescription": "Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."
 5721                  },
 5722                  "localRoot": {
 5723                    "description": "Path to the local directory containing the program.",
 5724                    "type": [
 5725                      "string",
 5726                      "null"
 5727                    ],
 5728                    "default": null
 5729                  },
 5730                  "nodeVersionHint": {
 5731                    "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
 5732                    "type": "number",
 5733                    "default": 12,
 5734                    "minimum": 8
 5735                  },
 5736                  "outFiles": {
 5737                    "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 5738                    "type": [
 5739                      "array"
 5740                    ],
 5741                    "default": [
 5742                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 5743                      "!**/node_modules/**"
 5744                    ],
 5745                    "items": {
 5746                      "type": "string"
 5747                    },
 5748                    "tags": [
 5749                      "setup"
 5750                    ]
 5751                  },
 5752                  "outputCapture": {
 5753                    "default": "console",
 5754                    "enum": [
 5755                      "console",
 5756                      "std"
 5757                    ],
 5758                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 5759                  },
 5760                  "pauseForSourceMap": {
 5761                    "type": "boolean",
 5762                    "default": false,
 5763                    "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 5764                  },
 5765                  "profileStartup": {
 5766                    "description": "If true, will start profiling as soon as the process launches",
 5767                    "type": "boolean",
 5768                    "default": true
 5769                  },
 5770                  "program": {
 5771                    "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
 5772                    "type": "string",
 5773                    "default": "",
 5774                    "tags": [
 5775                      "setup"
 5776                    ]
 5777                  },
 5778                  "remoteRoot": {
 5779                    "description": "Absolute path to the remote directory containing the program.",
 5780                    "type": [
 5781                      "string",
 5782                      "null"
 5783                    ],
 5784                    "default": null
 5785                  },
 5786                  "resolveSourceMapLocations": {
 5787                    "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 5788                    "type": [
 5789                      "array",
 5790                      "null"
 5791                    ],
 5792                    "default": [
 5793                      "${ZED_WORKTREE_ROOT}/**",
 5794                      "!**/node_modules/**"
 5795                    ],
 5796                    "items": {
 5797                      "type": "string"
 5798                    }
 5799                  },
 5800                  "restart": {
 5801                    "description": "Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.",
 5802                    "default": true,
 5803                    "oneOf": [
 5804                      {
 5805                        "type": "boolean"
 5806                      },
 5807                      {
 5808                        "type": "object",
 5809                        "properties": {
 5810                          "delay": {
 5811                            "type": "number",
 5812                            "default": 1000,
 5813                            "minimum": 0
 5814                          },
 5815                          "maxAttempts": {
 5816                            "type": "number",
 5817                            "default": 10,
 5818                            "minimum": 0
 5819                          }
 5820                        }
 5821                      }
 5822                    ]
 5823                  },
 5824                  "runtimeArgs": {
 5825                    "description": "Optional arguments passed to the runtime executable.",
 5826                    "type": "array",
 5827                    "default": [],
 5828                    "items": {
 5829                      "type": "string"
 5830                    },
 5831                    "tags": [
 5832                      "setup"
 5833                    ]
 5834                  },
 5835                  "runtimeExecutable": {
 5836                    "type": [
 5837                      "string",
 5838                      "null"
 5839                    ],
 5840                    "default": "node",
 5841                    "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
 5842                  },
 5843                  "runtimeSourcemapPausePatterns": {
 5844                    "type": "array",
 5845                    "default": [],
 5846                    "items": {
 5847                      "type": "string"
 5848                    },
 5849                    "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 5850                  },
 5851                  "runtimeVersion": {
 5852                    "type": "string",
 5853                    "default": "default",
 5854                    "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
 5855                  },
 5856                  "showAsyncStacks": {
 5857                    "description": "Show the async calls that led to the current call stack.",
 5858                    "default": true,
 5859                    "oneOf": [
 5860                      {
 5861                        "type": "boolean"
 5862                      },
 5863                      {
 5864                        "type": "object",
 5865                        "properties": {
 5866                          "onAttach": {
 5867                            "type": "number",
 5868                            "default": 32
 5869                          }
 5870                        },
 5871                        "required": [
 5872                          "onAttach"
 5873                        ]
 5874                      },
 5875                      {
 5876                        "type": "object",
 5877                        "properties": {
 5878                          "onceBreakpointResolved": {
 5879                            "type": "number",
 5880                            "default": 32
 5881                          }
 5882                        },
 5883                        "required": [
 5884                          "onceBreakpointResolved"
 5885                        ]
 5886                      }
 5887                    ]
 5888                  },
 5889                  "skipFiles": {
 5890                    "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 5891                    "type": "array",
 5892                    "default": [
 5893                      "${/**"
 5894                    ]
 5895                  },
 5896                  "smartStep": {
 5897                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 5898                    "type": "boolean",
 5899                    "default": true
 5900                  },
 5901                  "sourceMapPathOverrides": {
 5902                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 5903                    "type": "object",
 5904                    "default": {
 5905                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 5906                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 5907                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 5908                    }
 5909                  },
 5910                  "sourceMapRenames": {
 5911                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 5912                    "type": "boolean",
 5913                    "default": true
 5914                  },
 5915                  "sourceMaps": {
 5916                    "description": "Use JavaScript source maps (if they exist).",
 5917                    "type": "boolean",
 5918                    "default": true
 5919                  },
 5920                  "stopOnEntry": {
 5921                    "description": "Automatically stop program after launch.",
 5922                    "type": [
 5923                      "boolean",
 5924                      "string"
 5925                    ],
 5926                    "default": true
 5927                  },
 5928                  "timeout": {
 5929                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 5930                    "type": "number",
 5931                    "default": 10000
 5932                  },
 5933                  "timeouts": {
 5934                    "description": "Timeouts for several debugger operations.",
 5935                    "type": "object",
 5936                    "properties": {
 5937                      "hoverEvaluation": {
 5938                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 5939                        "type": "number",
 5940                        "default": 500
 5941                      },
 5942                      "sourceMapCumulativePause": {
 5943                        "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 5944                        "type": "number",
 5945                        "default": 1000
 5946                      },
 5947                      "sourceMapMinPause": {
 5948                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 5949                        "type": "number",
 5950                        "default": 1000
 5951                      }
 5952                    },
 5953                    "additionalProperties": false,
 5954                    "default": {},
 5955                    "markdownDescription": "Timeouts for several debugger operations."
 5956                  },
 5957                  "trace": {
 5958                    "description": "Configures what diagnostic output is produced.",
 5959                    "default": true,
 5960                    "oneOf": [
 5961                      {
 5962                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 5963                        "type": "boolean"
 5964                      },
 5965                      {
 5966                        "type": "object",
 5967                        "properties": {
 5968                          "logFile": {
 5969                            "description": "Configures where on disk logs are written.",
 5970                            "type": [
 5971                              "string",
 5972                              "null"
 5973                            ]
 5974                          },
 5975                          "stdio": {
 5976                            "description": "Whether to return trace data from the launched application or browser.",
 5977                            "type": "boolean"
 5978                          }
 5979                        },
 5980                        "additionalProperties": false
 5981                      }
 5982                    ]
 5983                  }
 5984                },
 5985                "additionalProperties": false,
 5986                "default": {
 5987                  "program": "node my-server.js"
 5988                }
 5989              },
 5990              {
 5991                "description": "JavaScript Debug Terminal",
 5992                "type": "object",
 5993                "properties": {
 5994                  "autoAttachChildProcesses": {
 5995                    "description": "Attach debugger to new child processes automatically.",
 5996                    "type": "boolean",
 5997                    "default": true
 5998                  },
 5999                  "cascadeTerminateToConfigurations": {
 6000                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 6001                    "type": "array",
 6002                    "default": [],
 6003                    "items": {
 6004                      "type": "string",
 6005                      "uniqueItems": true
 6006                    }
 6007                  },
 6008                  "command": {
 6009                    "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
 6010                    "type": [
 6011                      "string",
 6012                      "null"
 6013                    ],
 6014                    "default": "npm start",
 6015                    "tags": [
 6016                      "setup"
 6017                    ]
 6018                  },
 6019                  "customDescriptionGenerator": {
 6020                    "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 6021                    "type": "string"
 6022                  },
 6023                  "customPropertiesGenerator": {
 6024                    "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 6025                    "type": "string",
 6026                    "deprecated": true
 6027                  },
 6028                  "cwd": {
 6029                    "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
 6030                    "type": "string",
 6031                    "default": "${ZED_WORKTREE_ROOT}",
 6032                    "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
 6033                    "tags": [
 6034                      "setup"
 6035                    ]
 6036                  },
 6037                  "enableContentValidation": {
 6038                    "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 6039                    "type": "boolean",
 6040                    "default": true
 6041                  },
 6042                  "enableDWARF": {
 6043                    "type": "boolean",
 6044                    "default": true,
 6045                    "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 6046                  },
 6047                  "env": {
 6048                    "type": "object",
 6049                    "additionalProperties": {
 6050                      "type": [
 6051                        "string",
 6052                        "null"
 6053                      ]
 6054                    },
 6055                    "default": {},
 6056                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 6057                    "tags": [
 6058                      "setup"
 6059                    ]
 6060                  },
 6061                  "envFile": {
 6062                    "description": "Absolute path to a file containing environment variable definitions.",
 6063                    "type": "string",
 6064                    "default": "${ZED_WORKTREE_ROOT}/.env"
 6065                  },
 6066                  "localRoot": {
 6067                    "description": "Path to the local directory containing the program.",
 6068                    "type": [
 6069                      "string",
 6070                      "null"
 6071                    ],
 6072                    "default": null
 6073                  },
 6074                  "nodeVersionHint": {
 6075                    "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
 6076                    "type": "number",
 6077                    "default": 12,
 6078                    "minimum": 8
 6079                  },
 6080                  "outFiles": {
 6081                    "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 6082                    "type": [
 6083                      "array"
 6084                    ],
 6085                    "default": [
 6086                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 6087                      "!**/node_modules/**"
 6088                    ],
 6089                    "items": {
 6090                      "type": "string"
 6091                    },
 6092                    "tags": [
 6093                      "setup"
 6094                    ]
 6095                  },
 6096                  "outputCapture": {
 6097                    "default": "console",
 6098                    "enum": [
 6099                      "console",
 6100                      "std"
 6101                    ],
 6102                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 6103                  },
 6104                  "pauseForSourceMap": {
 6105                    "type": "boolean",
 6106                    "default": false,
 6107                    "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 6108                  },
 6109                  "remoteRoot": {
 6110                    "description": "Absolute path to the remote directory containing the program.",
 6111                    "type": [
 6112                      "string",
 6113                      "null"
 6114                    ],
 6115                    "default": null
 6116                  },
 6117                  "resolveSourceMapLocations": {
 6118                    "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 6119                    "type": [
 6120                      "array",
 6121                      "null"
 6122                    ],
 6123                    "default": [
 6124                      "${ZED_WORKTREE_ROOT}/**",
 6125                      "!**/node_modules/**"
 6126                    ],
 6127                    "items": {
 6128                      "type": "string"
 6129                    }
 6130                  },
 6131                  "runtimeSourcemapPausePatterns": {
 6132                    "type": "array",
 6133                    "default": [],
 6134                    "items": {
 6135                      "type": "string"
 6136                    },
 6137                    "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 6138                  },
 6139                  "showAsyncStacks": {
 6140                    "description": "Show the async calls that led to the current call stack.",
 6141                    "default": true,
 6142                    "oneOf": [
 6143                      {
 6144                        "type": "boolean"
 6145                      },
 6146                      {
 6147                        "type": "object",
 6148                        "properties": {
 6149                          "onAttach": {
 6150                            "type": "number",
 6151                            "default": 32
 6152                          }
 6153                        },
 6154                        "required": [
 6155                          "onAttach"
 6156                        ]
 6157                      },
 6158                      {
 6159                        "type": "object",
 6160                        "properties": {
 6161                          "onceBreakpointResolved": {
 6162                            "type": "number",
 6163                            "default": 32
 6164                          }
 6165                        },
 6166                        "required": [
 6167                          "onceBreakpointResolved"
 6168                        ]
 6169                      }
 6170                    ]
 6171                  },
 6172                  "skipFiles": {
 6173                    "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 6174                    "type": "array",
 6175                    "default": [
 6176                      "${/**"
 6177                    ]
 6178                  },
 6179                  "smartStep": {
 6180                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 6181                    "type": "boolean",
 6182                    "default": true
 6183                  },
 6184                  "sourceMapPathOverrides": {
 6185                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 6186                    "type": "object",
 6187                    "default": {
 6188                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 6189                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 6190                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 6191                    }
 6192                  },
 6193                  "sourceMapRenames": {
 6194                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 6195                    "type": "boolean",
 6196                    "default": true
 6197                  },
 6198                  "sourceMaps": {
 6199                    "description": "Use JavaScript source maps (if they exist).",
 6200                    "type": "boolean",
 6201                    "default": true
 6202                  },
 6203                  "timeout": {
 6204                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 6205                    "type": "number",
 6206                    "default": 10000
 6207                  },
 6208                  "timeouts": {
 6209                    "description": "Timeouts for several debugger operations.",
 6210                    "type": "object",
 6211                    "properties": {
 6212                      "hoverEvaluation": {
 6213                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 6214                        "type": "number",
 6215                        "default": 500
 6216                      },
 6217                      "sourceMapCumulativePause": {
 6218                        "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 6219                        "type": "number",
 6220                        "default": 1000
 6221                      },
 6222                      "sourceMapMinPause": {
 6223                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 6224                        "type": "number",
 6225                        "default": 1000
 6226                      }
 6227                    },
 6228                    "additionalProperties": false,
 6229                    "default": {},
 6230                    "markdownDescription": "Timeouts for several debugger operations."
 6231                  },
 6232                  "trace": {
 6233                    "description": "Configures what diagnostic output is produced.",
 6234                    "default": true,
 6235                    "oneOf": [
 6236                      {
 6237                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 6238                        "type": "boolean"
 6239                      },
 6240                      {
 6241                        "type": "object",
 6242                        "properties": {
 6243                          "logFile": {
 6244                            "description": "Configures where on disk logs are written.",
 6245                            "type": [
 6246                              "string",
 6247                              "null"
 6248                            ]
 6249                          },
 6250                          "stdio": {
 6251                            "description": "Whether to return trace data from the launched application or browser.",
 6252                            "type": "boolean"
 6253                          }
 6254                        },
 6255                        "additionalProperties": false
 6256                      }
 6257                    ]
 6258                  }
 6259                },
 6260                "additionalProperties": false,
 6261                "default": {
 6262                  "program": "npm start"
 6263                }
 6264              }
 6265            ]
 6266          },
 6267          "showAsyncStacks": {
 6268            "description": "Show the async calls that led to the current call stack.",
 6269            "default": true,
 6270            "oneOf": [
 6271              {
 6272                "type": "boolean"
 6273              },
 6274              {
 6275                "type": "object",
 6276                "properties": {
 6277                  "onAttach": {
 6278                    "type": "number",
 6279                    "default": 32
 6280                  }
 6281                },
 6282                "required": [
 6283                  "onAttach"
 6284                ]
 6285              },
 6286              {
 6287                "type": "object",
 6288                "properties": {
 6289                  "onceBreakpointResolved": {
 6290                    "type": "number",
 6291                    "default": 32
 6292                  }
 6293                },
 6294                "required": [
 6295                  "onceBreakpointResolved"
 6296                ]
 6297              }
 6298            ]
 6299          },
 6300          "skipFiles": {
 6301            "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 6302            "type": "array",
 6303            "default": [
 6304              "${/**"
 6305            ]
 6306          },
 6307          "smartStep": {
 6308            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 6309            "type": "boolean",
 6310            "default": true
 6311          },
 6312          "sourceMapPathOverrides": {
 6313            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 6314            "type": "object",
 6315            "default": {
 6316              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 6317              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 6318              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 6319            }
 6320          },
 6321          "sourceMapRenames": {
 6322            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 6323            "type": "boolean",
 6324            "default": true
 6325          },
 6326          "sourceMaps": {
 6327            "description": "Use JavaScript source maps (if they exist).",
 6328            "type": "boolean",
 6329            "default": true
 6330          },
 6331          "targetSelection": {
 6332            "type": "string",
 6333            "default": "automatic",
 6334            "enum": [
 6335              "pick",
 6336              "automatic"
 6337            ],
 6338            "markdownDescription": "Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\")."
 6339          },
 6340          "timeout": {
 6341            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 6342            "type": "number",
 6343            "default": 10000
 6344          },
 6345          "timeouts": {
 6346            "description": "Timeouts for several debugger operations.",
 6347            "type": "object",
 6348            "properties": {
 6349              "hoverEvaluation": {
 6350                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 6351                "type": "number",
 6352                "default": 500
 6353              },
 6354              "sourceMapCumulativePause": {
 6355                "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 6356                "type": "number",
 6357                "default": 1000
 6358              },
 6359              "sourceMapMinPause": {
 6360                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 6361                "type": "number",
 6362                "default": 1000
 6363              }
 6364            },
 6365            "additionalProperties": false,
 6366            "default": {},
 6367            "markdownDescription": "Timeouts for several debugger operations."
 6368          },
 6369          "trace": {
 6370            "description": "Configures what diagnostic output is produced.",
 6371            "default": true,
 6372            "oneOf": [
 6373              {
 6374                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 6375                "type": "boolean"
 6376              },
 6377              {
 6378                "type": "object",
 6379                "properties": {
 6380                  "logFile": {
 6381                    "description": "Configures where on disk logs are written.",
 6382                    "type": [
 6383                      "string",
 6384                      "null"
 6385                    ]
 6386                  },
 6387                  "stdio": {
 6388                    "description": "Whether to return trace data from the launched application or browser.",
 6389                    "type": "boolean"
 6390                  }
 6391                },
 6392                "additionalProperties": false
 6393              }
 6394            ]
 6395          },
 6396          "url": {
 6397            "description": "Will search for a tab with this exact url and attach to it, if found",
 6398            "type": "string",
 6399            "default": "http://localhost:8080",
 6400            "tags": [
 6401              "setup"
 6402            ]
 6403          },
 6404          "urlFilter": {
 6405            "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
 6406            "type": "string",
 6407            "default": ""
 6408          },
 6409          "vueComponentPaths": {
 6410            "description": "A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.",
 6411            "type": "array",
 6412            "default": [
 6413              "${ZED_WORKTREE_ROOT}/**/*.vue"
 6414            ]
 6415          },
 6416          "webRoot": {
 6417            "description": "This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"",
 6418            "type": "string",
 6419            "default": "${ZED_WORKTREE_ROOT}",
 6420            "tags": [
 6421              "setup"
 6422            ]
 6423          }
 6424        }
 6425      }
 6426    },
 6427    {
 6428      "if": {
 6429        "properties": {
 6430          "type": {
 6431            "enum": [
 6432              "chrome"
 6433            ]
 6434          },
 6435          "request": {
 6436            "enum": [
 6437              "launch"
 6438            ]
 6439          }
 6440        },
 6441        "required": [
 6442          "type",
 6443          "request"
 6444        ]
 6445      },
 6446      "then": {
 6447        "properties": {
 6448          "browserLaunchLocation": {
 6449            "description": "Forces the browser to be launched in one location. In a remote workspace (through ssh or WSL, for example) this can be used to open the browser on the remote machine rather than locally.",
 6450            "default": null,
 6451            "oneOf": [
 6452              {
 6453                "type": "null"
 6454              },
 6455              {
 6456                "type": "string",
 6457                "enum": [
 6458                  "ui",
 6459                  "workspace"
 6460                ]
 6461              }
 6462            ]
 6463          },
 6464          "cascadeTerminateToConfigurations": {
 6465            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 6466            "type": "array",
 6467            "default": [],
 6468            "items": {
 6469              "type": "string",
 6470              "uniqueItems": true
 6471            }
 6472          },
 6473          "cleanUp": {
 6474            "description": "What clean-up to do after the debugging session finishes. Close only the tab being debug, vs. close the whole browser.",
 6475            "type": "string",
 6476            "default": "wholeBrowser",
 6477            "enum": [
 6478              "wholeBrowser",
 6479              "onlyTab"
 6480            ]
 6481          },
 6482          "customDescriptionGenerator": {
 6483            "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 6484            "type": "string"
 6485          },
 6486          "customPropertiesGenerator": {
 6487            "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 6488            "type": "string",
 6489            "deprecated": true
 6490          },
 6491          "cwd": {
 6492            "description": "Optional working directory for the runtime executable.",
 6493            "type": "string",
 6494            "default": null
 6495          },
 6496          "disableNetworkCache": {
 6497            "description": "Controls whether to skip the network cache for each request",
 6498            "type": "boolean",
 6499            "default": true
 6500          },
 6501          "enableContentValidation": {
 6502            "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 6503            "type": "boolean",
 6504            "default": true
 6505          },
 6506          "enableDWARF": {
 6507            "type": "boolean",
 6508            "default": true,
 6509            "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 6510          },
 6511          "env": {
 6512            "description": "Optional dictionary of environment key/value pairs for the browser.",
 6513            "type": "object",
 6514            "default": {}
 6515          },
 6516          "file": {
 6517            "description": "A local html file to open in the browser",
 6518            "type": "string",
 6519            "default": "${ZED_WORKTREE_ROOT}/index.html",
 6520            "tags": [
 6521              "setup"
 6522            ]
 6523          },
 6524          "includeDefaultArgs": {
 6525            "description": "Whether default browser launch arguments (to disable features that may make debugging harder) will be included in the launch.",
 6526            "type": "boolean",
 6527            "default": true
 6528          },
 6529          "includeLaunchArgs": {
 6530            "description": "Advanced: whether any default launch/debugging arguments are set on the browser. The debugger will assume the browser will use pipe debugging such as that which is provided with `--remote-debugging-pipe`.",
 6531            "type": "boolean",
 6532            "default": true
 6533          },
 6534          "inspectUri": {
 6535            "description": "Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n",
 6536            "type": [
 6537              "string",
 6538              "null"
 6539            ],
 6540            "default": null
 6541          },
 6542          "killBehavior": {
 6543            "type": "string",
 6544            "default": "forceful",
 6545            "enum": [
 6546              "forceful",
 6547              "polite",
 6548              "none"
 6549            ],
 6550            "markdownDescription": "Configures how browser processes are killed when stopping the session with `cleanUp: wholeBrowser`. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."
 6551          },
 6552          "outFiles": {
 6553            "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 6554            "type": [
 6555              "array"
 6556            ],
 6557            "default": [
 6558              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 6559              "!**/node_modules/**"
 6560            ],
 6561            "items": {
 6562              "type": "string"
 6563            },
 6564            "tags": [
 6565              "setup"
 6566            ]
 6567          },
 6568          "outputCapture": {
 6569            "default": "console",
 6570            "enum": [
 6571              "console",
 6572              "std"
 6573            ],
 6574            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 6575          },
 6576          "pathMapping": {
 6577            "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
 6578            "type": "object",
 6579            "default": {}
 6580          },
 6581          "pauseForSourceMap": {
 6582            "type": "boolean",
 6583            "default": false,
 6584            "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 6585          },
 6586          "perScriptSourcemaps": {
 6587            "description": "Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.",
 6588            "type": "string",
 6589            "default": "auto",
 6590            "enum": [
 6591              "yes",
 6592              "no",
 6593              "auto"
 6594            ]
 6595          },
 6596          "port": {
 6597            "description": "Port for the browser to listen on. Defaults to \"0\", which will cause the browser to be debugged via pipes, which is generally more secure and should be chosen unless you need to attach to the browser from another tool.",
 6598            "type": "number",
 6599            "default": 0
 6600          },
 6601          "profileStartup": {
 6602            "description": "If true, will start profiling soon as the process launches",
 6603            "type": "boolean",
 6604            "default": true
 6605          },
 6606          "resolveSourceMapLocations": {
 6607            "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 6608            "type": [
 6609              "array",
 6610              "null"
 6611            ],
 6612            "default": null,
 6613            "items": {
 6614              "type": "string"
 6615            }
 6616          },
 6617          "runtimeArgs": {
 6618            "description": "Optional arguments passed to the runtime executable.",
 6619            "type": "array",
 6620            "default": [],
 6621            "items": {
 6622              "type": "string"
 6623            }
 6624          },
 6625          "runtimeExecutable": {
 6626            "description": "Either 'canary', 'stable', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or CHROME_PATH environment variable.",
 6627            "type": [
 6628              "string",
 6629              "null"
 6630            ],
 6631            "default": "stable"
 6632          },
 6633          "server": {
 6634            "oneOf": [
 6635              {
 6636                "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
 6637                "type": "object",
 6638                "properties": {
 6639                  "args": {
 6640                    "description": "Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.",
 6641                    "type": [
 6642                      "array",
 6643                      "string"
 6644                    ],
 6645                    "default": [],
 6646                    "items": {
 6647                      "type": "string"
 6648                    },
 6649                    "tags": [
 6650                      "setup"
 6651                    ]
 6652                  },
 6653                  "attachSimplePort": {
 6654                    "description": "If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.",
 6655                    "default": 9229,
 6656                    "oneOf": [
 6657                      {
 6658                        "type": "integer"
 6659                      },
 6660                      {
 6661                        "type": "string",
 6662                        "pattern": "^\\${.*}$"
 6663                      }
 6664                    ]
 6665                  },
 6666                  "autoAttachChildProcesses": {
 6667                    "description": "Attach debugger to new child processes automatically.",
 6668                    "type": "boolean",
 6669                    "default": true
 6670                  },
 6671                  "cascadeTerminateToConfigurations": {
 6672                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 6673                    "type": "array",
 6674                    "default": [],
 6675                    "items": {
 6676                      "type": "string",
 6677                      "uniqueItems": true
 6678                    }
 6679                  },
 6680                  "console": {
 6681                    "description": "Where to launch the debug target.",
 6682                    "type": "string",
 6683                    "default": "internalConsole",
 6684                    "enum": [
 6685                      "internalConsole",
 6686                      "integratedTerminal",
 6687                      "externalTerminal"
 6688                    ],
 6689                    "enumDescriptions": [
 6690                      "VS Code Debug Console (which doesn't support to read input from a program)",
 6691                      "VS Code's integrated terminal",
 6692                      "External terminal that can be configured via user settings"
 6693                    ]
 6694                  },
 6695                  "customDescriptionGenerator": {
 6696                    "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 6697                    "type": "string"
 6698                  },
 6699                  "customPropertiesGenerator": {
 6700                    "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 6701                    "type": "string",
 6702                    "deprecated": true
 6703                  },
 6704                  "cwd": {
 6705                    "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
 6706                    "type": "string",
 6707                    "default": "${ZED_WORKTREE_ROOT}",
 6708                    "tags": [
 6709                      "setup"
 6710                    ]
 6711                  },
 6712                  "enableContentValidation": {
 6713                    "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 6714                    "type": "boolean",
 6715                    "default": true
 6716                  },
 6717                  "enableDWARF": {
 6718                    "type": "boolean",
 6719                    "default": true,
 6720                    "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 6721                  },
 6722                  "env": {
 6723                    "type": "object",
 6724                    "additionalProperties": {
 6725                      "type": [
 6726                        "string",
 6727                        "null"
 6728                      ]
 6729                    },
 6730                    "default": {},
 6731                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 6732                    "tags": [
 6733                      "setup"
 6734                    ]
 6735                  },
 6736                  "envFile": {
 6737                    "description": "Absolute path to a file containing environment variable definitions.",
 6738                    "type": "string",
 6739                    "default": "${ZED_WORKTREE_ROOT}/.env"
 6740                  },
 6741                  "experimentalNetworking": {
 6742                    "description": "Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.",
 6743                    "type": "string",
 6744                    "default": "auto",
 6745                    "enum": [
 6746                      "auto",
 6747                      "on",
 6748                      "off"
 6749                    ]
 6750                  },
 6751                  "killBehavior": {
 6752                    "type": "string",
 6753                    "default": "forceful",
 6754                    "enum": [
 6755                      "forceful",
 6756                      "polite",
 6757                      "none"
 6758                    ],
 6759                    "markdownDescription": "Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."
 6760                  },
 6761                  "localRoot": {
 6762                    "description": "Path to the local directory containing the program.",
 6763                    "type": [
 6764                      "string",
 6765                      "null"
 6766                    ],
 6767                    "default": null
 6768                  },
 6769                  "nodeVersionHint": {
 6770                    "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
 6771                    "type": "number",
 6772                    "default": 12,
 6773                    "minimum": 8
 6774                  },
 6775                  "outFiles": {
 6776                    "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 6777                    "type": [
 6778                      "array"
 6779                    ],
 6780                    "default": [
 6781                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 6782                      "!**/node_modules/**"
 6783                    ],
 6784                    "items": {
 6785                      "type": "string"
 6786                    },
 6787                    "tags": [
 6788                      "setup"
 6789                    ]
 6790                  },
 6791                  "outputCapture": {
 6792                    "default": "console",
 6793                    "enum": [
 6794                      "console",
 6795                      "std"
 6796                    ],
 6797                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 6798                  },
 6799                  "pauseForSourceMap": {
 6800                    "type": "boolean",
 6801                    "default": false,
 6802                    "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 6803                  },
 6804                  "profileStartup": {
 6805                    "description": "If true, will start profiling as soon as the process launches",
 6806                    "type": "boolean",
 6807                    "default": true
 6808                  },
 6809                  "program": {
 6810                    "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
 6811                    "type": "string",
 6812                    "default": "",
 6813                    "tags": [
 6814                      "setup"
 6815                    ]
 6816                  },
 6817                  "remoteRoot": {
 6818                    "description": "Absolute path to the remote directory containing the program.",
 6819                    "type": [
 6820                      "string",
 6821                      "null"
 6822                    ],
 6823                    "default": null
 6824                  },
 6825                  "resolveSourceMapLocations": {
 6826                    "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 6827                    "type": [
 6828                      "array",
 6829                      "null"
 6830                    ],
 6831                    "default": [
 6832                      "${ZED_WORKTREE_ROOT}/**",
 6833                      "!**/node_modules/**"
 6834                    ],
 6835                    "items": {
 6836                      "type": "string"
 6837                    }
 6838                  },
 6839                  "restart": {
 6840                    "description": "Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.",
 6841                    "default": true,
 6842                    "oneOf": [
 6843                      {
 6844                        "type": "boolean"
 6845                      },
 6846                      {
 6847                        "type": "object",
 6848                        "properties": {
 6849                          "delay": {
 6850                            "type": "number",
 6851                            "default": 1000,
 6852                            "minimum": 0
 6853                          },
 6854                          "maxAttempts": {
 6855                            "type": "number",
 6856                            "default": 10,
 6857                            "minimum": 0
 6858                          }
 6859                        }
 6860                      }
 6861                    ]
 6862                  },
 6863                  "runtimeArgs": {
 6864                    "description": "Optional arguments passed to the runtime executable.",
 6865                    "type": "array",
 6866                    "default": [],
 6867                    "items": {
 6868                      "type": "string"
 6869                    },
 6870                    "tags": [
 6871                      "setup"
 6872                    ]
 6873                  },
 6874                  "runtimeExecutable": {
 6875                    "type": [
 6876                      "string",
 6877                      "null"
 6878                    ],
 6879                    "default": "node",
 6880                    "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
 6881                  },
 6882                  "runtimeSourcemapPausePatterns": {
 6883                    "type": "array",
 6884                    "default": [],
 6885                    "items": {
 6886                      "type": "string"
 6887                    },
 6888                    "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 6889                  },
 6890                  "runtimeVersion": {
 6891                    "type": "string",
 6892                    "default": "default",
 6893                    "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
 6894                  },
 6895                  "showAsyncStacks": {
 6896                    "description": "Show the async calls that led to the current call stack.",
 6897                    "default": true,
 6898                    "oneOf": [
 6899                      {
 6900                        "type": "boolean"
 6901                      },
 6902                      {
 6903                        "type": "object",
 6904                        "properties": {
 6905                          "onAttach": {
 6906                            "type": "number",
 6907                            "default": 32
 6908                          }
 6909                        },
 6910                        "required": [
 6911                          "onAttach"
 6912                        ]
 6913                      },
 6914                      {
 6915                        "type": "object",
 6916                        "properties": {
 6917                          "onceBreakpointResolved": {
 6918                            "type": "number",
 6919                            "default": 32
 6920                          }
 6921                        },
 6922                        "required": [
 6923                          "onceBreakpointResolved"
 6924                        ]
 6925                      }
 6926                    ]
 6927                  },
 6928                  "skipFiles": {
 6929                    "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 6930                    "type": "array",
 6931                    "default": [
 6932                      "${/**"
 6933                    ]
 6934                  },
 6935                  "smartStep": {
 6936                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 6937                    "type": "boolean",
 6938                    "default": true
 6939                  },
 6940                  "sourceMapPathOverrides": {
 6941                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 6942                    "type": "object",
 6943                    "default": {
 6944                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 6945                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 6946                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 6947                    }
 6948                  },
 6949                  "sourceMapRenames": {
 6950                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 6951                    "type": "boolean",
 6952                    "default": true
 6953                  },
 6954                  "sourceMaps": {
 6955                    "description": "Use JavaScript source maps (if they exist).",
 6956                    "type": "boolean",
 6957                    "default": true
 6958                  },
 6959                  "stopOnEntry": {
 6960                    "description": "Automatically stop program after launch.",
 6961                    "type": [
 6962                      "boolean",
 6963                      "string"
 6964                    ],
 6965                    "default": true
 6966                  },
 6967                  "timeout": {
 6968                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 6969                    "type": "number",
 6970                    "default": 10000
 6971                  },
 6972                  "timeouts": {
 6973                    "description": "Timeouts for several debugger operations.",
 6974                    "type": "object",
 6975                    "properties": {
 6976                      "hoverEvaluation": {
 6977                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 6978                        "type": "number",
 6979                        "default": 500
 6980                      },
 6981                      "sourceMapCumulativePause": {
 6982                        "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 6983                        "type": "number",
 6984                        "default": 1000
 6985                      },
 6986                      "sourceMapMinPause": {
 6987                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 6988                        "type": "number",
 6989                        "default": 1000
 6990                      }
 6991                    },
 6992                    "additionalProperties": false,
 6993                    "default": {},
 6994                    "markdownDescription": "Timeouts for several debugger operations."
 6995                  },
 6996                  "trace": {
 6997                    "description": "Configures what diagnostic output is produced.",
 6998                    "default": true,
 6999                    "oneOf": [
 7000                      {
 7001                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 7002                        "type": "boolean"
 7003                      },
 7004                      {
 7005                        "type": "object",
 7006                        "properties": {
 7007                          "logFile": {
 7008                            "description": "Configures where on disk logs are written.",
 7009                            "type": [
 7010                              "string",
 7011                              "null"
 7012                            ]
 7013                          },
 7014                          "stdio": {
 7015                            "description": "Whether to return trace data from the launched application or browser.",
 7016                            "type": "boolean"
 7017                          }
 7018                        },
 7019                        "additionalProperties": false
 7020                      }
 7021                    ]
 7022                  }
 7023                },
 7024                "additionalProperties": false,
 7025                "default": {
 7026                  "program": "node my-server.js"
 7027                }
 7028              },
 7029              {
 7030                "description": "JavaScript Debug Terminal",
 7031                "type": "object",
 7032                "properties": {
 7033                  "autoAttachChildProcesses": {
 7034                    "description": "Attach debugger to new child processes automatically.",
 7035                    "type": "boolean",
 7036                    "default": true
 7037                  },
 7038                  "cascadeTerminateToConfigurations": {
 7039                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 7040                    "type": "array",
 7041                    "default": [],
 7042                    "items": {
 7043                      "type": "string",
 7044                      "uniqueItems": true
 7045                    }
 7046                  },
 7047                  "command": {
 7048                    "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
 7049                    "type": [
 7050                      "string",
 7051                      "null"
 7052                    ],
 7053                    "default": "npm start",
 7054                    "tags": [
 7055                      "setup"
 7056                    ]
 7057                  },
 7058                  "customDescriptionGenerator": {
 7059                    "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 7060                    "type": "string"
 7061                  },
 7062                  "customPropertiesGenerator": {
 7063                    "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 7064                    "type": "string",
 7065                    "deprecated": true
 7066                  },
 7067                  "cwd": {
 7068                    "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
 7069                    "type": "string",
 7070                    "default": "${ZED_WORKTREE_ROOT}",
 7071                    "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
 7072                    "tags": [
 7073                      "setup"
 7074                    ]
 7075                  },
 7076                  "enableContentValidation": {
 7077                    "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 7078                    "type": "boolean",
 7079                    "default": true
 7080                  },
 7081                  "enableDWARF": {
 7082                    "type": "boolean",
 7083                    "default": true,
 7084                    "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 7085                  },
 7086                  "env": {
 7087                    "type": "object",
 7088                    "additionalProperties": {
 7089                      "type": [
 7090                        "string",
 7091                        "null"
 7092                      ]
 7093                    },
 7094                    "default": {},
 7095                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 7096                    "tags": [
 7097                      "setup"
 7098                    ]
 7099                  },
 7100                  "envFile": {
 7101                    "description": "Absolute path to a file containing environment variable definitions.",
 7102                    "type": "string",
 7103                    "default": "${ZED_WORKTREE_ROOT}/.env"
 7104                  },
 7105                  "localRoot": {
 7106                    "description": "Path to the local directory containing the program.",
 7107                    "type": [
 7108                      "string",
 7109                      "null"
 7110                    ],
 7111                    "default": null
 7112                  },
 7113                  "nodeVersionHint": {
 7114                    "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
 7115                    "type": "number",
 7116                    "default": 12,
 7117                    "minimum": 8
 7118                  },
 7119                  "outFiles": {
 7120                    "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 7121                    "type": [
 7122                      "array"
 7123                    ],
 7124                    "default": [
 7125                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 7126                      "!**/node_modules/**"
 7127                    ],
 7128                    "items": {
 7129                      "type": "string"
 7130                    },
 7131                    "tags": [
 7132                      "setup"
 7133                    ]
 7134                  },
 7135                  "outputCapture": {
 7136                    "default": "console",
 7137                    "enum": [
 7138                      "console",
 7139                      "std"
 7140                    ],
 7141                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 7142                  },
 7143                  "pauseForSourceMap": {
 7144                    "type": "boolean",
 7145                    "default": false,
 7146                    "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 7147                  },
 7148                  "remoteRoot": {
 7149                    "description": "Absolute path to the remote directory containing the program.",
 7150                    "type": [
 7151                      "string",
 7152                      "null"
 7153                    ],
 7154                    "default": null
 7155                  },
 7156                  "resolveSourceMapLocations": {
 7157                    "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 7158                    "type": [
 7159                      "array",
 7160                      "null"
 7161                    ],
 7162                    "default": [
 7163                      "${ZED_WORKTREE_ROOT}/**",
 7164                      "!**/node_modules/**"
 7165                    ],
 7166                    "items": {
 7167                      "type": "string"
 7168                    }
 7169                  },
 7170                  "runtimeSourcemapPausePatterns": {
 7171                    "type": "array",
 7172                    "default": [],
 7173                    "items": {
 7174                      "type": "string"
 7175                    },
 7176                    "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 7177                  },
 7178                  "showAsyncStacks": {
 7179                    "description": "Show the async calls that led to the current call stack.",
 7180                    "default": true,
 7181                    "oneOf": [
 7182                      {
 7183                        "type": "boolean"
 7184                      },
 7185                      {
 7186                        "type": "object",
 7187                        "properties": {
 7188                          "onAttach": {
 7189                            "type": "number",
 7190                            "default": 32
 7191                          }
 7192                        },
 7193                        "required": [
 7194                          "onAttach"
 7195                        ]
 7196                      },
 7197                      {
 7198                        "type": "object",
 7199                        "properties": {
 7200                          "onceBreakpointResolved": {
 7201                            "type": "number",
 7202                            "default": 32
 7203                          }
 7204                        },
 7205                        "required": [
 7206                          "onceBreakpointResolved"
 7207                        ]
 7208                      }
 7209                    ]
 7210                  },
 7211                  "skipFiles": {
 7212                    "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 7213                    "type": "array",
 7214                    "default": [
 7215                      "${/**"
 7216                    ]
 7217                  },
 7218                  "smartStep": {
 7219                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 7220                    "type": "boolean",
 7221                    "default": true
 7222                  },
 7223                  "sourceMapPathOverrides": {
 7224                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 7225                    "type": "object",
 7226                    "default": {
 7227                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 7228                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 7229                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 7230                    }
 7231                  },
 7232                  "sourceMapRenames": {
 7233                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 7234                    "type": "boolean",
 7235                    "default": true
 7236                  },
 7237                  "sourceMaps": {
 7238                    "description": "Use JavaScript source maps (if they exist).",
 7239                    "type": "boolean",
 7240                    "default": true
 7241                  },
 7242                  "timeout": {
 7243                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 7244                    "type": "number",
 7245                    "default": 10000
 7246                  },
 7247                  "timeouts": {
 7248                    "description": "Timeouts for several debugger operations.",
 7249                    "type": "object",
 7250                    "properties": {
 7251                      "hoverEvaluation": {
 7252                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 7253                        "type": "number",
 7254                        "default": 500
 7255                      },
 7256                      "sourceMapCumulativePause": {
 7257                        "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 7258                        "type": "number",
 7259                        "default": 1000
 7260                      },
 7261                      "sourceMapMinPause": {
 7262                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 7263                        "type": "number",
 7264                        "default": 1000
 7265                      }
 7266                    },
 7267                    "additionalProperties": false,
 7268                    "default": {},
 7269                    "markdownDescription": "Timeouts for several debugger operations."
 7270                  },
 7271                  "trace": {
 7272                    "description": "Configures what diagnostic output is produced.",
 7273                    "default": true,
 7274                    "oneOf": [
 7275                      {
 7276                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 7277                        "type": "boolean"
 7278                      },
 7279                      {
 7280                        "type": "object",
 7281                        "properties": {
 7282                          "logFile": {
 7283                            "description": "Configures where on disk logs are written.",
 7284                            "type": [
 7285                              "string",
 7286                              "null"
 7287                            ]
 7288                          },
 7289                          "stdio": {
 7290                            "description": "Whether to return trace data from the launched application or browser.",
 7291                            "type": "boolean"
 7292                          }
 7293                        },
 7294                        "additionalProperties": false
 7295                      }
 7296                    ]
 7297                  }
 7298                },
 7299                "additionalProperties": false,
 7300                "default": {
 7301                  "program": "npm start"
 7302                }
 7303              }
 7304            ]
 7305          },
 7306          "showAsyncStacks": {
 7307            "description": "Show the async calls that led to the current call stack.",
 7308            "default": true,
 7309            "oneOf": [
 7310              {
 7311                "type": "boolean"
 7312              },
 7313              {
 7314                "type": "object",
 7315                "properties": {
 7316                  "onAttach": {
 7317                    "type": "number",
 7318                    "default": 32
 7319                  }
 7320                },
 7321                "required": [
 7322                  "onAttach"
 7323                ]
 7324              },
 7325              {
 7326                "type": "object",
 7327                "properties": {
 7328                  "onceBreakpointResolved": {
 7329                    "type": "number",
 7330                    "default": 32
 7331                  }
 7332                },
 7333                "required": [
 7334                  "onceBreakpointResolved"
 7335                ]
 7336              }
 7337            ]
 7338          },
 7339          "skipFiles": {
 7340            "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 7341            "type": "array",
 7342            "default": [
 7343              "${/**"
 7344            ]
 7345          },
 7346          "smartStep": {
 7347            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 7348            "type": "boolean",
 7349            "default": true
 7350          },
 7351          "sourceMapPathOverrides": {
 7352            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 7353            "type": "object",
 7354            "default": {
 7355              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 7356              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 7357              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 7358            }
 7359          },
 7360          "sourceMapRenames": {
 7361            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 7362            "type": "boolean",
 7363            "default": true
 7364          },
 7365          "sourceMaps": {
 7366            "description": "Use JavaScript source maps (if they exist).",
 7367            "type": "boolean",
 7368            "default": true
 7369          },
 7370          "timeout": {
 7371            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 7372            "type": "number",
 7373            "default": 10000
 7374          },
 7375          "timeouts": {
 7376            "description": "Timeouts for several debugger operations.",
 7377            "type": "object",
 7378            "properties": {
 7379              "hoverEvaluation": {
 7380                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 7381                "type": "number",
 7382                "default": 500
 7383              },
 7384              "sourceMapCumulativePause": {
 7385                "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 7386                "type": "number",
 7387                "default": 1000
 7388              },
 7389              "sourceMapMinPause": {
 7390                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 7391                "type": "number",
 7392                "default": 1000
 7393              }
 7394            },
 7395            "additionalProperties": false,
 7396            "default": {},
 7397            "markdownDescription": "Timeouts for several debugger operations."
 7398          },
 7399          "trace": {
 7400            "description": "Configures what diagnostic output is produced.",
 7401            "default": true,
 7402            "oneOf": [
 7403              {
 7404                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 7405                "type": "boolean"
 7406              },
 7407              {
 7408                "type": "object",
 7409                "properties": {
 7410                  "logFile": {
 7411                    "description": "Configures where on disk logs are written.",
 7412                    "type": [
 7413                      "string",
 7414                      "null"
 7415                    ]
 7416                  },
 7417                  "stdio": {
 7418                    "description": "Whether to return trace data from the launched application or browser.",
 7419                    "type": "boolean"
 7420                  }
 7421                },
 7422                "additionalProperties": false
 7423              }
 7424            ]
 7425          },
 7426          "url": {
 7427            "description": "Will search for a tab with this exact url and attach to it, if found",
 7428            "type": "string",
 7429            "default": "http://localhost:8080",
 7430            "tags": [
 7431              "setup"
 7432            ]
 7433          },
 7434          "urlFilter": {
 7435            "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
 7436            "type": "string",
 7437            "default": ""
 7438          },
 7439          "userDataDir": {
 7440            "description": "By default, the browser is launched with a separate user profile in a temp folder. Use this option to override it. Set to false to launch with your default user profile. A new browser can't be launched if an instance is already running from `userDataDir`.",
 7441            "type": [
 7442              "string",
 7443              "boolean"
 7444            ],
 7445            "default": true
 7446          },
 7447          "vueComponentPaths": {
 7448            "description": "A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.",
 7449            "type": "array",
 7450            "default": [
 7451              "${ZED_WORKTREE_ROOT}/**/*.vue"
 7452            ]
 7453          },
 7454          "webRoot": {
 7455            "description": "This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"",
 7456            "type": "string",
 7457            "default": "${ZED_WORKTREE_ROOT}",
 7458            "tags": [
 7459              "setup"
 7460            ]
 7461          }
 7462        }
 7463      }
 7464    },
 7465    {
 7466      "if": {
 7467        "properties": {
 7468          "type": {
 7469            "enum": [
 7470              "chrome"
 7471            ]
 7472          },
 7473          "request": {
 7474            "enum": [
 7475              "attach"
 7476            ]
 7477          }
 7478        },
 7479        "required": [
 7480          "type",
 7481          "request"
 7482        ]
 7483      },
 7484      "then": {
 7485        "properties": {
 7486          "address": {
 7487            "description": "IP address or hostname the debugged browser is listening on.",
 7488            "type": "string",
 7489            "default": "localhost"
 7490          },
 7491          "browserAttachLocation": {
 7492            "description": "Forces the browser to attach in one location. In a remote workspace (through ssh or WSL, for example) this can be used to attach to a browser on the remote machine rather than locally.",
 7493            "default": null,
 7494            "oneOf": [
 7495              {
 7496                "type": "null"
 7497              },
 7498              {
 7499                "type": "string",
 7500                "enum": [
 7501                  "ui",
 7502                  "workspace"
 7503                ]
 7504              }
 7505            ]
 7506          },
 7507          "cascadeTerminateToConfigurations": {
 7508            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 7509            "type": "array",
 7510            "default": [],
 7511            "items": {
 7512              "type": "string",
 7513              "uniqueItems": true
 7514            }
 7515          },
 7516          "customDescriptionGenerator": {
 7517            "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 7518            "type": "string"
 7519          },
 7520          "customPropertiesGenerator": {
 7521            "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 7522            "type": "string",
 7523            "deprecated": true
 7524          },
 7525          "disableNetworkCache": {
 7526            "description": "Controls whether to skip the network cache for each request",
 7527            "type": "boolean",
 7528            "default": true
 7529          },
 7530          "enableContentValidation": {
 7531            "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 7532            "type": "boolean",
 7533            "default": true
 7534          },
 7535          "enableDWARF": {
 7536            "type": "boolean",
 7537            "default": true,
 7538            "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 7539          },
 7540          "inspectUri": {
 7541            "description": "Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n",
 7542            "type": [
 7543              "string",
 7544              "null"
 7545            ],
 7546            "default": null
 7547          },
 7548          "outFiles": {
 7549            "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 7550            "type": [
 7551              "array"
 7552            ],
 7553            "default": [
 7554              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 7555              "!**/node_modules/**"
 7556            ],
 7557            "items": {
 7558              "type": "string"
 7559            },
 7560            "tags": [
 7561              "setup"
 7562            ]
 7563          },
 7564          "outputCapture": {
 7565            "default": "console",
 7566            "enum": [
 7567              "console",
 7568              "std"
 7569            ],
 7570            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 7571          },
 7572          "pathMapping": {
 7573            "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
 7574            "type": "object",
 7575            "default": {}
 7576          },
 7577          "pauseForSourceMap": {
 7578            "type": "boolean",
 7579            "default": false,
 7580            "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 7581          },
 7582          "perScriptSourcemaps": {
 7583            "description": "Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.",
 7584            "type": "string",
 7585            "default": "auto",
 7586            "enum": [
 7587              "yes",
 7588              "no",
 7589              "auto"
 7590            ]
 7591          },
 7592          "port": {
 7593            "description": "Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.",
 7594            "default": 9229,
 7595            "oneOf": [
 7596              {
 7597                "type": "integer"
 7598              },
 7599              {
 7600                "type": "string",
 7601                "pattern": "^\\${.*}$"
 7602              }
 7603            ],
 7604            "tags": [
 7605              "setup"
 7606            ]
 7607          },
 7608          "resolveSourceMapLocations": {
 7609            "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 7610            "type": [
 7611              "array",
 7612              "null"
 7613            ],
 7614            "default": null,
 7615            "items": {
 7616              "type": "string"
 7617            }
 7618          },
 7619          "restart": {
 7620            "type": "boolean",
 7621            "default": false,
 7622            "markdownDescription": "Whether to reconnect if the browser connection is closed"
 7623          },
 7624          "server": {
 7625            "oneOf": [
 7626              {
 7627                "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
 7628                "type": "object",
 7629                "properties": {
 7630                  "args": {
 7631                    "description": "Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.",
 7632                    "type": [
 7633                      "array",
 7634                      "string"
 7635                    ],
 7636                    "default": [],
 7637                    "items": {
 7638                      "type": "string"
 7639                    },
 7640                    "tags": [
 7641                      "setup"
 7642                    ]
 7643                  },
 7644                  "attachSimplePort": {
 7645                    "description": "If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.",
 7646                    "default": 9229,
 7647                    "oneOf": [
 7648                      {
 7649                        "type": "integer"
 7650                      },
 7651                      {
 7652                        "type": "string",
 7653                        "pattern": "^\\${.*}$"
 7654                      }
 7655                    ]
 7656                  },
 7657                  "autoAttachChildProcesses": {
 7658                    "description": "Attach debugger to new child processes automatically.",
 7659                    "type": "boolean",
 7660                    "default": true
 7661                  },
 7662                  "cascadeTerminateToConfigurations": {
 7663                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 7664                    "type": "array",
 7665                    "default": [],
 7666                    "items": {
 7667                      "type": "string",
 7668                      "uniqueItems": true
 7669                    }
 7670                  },
 7671                  "console": {
 7672                    "description": "Where to launch the debug target.",
 7673                    "type": "string",
 7674                    "default": "internalConsole",
 7675                    "enum": [
 7676                      "internalConsole",
 7677                      "integratedTerminal",
 7678                      "externalTerminal"
 7679                    ],
 7680                    "enumDescriptions": [
 7681                      "VS Code Debug Console (which doesn't support to read input from a program)",
 7682                      "VS Code's integrated terminal",
 7683                      "External terminal that can be configured via user settings"
 7684                    ]
 7685                  },
 7686                  "customDescriptionGenerator": {
 7687                    "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 7688                    "type": "string"
 7689                  },
 7690                  "customPropertiesGenerator": {
 7691                    "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 7692                    "type": "string",
 7693                    "deprecated": true
 7694                  },
 7695                  "cwd": {
 7696                    "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
 7697                    "type": "string",
 7698                    "default": "${ZED_WORKTREE_ROOT}",
 7699                    "tags": [
 7700                      "setup"
 7701                    ]
 7702                  },
 7703                  "enableContentValidation": {
 7704                    "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 7705                    "type": "boolean",
 7706                    "default": true
 7707                  },
 7708                  "enableDWARF": {
 7709                    "type": "boolean",
 7710                    "default": true,
 7711                    "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 7712                  },
 7713                  "env": {
 7714                    "type": "object",
 7715                    "additionalProperties": {
 7716                      "type": [
 7717                        "string",
 7718                        "null"
 7719                      ]
 7720                    },
 7721                    "default": {},
 7722                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 7723                    "tags": [
 7724                      "setup"
 7725                    ]
 7726                  },
 7727                  "envFile": {
 7728                    "description": "Absolute path to a file containing environment variable definitions.",
 7729                    "type": "string",
 7730                    "default": "${ZED_WORKTREE_ROOT}/.env"
 7731                  },
 7732                  "experimentalNetworking": {
 7733                    "description": "Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.",
 7734                    "type": "string",
 7735                    "default": "auto",
 7736                    "enum": [
 7737                      "auto",
 7738                      "on",
 7739                      "off"
 7740                    ]
 7741                  },
 7742                  "killBehavior": {
 7743                    "type": "string",
 7744                    "default": "forceful",
 7745                    "enum": [
 7746                      "forceful",
 7747                      "polite",
 7748                      "none"
 7749                    ],
 7750                    "markdownDescription": "Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."
 7751                  },
 7752                  "localRoot": {
 7753                    "description": "Path to the local directory containing the program.",
 7754                    "type": [
 7755                      "string",
 7756                      "null"
 7757                    ],
 7758                    "default": null
 7759                  },
 7760                  "nodeVersionHint": {
 7761                    "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
 7762                    "type": "number",
 7763                    "default": 12,
 7764                    "minimum": 8
 7765                  },
 7766                  "outFiles": {
 7767                    "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 7768                    "type": [
 7769                      "array"
 7770                    ],
 7771                    "default": [
 7772                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 7773                      "!**/node_modules/**"
 7774                    ],
 7775                    "items": {
 7776                      "type": "string"
 7777                    },
 7778                    "tags": [
 7779                      "setup"
 7780                    ]
 7781                  },
 7782                  "outputCapture": {
 7783                    "default": "console",
 7784                    "enum": [
 7785                      "console",
 7786                      "std"
 7787                    ],
 7788                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 7789                  },
 7790                  "pauseForSourceMap": {
 7791                    "type": "boolean",
 7792                    "default": false,
 7793                    "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 7794                  },
 7795                  "profileStartup": {
 7796                    "description": "If true, will start profiling as soon as the process launches",
 7797                    "type": "boolean",
 7798                    "default": true
 7799                  },
 7800                  "program": {
 7801                    "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
 7802                    "type": "string",
 7803                    "default": "",
 7804                    "tags": [
 7805                      "setup"
 7806                    ]
 7807                  },
 7808                  "remoteRoot": {
 7809                    "description": "Absolute path to the remote directory containing the program.",
 7810                    "type": [
 7811                      "string",
 7812                      "null"
 7813                    ],
 7814                    "default": null
 7815                  },
 7816                  "resolveSourceMapLocations": {
 7817                    "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 7818                    "type": [
 7819                      "array",
 7820                      "null"
 7821                    ],
 7822                    "default": [
 7823                      "${ZED_WORKTREE_ROOT}/**",
 7824                      "!**/node_modules/**"
 7825                    ],
 7826                    "items": {
 7827                      "type": "string"
 7828                    }
 7829                  },
 7830                  "restart": {
 7831                    "description": "Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.",
 7832                    "default": true,
 7833                    "oneOf": [
 7834                      {
 7835                        "type": "boolean"
 7836                      },
 7837                      {
 7838                        "type": "object",
 7839                        "properties": {
 7840                          "delay": {
 7841                            "type": "number",
 7842                            "default": 1000,
 7843                            "minimum": 0
 7844                          },
 7845                          "maxAttempts": {
 7846                            "type": "number",
 7847                            "default": 10,
 7848                            "minimum": 0
 7849                          }
 7850                        }
 7851                      }
 7852                    ]
 7853                  },
 7854                  "runtimeArgs": {
 7855                    "description": "Optional arguments passed to the runtime executable.",
 7856                    "type": "array",
 7857                    "default": [],
 7858                    "items": {
 7859                      "type": "string"
 7860                    },
 7861                    "tags": [
 7862                      "setup"
 7863                    ]
 7864                  },
 7865                  "runtimeExecutable": {
 7866                    "type": [
 7867                      "string",
 7868                      "null"
 7869                    ],
 7870                    "default": "node",
 7871                    "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
 7872                  },
 7873                  "runtimeSourcemapPausePatterns": {
 7874                    "type": "array",
 7875                    "default": [],
 7876                    "items": {
 7877                      "type": "string"
 7878                    },
 7879                    "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 7880                  },
 7881                  "runtimeVersion": {
 7882                    "type": "string",
 7883                    "default": "default",
 7884                    "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
 7885                  },
 7886                  "showAsyncStacks": {
 7887                    "description": "Show the async calls that led to the current call stack.",
 7888                    "default": true,
 7889                    "oneOf": [
 7890                      {
 7891                        "type": "boolean"
 7892                      },
 7893                      {
 7894                        "type": "object",
 7895                        "properties": {
 7896                          "onAttach": {
 7897                            "type": "number",
 7898                            "default": 32
 7899                          }
 7900                        },
 7901                        "required": [
 7902                          "onAttach"
 7903                        ]
 7904                      },
 7905                      {
 7906                        "type": "object",
 7907                        "properties": {
 7908                          "onceBreakpointResolved": {
 7909                            "type": "number",
 7910                            "default": 32
 7911                          }
 7912                        },
 7913                        "required": [
 7914                          "onceBreakpointResolved"
 7915                        ]
 7916                      }
 7917                    ]
 7918                  },
 7919                  "skipFiles": {
 7920                    "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 7921                    "type": "array",
 7922                    "default": [
 7923                      "${/**"
 7924                    ]
 7925                  },
 7926                  "smartStep": {
 7927                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 7928                    "type": "boolean",
 7929                    "default": true
 7930                  },
 7931                  "sourceMapPathOverrides": {
 7932                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 7933                    "type": "object",
 7934                    "default": {
 7935                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 7936                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 7937                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 7938                    }
 7939                  },
 7940                  "sourceMapRenames": {
 7941                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 7942                    "type": "boolean",
 7943                    "default": true
 7944                  },
 7945                  "sourceMaps": {
 7946                    "description": "Use JavaScript source maps (if they exist).",
 7947                    "type": "boolean",
 7948                    "default": true
 7949                  },
 7950                  "stopOnEntry": {
 7951                    "description": "Automatically stop program after launch.",
 7952                    "type": [
 7953                      "boolean",
 7954                      "string"
 7955                    ],
 7956                    "default": true
 7957                  },
 7958                  "timeout": {
 7959                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 7960                    "type": "number",
 7961                    "default": 10000
 7962                  },
 7963                  "timeouts": {
 7964                    "description": "Timeouts for several debugger operations.",
 7965                    "type": "object",
 7966                    "properties": {
 7967                      "hoverEvaluation": {
 7968                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 7969                        "type": "number",
 7970                        "default": 500
 7971                      },
 7972                      "sourceMapCumulativePause": {
 7973                        "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 7974                        "type": "number",
 7975                        "default": 1000
 7976                      },
 7977                      "sourceMapMinPause": {
 7978                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 7979                        "type": "number",
 7980                        "default": 1000
 7981                      }
 7982                    },
 7983                    "additionalProperties": false,
 7984                    "default": {},
 7985                    "markdownDescription": "Timeouts for several debugger operations."
 7986                  },
 7987                  "trace": {
 7988                    "description": "Configures what diagnostic output is produced.",
 7989                    "default": true,
 7990                    "oneOf": [
 7991                      {
 7992                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 7993                        "type": "boolean"
 7994                      },
 7995                      {
 7996                        "type": "object",
 7997                        "properties": {
 7998                          "logFile": {
 7999                            "description": "Configures where on disk logs are written.",
 8000                            "type": [
 8001                              "string",
 8002                              "null"
 8003                            ]
 8004                          },
 8005                          "stdio": {
 8006                            "description": "Whether to return trace data from the launched application or browser.",
 8007                            "type": "boolean"
 8008                          }
 8009                        },
 8010                        "additionalProperties": false
 8011                      }
 8012                    ]
 8013                  }
 8014                },
 8015                "additionalProperties": false,
 8016                "default": {
 8017                  "program": "node my-server.js"
 8018                }
 8019              },
 8020              {
 8021                "description": "JavaScript Debug Terminal",
 8022                "type": "object",
 8023                "properties": {
 8024                  "autoAttachChildProcesses": {
 8025                    "description": "Attach debugger to new child processes automatically.",
 8026                    "type": "boolean",
 8027                    "default": true
 8028                  },
 8029                  "cascadeTerminateToConfigurations": {
 8030                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 8031                    "type": "array",
 8032                    "default": [],
 8033                    "items": {
 8034                      "type": "string",
 8035                      "uniqueItems": true
 8036                    }
 8037                  },
 8038                  "command": {
 8039                    "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
 8040                    "type": [
 8041                      "string",
 8042                      "null"
 8043                    ],
 8044                    "default": "npm start",
 8045                    "tags": [
 8046                      "setup"
 8047                    ]
 8048                  },
 8049                  "customDescriptionGenerator": {
 8050                    "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 8051                    "type": "string"
 8052                  },
 8053                  "customPropertiesGenerator": {
 8054                    "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 8055                    "type": "string",
 8056                    "deprecated": true
 8057                  },
 8058                  "cwd": {
 8059                    "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
 8060                    "type": "string",
 8061                    "default": "${ZED_WORKTREE_ROOT}",
 8062                    "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
 8063                    "tags": [
 8064                      "setup"
 8065                    ]
 8066                  },
 8067                  "enableContentValidation": {
 8068                    "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 8069                    "type": "boolean",
 8070                    "default": true
 8071                  },
 8072                  "enableDWARF": {
 8073                    "type": "boolean",
 8074                    "default": true,
 8075                    "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 8076                  },
 8077                  "env": {
 8078                    "type": "object",
 8079                    "additionalProperties": {
 8080                      "type": [
 8081                        "string",
 8082                        "null"
 8083                      ]
 8084                    },
 8085                    "default": {},
 8086                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 8087                    "tags": [
 8088                      "setup"
 8089                    ]
 8090                  },
 8091                  "envFile": {
 8092                    "description": "Absolute path to a file containing environment variable definitions.",
 8093                    "type": "string",
 8094                    "default": "${ZED_WORKTREE_ROOT}/.env"
 8095                  },
 8096                  "localRoot": {
 8097                    "description": "Path to the local directory containing the program.",
 8098                    "type": [
 8099                      "string",
 8100                      "null"
 8101                    ],
 8102                    "default": null
 8103                  },
 8104                  "nodeVersionHint": {
 8105                    "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
 8106                    "type": "number",
 8107                    "default": 12,
 8108                    "minimum": 8
 8109                  },
 8110                  "outFiles": {
 8111                    "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 8112                    "type": [
 8113                      "array"
 8114                    ],
 8115                    "default": [
 8116                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 8117                      "!**/node_modules/**"
 8118                    ],
 8119                    "items": {
 8120                      "type": "string"
 8121                    },
 8122                    "tags": [
 8123                      "setup"
 8124                    ]
 8125                  },
 8126                  "outputCapture": {
 8127                    "default": "console",
 8128                    "enum": [
 8129                      "console",
 8130                      "std"
 8131                    ],
 8132                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 8133                  },
 8134                  "pauseForSourceMap": {
 8135                    "type": "boolean",
 8136                    "default": false,
 8137                    "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 8138                  },
 8139                  "remoteRoot": {
 8140                    "description": "Absolute path to the remote directory containing the program.",
 8141                    "type": [
 8142                      "string",
 8143                      "null"
 8144                    ],
 8145                    "default": null
 8146                  },
 8147                  "resolveSourceMapLocations": {
 8148                    "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 8149                    "type": [
 8150                      "array",
 8151                      "null"
 8152                    ],
 8153                    "default": [
 8154                      "${ZED_WORKTREE_ROOT}/**",
 8155                      "!**/node_modules/**"
 8156                    ],
 8157                    "items": {
 8158                      "type": "string"
 8159                    }
 8160                  },
 8161                  "runtimeSourcemapPausePatterns": {
 8162                    "type": "array",
 8163                    "default": [],
 8164                    "items": {
 8165                      "type": "string"
 8166                    },
 8167                    "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 8168                  },
 8169                  "showAsyncStacks": {
 8170                    "description": "Show the async calls that led to the current call stack.",
 8171                    "default": true,
 8172                    "oneOf": [
 8173                      {
 8174                        "type": "boolean"
 8175                      },
 8176                      {
 8177                        "type": "object",
 8178                        "properties": {
 8179                          "onAttach": {
 8180                            "type": "number",
 8181                            "default": 32
 8182                          }
 8183                        },
 8184                        "required": [
 8185                          "onAttach"
 8186                        ]
 8187                      },
 8188                      {
 8189                        "type": "object",
 8190                        "properties": {
 8191                          "onceBreakpointResolved": {
 8192                            "type": "number",
 8193                            "default": 32
 8194                          }
 8195                        },
 8196                        "required": [
 8197                          "onceBreakpointResolved"
 8198                        ]
 8199                      }
 8200                    ]
 8201                  },
 8202                  "skipFiles": {
 8203                    "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 8204                    "type": "array",
 8205                    "default": [
 8206                      "${/**"
 8207                    ]
 8208                  },
 8209                  "smartStep": {
 8210                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 8211                    "type": "boolean",
 8212                    "default": true
 8213                  },
 8214                  "sourceMapPathOverrides": {
 8215                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 8216                    "type": "object",
 8217                    "default": {
 8218                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 8219                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 8220                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 8221                    }
 8222                  },
 8223                  "sourceMapRenames": {
 8224                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 8225                    "type": "boolean",
 8226                    "default": true
 8227                  },
 8228                  "sourceMaps": {
 8229                    "description": "Use JavaScript source maps (if they exist).",
 8230                    "type": "boolean",
 8231                    "default": true
 8232                  },
 8233                  "timeout": {
 8234                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 8235                    "type": "number",
 8236                    "default": 10000
 8237                  },
 8238                  "timeouts": {
 8239                    "description": "Timeouts for several debugger operations.",
 8240                    "type": "object",
 8241                    "properties": {
 8242                      "hoverEvaluation": {
 8243                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 8244                        "type": "number",
 8245                        "default": 500
 8246                      },
 8247                      "sourceMapCumulativePause": {
 8248                        "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 8249                        "type": "number",
 8250                        "default": 1000
 8251                      },
 8252                      "sourceMapMinPause": {
 8253                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 8254                        "type": "number",
 8255                        "default": 1000
 8256                      }
 8257                    },
 8258                    "additionalProperties": false,
 8259                    "default": {},
 8260                    "markdownDescription": "Timeouts for several debugger operations."
 8261                  },
 8262                  "trace": {
 8263                    "description": "Configures what diagnostic output is produced.",
 8264                    "default": true,
 8265                    "oneOf": [
 8266                      {
 8267                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 8268                        "type": "boolean"
 8269                      },
 8270                      {
 8271                        "type": "object",
 8272                        "properties": {
 8273                          "logFile": {
 8274                            "description": "Configures where on disk logs are written.",
 8275                            "type": [
 8276                              "string",
 8277                              "null"
 8278                            ]
 8279                          },
 8280                          "stdio": {
 8281                            "description": "Whether to return trace data from the launched application or browser.",
 8282                            "type": "boolean"
 8283                          }
 8284                        },
 8285                        "additionalProperties": false
 8286                      }
 8287                    ]
 8288                  }
 8289                },
 8290                "additionalProperties": false,
 8291                "default": {
 8292                  "program": "npm start"
 8293                }
 8294              }
 8295            ]
 8296          },
 8297          "showAsyncStacks": {
 8298            "description": "Show the async calls that led to the current call stack.",
 8299            "default": true,
 8300            "oneOf": [
 8301              {
 8302                "type": "boolean"
 8303              },
 8304              {
 8305                "type": "object",
 8306                "properties": {
 8307                  "onAttach": {
 8308                    "type": "number",
 8309                    "default": 32
 8310                  }
 8311                },
 8312                "required": [
 8313                  "onAttach"
 8314                ]
 8315              },
 8316              {
 8317                "type": "object",
 8318                "properties": {
 8319                  "onceBreakpointResolved": {
 8320                    "type": "number",
 8321                    "default": 32
 8322                  }
 8323                },
 8324                "required": [
 8325                  "onceBreakpointResolved"
 8326                ]
 8327              }
 8328            ]
 8329          },
 8330          "skipFiles": {
 8331            "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 8332            "type": "array",
 8333            "default": [
 8334              "${/**"
 8335            ]
 8336          },
 8337          "smartStep": {
 8338            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 8339            "type": "boolean",
 8340            "default": true
 8341          },
 8342          "sourceMapPathOverrides": {
 8343            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 8344            "type": "object",
 8345            "default": {
 8346              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 8347              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 8348              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 8349            }
 8350          },
 8351          "sourceMapRenames": {
 8352            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 8353            "type": "boolean",
 8354            "default": true
 8355          },
 8356          "sourceMaps": {
 8357            "description": "Use JavaScript source maps (if they exist).",
 8358            "type": "boolean",
 8359            "default": true
 8360          },
 8361          "targetSelection": {
 8362            "type": "string",
 8363            "default": "automatic",
 8364            "enum": [
 8365              "pick",
 8366              "automatic"
 8367            ],
 8368            "markdownDescription": "Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\")."
 8369          },
 8370          "timeout": {
 8371            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 8372            "type": "number",
 8373            "default": 10000
 8374          },
 8375          "timeouts": {
 8376            "description": "Timeouts for several debugger operations.",
 8377            "type": "object",
 8378            "properties": {
 8379              "hoverEvaluation": {
 8380                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 8381                "type": "number",
 8382                "default": 500
 8383              },
 8384              "sourceMapCumulativePause": {
 8385                "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 8386                "type": "number",
 8387                "default": 1000
 8388              },
 8389              "sourceMapMinPause": {
 8390                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 8391                "type": "number",
 8392                "default": 1000
 8393              }
 8394            },
 8395            "additionalProperties": false,
 8396            "default": {},
 8397            "markdownDescription": "Timeouts for several debugger operations."
 8398          },
 8399          "trace": {
 8400            "description": "Configures what diagnostic output is produced.",
 8401            "default": true,
 8402            "oneOf": [
 8403              {
 8404                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 8405                "type": "boolean"
 8406              },
 8407              {
 8408                "type": "object",
 8409                "properties": {
 8410                  "logFile": {
 8411                    "description": "Configures where on disk logs are written.",
 8412                    "type": [
 8413                      "string",
 8414                      "null"
 8415                    ]
 8416                  },
 8417                  "stdio": {
 8418                    "description": "Whether to return trace data from the launched application or browser.",
 8419                    "type": "boolean"
 8420                  }
 8421                },
 8422                "additionalProperties": false
 8423              }
 8424            ]
 8425          },
 8426          "url": {
 8427            "description": "Will search for a tab with this exact url and attach to it, if found",
 8428            "type": "string",
 8429            "default": "http://localhost:8080",
 8430            "tags": [
 8431              "setup"
 8432            ]
 8433          },
 8434          "urlFilter": {
 8435            "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
 8436            "type": "string",
 8437            "default": ""
 8438          },
 8439          "vueComponentPaths": {
 8440            "description": "A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.",
 8441            "type": "array",
 8442            "default": [
 8443              "${ZED_WORKTREE_ROOT}/**/*.vue"
 8444            ]
 8445          },
 8446          "webRoot": {
 8447            "description": "This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"",
 8448            "type": "string",
 8449            "default": "${ZED_WORKTREE_ROOT}",
 8450            "tags": [
 8451              "setup"
 8452            ]
 8453          }
 8454        }
 8455      }
 8456    },
 8457    {
 8458      "if": {
 8459        "properties": {
 8460          "type": {
 8461            "enum": [
 8462              "pwa-msedge"
 8463            ]
 8464          },
 8465          "request": {
 8466            "enum": [
 8467              "launch"
 8468            ]
 8469          }
 8470        },
 8471        "required": [
 8472          "type",
 8473          "request"
 8474        ]
 8475      },
 8476      "then": {
 8477        "properties": {
 8478          "address": {
 8479            "description": "When debugging webviews, the IP address or hostname the webview is listening on. Will be automatically discovered if not set.",
 8480            "type": "string",
 8481            "default": "localhost"
 8482          },
 8483          "browserLaunchLocation": {
 8484            "description": "Forces the browser to be launched in one location. In a remote workspace (through ssh or WSL, for example) this can be used to open the browser on the remote machine rather than locally.",
 8485            "default": null,
 8486            "oneOf": [
 8487              {
 8488                "type": "null"
 8489              },
 8490              {
 8491                "type": "string",
 8492                "enum": [
 8493                  "ui",
 8494                  "workspace"
 8495                ]
 8496              }
 8497            ]
 8498          },
 8499          "cascadeTerminateToConfigurations": {
 8500            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 8501            "type": "array",
 8502            "default": [],
 8503            "items": {
 8504              "type": "string",
 8505              "uniqueItems": true
 8506            }
 8507          },
 8508          "cleanUp": {
 8509            "description": "What clean-up to do after the debugging session finishes. Close only the tab being debug, vs. close the whole browser.",
 8510            "type": "string",
 8511            "default": "wholeBrowser",
 8512            "enum": [
 8513              "wholeBrowser",
 8514              "onlyTab"
 8515            ]
 8516          },
 8517          "customDescriptionGenerator": {
 8518            "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 8519            "type": "string"
 8520          },
 8521          "customPropertiesGenerator": {
 8522            "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 8523            "type": "string",
 8524            "deprecated": true
 8525          },
 8526          "cwd": {
 8527            "description": "Optional working directory for the runtime executable.",
 8528            "type": "string",
 8529            "default": null
 8530          },
 8531          "disableNetworkCache": {
 8532            "description": "Controls whether to skip the network cache for each request",
 8533            "type": "boolean",
 8534            "default": true
 8535          },
 8536          "enableContentValidation": {
 8537            "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 8538            "type": "boolean",
 8539            "default": true
 8540          },
 8541          "enableDWARF": {
 8542            "type": "boolean",
 8543            "default": true,
 8544            "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 8545          },
 8546          "env": {
 8547            "description": "Optional dictionary of environment key/value pairs for the browser.",
 8548            "type": "object",
 8549            "default": {}
 8550          },
 8551          "file": {
 8552            "description": "A local html file to open in the browser",
 8553            "type": "string",
 8554            "default": "${ZED_WORKTREE_ROOT}/index.html",
 8555            "tags": [
 8556              "setup"
 8557            ]
 8558          },
 8559          "includeDefaultArgs": {
 8560            "description": "Whether default browser launch arguments (to disable features that may make debugging harder) will be included in the launch.",
 8561            "type": "boolean",
 8562            "default": true
 8563          },
 8564          "includeLaunchArgs": {
 8565            "description": "Advanced: whether any default launch/debugging arguments are set on the browser. The debugger will assume the browser will use pipe debugging such as that which is provided with `--remote-debugging-pipe`.",
 8566            "type": "boolean",
 8567            "default": true
 8568          },
 8569          "inspectUri": {
 8570            "description": "Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n",
 8571            "type": [
 8572              "string",
 8573              "null"
 8574            ],
 8575            "default": null
 8576          },
 8577          "killBehavior": {
 8578            "type": "string",
 8579            "default": "forceful",
 8580            "enum": [
 8581              "forceful",
 8582              "polite",
 8583              "none"
 8584            ],
 8585            "markdownDescription": "Configures how browser processes are killed when stopping the session with `cleanUp: wholeBrowser`. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."
 8586          },
 8587          "outFiles": {
 8588            "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 8589            "type": [
 8590              "array"
 8591            ],
 8592            "default": [
 8593              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 8594              "!**/node_modules/**"
 8595            ],
 8596            "items": {
 8597              "type": "string"
 8598            },
 8599            "tags": [
 8600              "setup"
 8601            ]
 8602          },
 8603          "outputCapture": {
 8604            "default": "console",
 8605            "enum": [
 8606              "console",
 8607              "std"
 8608            ],
 8609            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 8610          },
 8611          "pathMapping": {
 8612            "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
 8613            "type": "object",
 8614            "default": {}
 8615          },
 8616          "pauseForSourceMap": {
 8617            "type": "boolean",
 8618            "default": false,
 8619            "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 8620          },
 8621          "perScriptSourcemaps": {
 8622            "description": "Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.",
 8623            "type": "string",
 8624            "default": "auto",
 8625            "enum": [
 8626              "yes",
 8627              "no",
 8628              "auto"
 8629            ]
 8630          },
 8631          "port": {
 8632            "description": "When debugging webviews, the port the webview debugger is listening on. Will be automatically discovered if not set.",
 8633            "type": "number",
 8634            "default": 9229
 8635          },
 8636          "profileStartup": {
 8637            "description": "If true, will start profiling soon as the process launches",
 8638            "type": "boolean",
 8639            "default": true
 8640          },
 8641          "resolveSourceMapLocations": {
 8642            "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 8643            "type": [
 8644              "array",
 8645              "null"
 8646            ],
 8647            "default": null,
 8648            "items": {
 8649              "type": "string"
 8650            }
 8651          },
 8652          "runtimeArgs": {
 8653            "description": "Optional arguments passed to the runtime executable.",
 8654            "type": "array",
 8655            "default": [],
 8656            "items": {
 8657              "type": "string"
 8658            }
 8659          },
 8660          "runtimeExecutable": {
 8661            "description": "Either 'canary', 'stable', 'dev', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or EDGE_PATH environment variable.",
 8662            "type": [
 8663              "string",
 8664              "null"
 8665            ],
 8666            "default": "stable"
 8667          },
 8668          "server": {
 8669            "oneOf": [
 8670              {
 8671                "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
 8672                "type": "object",
 8673                "properties": {
 8674                  "args": {
 8675                    "description": "Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.",
 8676                    "type": [
 8677                      "array",
 8678                      "string"
 8679                    ],
 8680                    "default": [],
 8681                    "items": {
 8682                      "type": "string"
 8683                    },
 8684                    "tags": [
 8685                      "setup"
 8686                    ]
 8687                  },
 8688                  "attachSimplePort": {
 8689                    "description": "If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.",
 8690                    "default": 9229,
 8691                    "oneOf": [
 8692                      {
 8693                        "type": "integer"
 8694                      },
 8695                      {
 8696                        "type": "string",
 8697                        "pattern": "^\\${.*}$"
 8698                      }
 8699                    ]
 8700                  },
 8701                  "autoAttachChildProcesses": {
 8702                    "description": "Attach debugger to new child processes automatically.",
 8703                    "type": "boolean",
 8704                    "default": true
 8705                  },
 8706                  "cascadeTerminateToConfigurations": {
 8707                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 8708                    "type": "array",
 8709                    "default": [],
 8710                    "items": {
 8711                      "type": "string",
 8712                      "uniqueItems": true
 8713                    }
 8714                  },
 8715                  "console": {
 8716                    "description": "Where to launch the debug target.",
 8717                    "type": "string",
 8718                    "default": "internalConsole",
 8719                    "enum": [
 8720                      "internalConsole",
 8721                      "integratedTerminal",
 8722                      "externalTerminal"
 8723                    ],
 8724                    "enumDescriptions": [
 8725                      "VS Code Debug Console (which doesn't support to read input from a program)",
 8726                      "VS Code's integrated terminal",
 8727                      "External terminal that can be configured via user settings"
 8728                    ]
 8729                  },
 8730                  "customDescriptionGenerator": {
 8731                    "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 8732                    "type": "string"
 8733                  },
 8734                  "customPropertiesGenerator": {
 8735                    "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 8736                    "type": "string",
 8737                    "deprecated": true
 8738                  },
 8739                  "cwd": {
 8740                    "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
 8741                    "type": "string",
 8742                    "default": "${ZED_WORKTREE_ROOT}",
 8743                    "tags": [
 8744                      "setup"
 8745                    ]
 8746                  },
 8747                  "enableContentValidation": {
 8748                    "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 8749                    "type": "boolean",
 8750                    "default": true
 8751                  },
 8752                  "enableDWARF": {
 8753                    "type": "boolean",
 8754                    "default": true,
 8755                    "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 8756                  },
 8757                  "env": {
 8758                    "type": "object",
 8759                    "additionalProperties": {
 8760                      "type": [
 8761                        "string",
 8762                        "null"
 8763                      ]
 8764                    },
 8765                    "default": {},
 8766                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 8767                    "tags": [
 8768                      "setup"
 8769                    ]
 8770                  },
 8771                  "envFile": {
 8772                    "description": "Absolute path to a file containing environment variable definitions.",
 8773                    "type": "string",
 8774                    "default": "${ZED_WORKTREE_ROOT}/.env"
 8775                  },
 8776                  "experimentalNetworking": {
 8777                    "description": "Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.",
 8778                    "type": "string",
 8779                    "default": "auto",
 8780                    "enum": [
 8781                      "auto",
 8782                      "on",
 8783                      "off"
 8784                    ]
 8785                  },
 8786                  "killBehavior": {
 8787                    "type": "string",
 8788                    "default": "forceful",
 8789                    "enum": [
 8790                      "forceful",
 8791                      "polite",
 8792                      "none"
 8793                    ],
 8794                    "markdownDescription": "Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."
 8795                  },
 8796                  "localRoot": {
 8797                    "description": "Path to the local directory containing the program.",
 8798                    "type": [
 8799                      "string",
 8800                      "null"
 8801                    ],
 8802                    "default": null
 8803                  },
 8804                  "nodeVersionHint": {
 8805                    "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
 8806                    "type": "number",
 8807                    "default": 12,
 8808                    "minimum": 8
 8809                  },
 8810                  "outFiles": {
 8811                    "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 8812                    "type": [
 8813                      "array"
 8814                    ],
 8815                    "default": [
 8816                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 8817                      "!**/node_modules/**"
 8818                    ],
 8819                    "items": {
 8820                      "type": "string"
 8821                    },
 8822                    "tags": [
 8823                      "setup"
 8824                    ]
 8825                  },
 8826                  "outputCapture": {
 8827                    "default": "console",
 8828                    "enum": [
 8829                      "console",
 8830                      "std"
 8831                    ],
 8832                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 8833                  },
 8834                  "pauseForSourceMap": {
 8835                    "type": "boolean",
 8836                    "default": false,
 8837                    "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 8838                  },
 8839                  "profileStartup": {
 8840                    "description": "If true, will start profiling as soon as the process launches",
 8841                    "type": "boolean",
 8842                    "default": true
 8843                  },
 8844                  "program": {
 8845                    "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
 8846                    "type": "string",
 8847                    "default": "",
 8848                    "tags": [
 8849                      "setup"
 8850                    ]
 8851                  },
 8852                  "remoteRoot": {
 8853                    "description": "Absolute path to the remote directory containing the program.",
 8854                    "type": [
 8855                      "string",
 8856                      "null"
 8857                    ],
 8858                    "default": null
 8859                  },
 8860                  "resolveSourceMapLocations": {
 8861                    "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 8862                    "type": [
 8863                      "array",
 8864                      "null"
 8865                    ],
 8866                    "default": [
 8867                      "${ZED_WORKTREE_ROOT}/**",
 8868                      "!**/node_modules/**"
 8869                    ],
 8870                    "items": {
 8871                      "type": "string"
 8872                    }
 8873                  },
 8874                  "restart": {
 8875                    "description": "Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.",
 8876                    "default": true,
 8877                    "oneOf": [
 8878                      {
 8879                        "type": "boolean"
 8880                      },
 8881                      {
 8882                        "type": "object",
 8883                        "properties": {
 8884                          "delay": {
 8885                            "type": "number",
 8886                            "default": 1000,
 8887                            "minimum": 0
 8888                          },
 8889                          "maxAttempts": {
 8890                            "type": "number",
 8891                            "default": 10,
 8892                            "minimum": 0
 8893                          }
 8894                        }
 8895                      }
 8896                    ]
 8897                  },
 8898                  "runtimeArgs": {
 8899                    "description": "Optional arguments passed to the runtime executable.",
 8900                    "type": "array",
 8901                    "default": [],
 8902                    "items": {
 8903                      "type": "string"
 8904                    },
 8905                    "tags": [
 8906                      "setup"
 8907                    ]
 8908                  },
 8909                  "runtimeExecutable": {
 8910                    "type": [
 8911                      "string",
 8912                      "null"
 8913                    ],
 8914                    "default": "node",
 8915                    "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
 8916                  },
 8917                  "runtimeSourcemapPausePatterns": {
 8918                    "type": "array",
 8919                    "default": [],
 8920                    "items": {
 8921                      "type": "string"
 8922                    },
 8923                    "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 8924                  },
 8925                  "runtimeVersion": {
 8926                    "type": "string",
 8927                    "default": "default",
 8928                    "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
 8929                  },
 8930                  "showAsyncStacks": {
 8931                    "description": "Show the async calls that led to the current call stack.",
 8932                    "default": true,
 8933                    "oneOf": [
 8934                      {
 8935                        "type": "boolean"
 8936                      },
 8937                      {
 8938                        "type": "object",
 8939                        "properties": {
 8940                          "onAttach": {
 8941                            "type": "number",
 8942                            "default": 32
 8943                          }
 8944                        },
 8945                        "required": [
 8946                          "onAttach"
 8947                        ]
 8948                      },
 8949                      {
 8950                        "type": "object",
 8951                        "properties": {
 8952                          "onceBreakpointResolved": {
 8953                            "type": "number",
 8954                            "default": 32
 8955                          }
 8956                        },
 8957                        "required": [
 8958                          "onceBreakpointResolved"
 8959                        ]
 8960                      }
 8961                    ]
 8962                  },
 8963                  "skipFiles": {
 8964                    "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 8965                    "type": "array",
 8966                    "default": [
 8967                      "${/**"
 8968                    ]
 8969                  },
 8970                  "smartStep": {
 8971                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 8972                    "type": "boolean",
 8973                    "default": true
 8974                  },
 8975                  "sourceMapPathOverrides": {
 8976                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 8977                    "type": "object",
 8978                    "default": {
 8979                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 8980                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 8981                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 8982                    }
 8983                  },
 8984                  "sourceMapRenames": {
 8985                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 8986                    "type": "boolean",
 8987                    "default": true
 8988                  },
 8989                  "sourceMaps": {
 8990                    "description": "Use JavaScript source maps (if they exist).",
 8991                    "type": "boolean",
 8992                    "default": true
 8993                  },
 8994                  "stopOnEntry": {
 8995                    "description": "Automatically stop program after launch.",
 8996                    "type": [
 8997                      "boolean",
 8998                      "string"
 8999                    ],
 9000                    "default": true
 9001                  },
 9002                  "timeout": {
 9003                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 9004                    "type": "number",
 9005                    "default": 10000
 9006                  },
 9007                  "timeouts": {
 9008                    "description": "Timeouts for several debugger operations.",
 9009                    "type": "object",
 9010                    "properties": {
 9011                      "hoverEvaluation": {
 9012                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 9013                        "type": "number",
 9014                        "default": 500
 9015                      },
 9016                      "sourceMapCumulativePause": {
 9017                        "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 9018                        "type": "number",
 9019                        "default": 1000
 9020                      },
 9021                      "sourceMapMinPause": {
 9022                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 9023                        "type": "number",
 9024                        "default": 1000
 9025                      }
 9026                    },
 9027                    "additionalProperties": false,
 9028                    "default": {},
 9029                    "markdownDescription": "Timeouts for several debugger operations."
 9030                  },
 9031                  "trace": {
 9032                    "description": "Configures what diagnostic output is produced.",
 9033                    "default": true,
 9034                    "oneOf": [
 9035                      {
 9036                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 9037                        "type": "boolean"
 9038                      },
 9039                      {
 9040                        "type": "object",
 9041                        "properties": {
 9042                          "logFile": {
 9043                            "description": "Configures where on disk logs are written.",
 9044                            "type": [
 9045                              "string",
 9046                              "null"
 9047                            ]
 9048                          },
 9049                          "stdio": {
 9050                            "description": "Whether to return trace data from the launched application or browser.",
 9051                            "type": "boolean"
 9052                          }
 9053                        },
 9054                        "additionalProperties": false
 9055                      }
 9056                    ]
 9057                  }
 9058                },
 9059                "additionalProperties": false,
 9060                "default": {
 9061                  "program": "node my-server.js"
 9062                }
 9063              },
 9064              {
 9065                "description": "JavaScript Debug Terminal",
 9066                "type": "object",
 9067                "properties": {
 9068                  "autoAttachChildProcesses": {
 9069                    "description": "Attach debugger to new child processes automatically.",
 9070                    "type": "boolean",
 9071                    "default": true
 9072                  },
 9073                  "cascadeTerminateToConfigurations": {
 9074                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 9075                    "type": "array",
 9076                    "default": [],
 9077                    "items": {
 9078                      "type": "string",
 9079                      "uniqueItems": true
 9080                    }
 9081                  },
 9082                  "command": {
 9083                    "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
 9084                    "type": [
 9085                      "string",
 9086                      "null"
 9087                    ],
 9088                    "default": "npm start",
 9089                    "tags": [
 9090                      "setup"
 9091                    ]
 9092                  },
 9093                  "customDescriptionGenerator": {
 9094                    "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 9095                    "type": "string"
 9096                  },
 9097                  "customPropertiesGenerator": {
 9098                    "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 9099                    "type": "string",
 9100                    "deprecated": true
 9101                  },
 9102                  "cwd": {
 9103                    "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
 9104                    "type": "string",
 9105                    "default": "${ZED_WORKTREE_ROOT}",
 9106                    "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
 9107                    "tags": [
 9108                      "setup"
 9109                    ]
 9110                  },
 9111                  "enableContentValidation": {
 9112                    "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 9113                    "type": "boolean",
 9114                    "default": true
 9115                  },
 9116                  "enableDWARF": {
 9117                    "type": "boolean",
 9118                    "default": true,
 9119                    "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 9120                  },
 9121                  "env": {
 9122                    "type": "object",
 9123                    "additionalProperties": {
 9124                      "type": [
 9125                        "string",
 9126                        "null"
 9127                      ]
 9128                    },
 9129                    "default": {},
 9130                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 9131                    "tags": [
 9132                      "setup"
 9133                    ]
 9134                  },
 9135                  "envFile": {
 9136                    "description": "Absolute path to a file containing environment variable definitions.",
 9137                    "type": "string",
 9138                    "default": "${ZED_WORKTREE_ROOT}/.env"
 9139                  },
 9140                  "localRoot": {
 9141                    "description": "Path to the local directory containing the program.",
 9142                    "type": [
 9143                      "string",
 9144                      "null"
 9145                    ],
 9146                    "default": null
 9147                  },
 9148                  "nodeVersionHint": {
 9149                    "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
 9150                    "type": "number",
 9151                    "default": 12,
 9152                    "minimum": 8
 9153                  },
 9154                  "outFiles": {
 9155                    "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 9156                    "type": [
 9157                      "array"
 9158                    ],
 9159                    "default": [
 9160                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 9161                      "!**/node_modules/**"
 9162                    ],
 9163                    "items": {
 9164                      "type": "string"
 9165                    },
 9166                    "tags": [
 9167                      "setup"
 9168                    ]
 9169                  },
 9170                  "outputCapture": {
 9171                    "default": "console",
 9172                    "enum": [
 9173                      "console",
 9174                      "std"
 9175                    ],
 9176                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 9177                  },
 9178                  "pauseForSourceMap": {
 9179                    "type": "boolean",
 9180                    "default": false,
 9181                    "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 9182                  },
 9183                  "remoteRoot": {
 9184                    "description": "Absolute path to the remote directory containing the program.",
 9185                    "type": [
 9186                      "string",
 9187                      "null"
 9188                    ],
 9189                    "default": null
 9190                  },
 9191                  "resolveSourceMapLocations": {
 9192                    "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 9193                    "type": [
 9194                      "array",
 9195                      "null"
 9196                    ],
 9197                    "default": [
 9198                      "${ZED_WORKTREE_ROOT}/**",
 9199                      "!**/node_modules/**"
 9200                    ],
 9201                    "items": {
 9202                      "type": "string"
 9203                    }
 9204                  },
 9205                  "runtimeSourcemapPausePatterns": {
 9206                    "type": "array",
 9207                    "default": [],
 9208                    "items": {
 9209                      "type": "string"
 9210                    },
 9211                    "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 9212                  },
 9213                  "showAsyncStacks": {
 9214                    "description": "Show the async calls that led to the current call stack.",
 9215                    "default": true,
 9216                    "oneOf": [
 9217                      {
 9218                        "type": "boolean"
 9219                      },
 9220                      {
 9221                        "type": "object",
 9222                        "properties": {
 9223                          "onAttach": {
 9224                            "type": "number",
 9225                            "default": 32
 9226                          }
 9227                        },
 9228                        "required": [
 9229                          "onAttach"
 9230                        ]
 9231                      },
 9232                      {
 9233                        "type": "object",
 9234                        "properties": {
 9235                          "onceBreakpointResolved": {
 9236                            "type": "number",
 9237                            "default": 32
 9238                          }
 9239                        },
 9240                        "required": [
 9241                          "onceBreakpointResolved"
 9242                        ]
 9243                      }
 9244                    ]
 9245                  },
 9246                  "skipFiles": {
 9247                    "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 9248                    "type": "array",
 9249                    "default": [
 9250                      "${/**"
 9251                    ]
 9252                  },
 9253                  "smartStep": {
 9254                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 9255                    "type": "boolean",
 9256                    "default": true
 9257                  },
 9258                  "sourceMapPathOverrides": {
 9259                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 9260                    "type": "object",
 9261                    "default": {
 9262                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 9263                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 9264                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 9265                    }
 9266                  },
 9267                  "sourceMapRenames": {
 9268                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 9269                    "type": "boolean",
 9270                    "default": true
 9271                  },
 9272                  "sourceMaps": {
 9273                    "description": "Use JavaScript source maps (if they exist).",
 9274                    "type": "boolean",
 9275                    "default": true
 9276                  },
 9277                  "timeout": {
 9278                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 9279                    "type": "number",
 9280                    "default": 10000
 9281                  },
 9282                  "timeouts": {
 9283                    "description": "Timeouts for several debugger operations.",
 9284                    "type": "object",
 9285                    "properties": {
 9286                      "hoverEvaluation": {
 9287                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 9288                        "type": "number",
 9289                        "default": 500
 9290                      },
 9291                      "sourceMapCumulativePause": {
 9292                        "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 9293                        "type": "number",
 9294                        "default": 1000
 9295                      },
 9296                      "sourceMapMinPause": {
 9297                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 9298                        "type": "number",
 9299                        "default": 1000
 9300                      }
 9301                    },
 9302                    "additionalProperties": false,
 9303                    "default": {},
 9304                    "markdownDescription": "Timeouts for several debugger operations."
 9305                  },
 9306                  "trace": {
 9307                    "description": "Configures what diagnostic output is produced.",
 9308                    "default": true,
 9309                    "oneOf": [
 9310                      {
 9311                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 9312                        "type": "boolean"
 9313                      },
 9314                      {
 9315                        "type": "object",
 9316                        "properties": {
 9317                          "logFile": {
 9318                            "description": "Configures where on disk logs are written.",
 9319                            "type": [
 9320                              "string",
 9321                              "null"
 9322                            ]
 9323                          },
 9324                          "stdio": {
 9325                            "description": "Whether to return trace data from the launched application or browser.",
 9326                            "type": "boolean"
 9327                          }
 9328                        },
 9329                        "additionalProperties": false
 9330                      }
 9331                    ]
 9332                  }
 9333                },
 9334                "additionalProperties": false,
 9335                "default": {
 9336                  "program": "npm start"
 9337                }
 9338              }
 9339            ]
 9340          },
 9341          "showAsyncStacks": {
 9342            "description": "Show the async calls that led to the current call stack.",
 9343            "default": true,
 9344            "oneOf": [
 9345              {
 9346                "type": "boolean"
 9347              },
 9348              {
 9349                "type": "object",
 9350                "properties": {
 9351                  "onAttach": {
 9352                    "type": "number",
 9353                    "default": 32
 9354                  }
 9355                },
 9356                "required": [
 9357                  "onAttach"
 9358                ]
 9359              },
 9360              {
 9361                "type": "object",
 9362                "properties": {
 9363                  "onceBreakpointResolved": {
 9364                    "type": "number",
 9365                    "default": 32
 9366                  }
 9367                },
 9368                "required": [
 9369                  "onceBreakpointResolved"
 9370                ]
 9371              }
 9372            ]
 9373          },
 9374          "skipFiles": {
 9375            "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 9376            "type": "array",
 9377            "default": [
 9378              "${/**"
 9379            ]
 9380          },
 9381          "smartStep": {
 9382            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 9383            "type": "boolean",
 9384            "default": true
 9385          },
 9386          "sourceMapPathOverrides": {
 9387            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 9388            "type": "object",
 9389            "default": {
 9390              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 9391              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 9392              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 9393            }
 9394          },
 9395          "sourceMapRenames": {
 9396            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 9397            "type": "boolean",
 9398            "default": true
 9399          },
 9400          "sourceMaps": {
 9401            "description": "Use JavaScript source maps (if they exist).",
 9402            "type": "boolean",
 9403            "default": true
 9404          },
 9405          "timeout": {
 9406            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 9407            "type": "number",
 9408            "default": 10000
 9409          },
 9410          "timeouts": {
 9411            "description": "Timeouts for several debugger operations.",
 9412            "type": "object",
 9413            "properties": {
 9414              "hoverEvaluation": {
 9415                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 9416                "type": "number",
 9417                "default": 500
 9418              },
 9419              "sourceMapCumulativePause": {
 9420                "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
 9421                "type": "number",
 9422                "default": 1000
 9423              },
 9424              "sourceMapMinPause": {
 9425                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 9426                "type": "number",
 9427                "default": 1000
 9428              }
 9429            },
 9430            "additionalProperties": false,
 9431            "default": {},
 9432            "markdownDescription": "Timeouts for several debugger operations."
 9433          },
 9434          "trace": {
 9435            "description": "Configures what diagnostic output is produced.",
 9436            "default": true,
 9437            "oneOf": [
 9438              {
 9439                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 9440                "type": "boolean"
 9441              },
 9442              {
 9443                "type": "object",
 9444                "properties": {
 9445                  "logFile": {
 9446                    "description": "Configures where on disk logs are written.",
 9447                    "type": [
 9448                      "string",
 9449                      "null"
 9450                    ]
 9451                  },
 9452                  "stdio": {
 9453                    "description": "Whether to return trace data from the launched application or browser.",
 9454                    "type": "boolean"
 9455                  }
 9456                },
 9457                "additionalProperties": false
 9458              }
 9459            ]
 9460          },
 9461          "url": {
 9462            "description": "Will search for a tab with this exact url and attach to it, if found",
 9463            "type": "string",
 9464            "default": "http://localhost:8080",
 9465            "tags": [
 9466              "setup"
 9467            ]
 9468          },
 9469          "urlFilter": {
 9470            "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
 9471            "type": "string",
 9472            "default": ""
 9473          },
 9474          "useWebView": {
 9475            "description": "When 'true', the debugger will treat the runtime executable as a host application that contains a WebView allowing you to debug the WebView script content.",
 9476            "type": "boolean",
 9477            "default": false
 9478          },
 9479          "userDataDir": {
 9480            "description": "By default, the browser is launched with a separate user profile in a temp folder. Use this option to override it. Set to false to launch with your default user profile. A new browser can't be launched if an instance is already running from `userDataDir`.",
 9481            "type": [
 9482              "string",
 9483              "boolean"
 9484            ],
 9485            "default": true
 9486          },
 9487          "vueComponentPaths": {
 9488            "description": "A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.",
 9489            "type": "array",
 9490            "default": [
 9491              "${ZED_WORKTREE_ROOT}/**/*.vue"
 9492            ]
 9493          },
 9494          "webRoot": {
 9495            "description": "This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"",
 9496            "type": "string",
 9497            "default": "${ZED_WORKTREE_ROOT}",
 9498            "tags": [
 9499              "setup"
 9500            ]
 9501          }
 9502        }
 9503      }
 9504    },
 9505    {
 9506      "if": {
 9507        "properties": {
 9508          "type": {
 9509            "enum": [
 9510              "pwa-msedge"
 9511            ]
 9512          },
 9513          "request": {
 9514            "enum": [
 9515              "attach"
 9516            ]
 9517          }
 9518        },
 9519        "required": [
 9520          "type",
 9521          "request"
 9522        ]
 9523      },
 9524      "then": {
 9525        "properties": {
 9526          "address": {
 9527            "description": "IP address or hostname the debugged browser is listening on.",
 9528            "type": "string",
 9529            "default": "localhost"
 9530          },
 9531          "browserAttachLocation": {
 9532            "description": "Forces the browser to attach in one location. In a remote workspace (through ssh or WSL, for example) this can be used to attach to a browser on the remote machine rather than locally.",
 9533            "default": null,
 9534            "oneOf": [
 9535              {
 9536                "type": "null"
 9537              },
 9538              {
 9539                "type": "string",
 9540                "enum": [
 9541                  "ui",
 9542                  "workspace"
 9543                ]
 9544              }
 9545            ]
 9546          },
 9547          "cascadeTerminateToConfigurations": {
 9548            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 9549            "type": "array",
 9550            "default": [],
 9551            "items": {
 9552              "type": "string",
 9553              "uniqueItems": true
 9554            }
 9555          },
 9556          "customDescriptionGenerator": {
 9557            "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 9558            "type": "string"
 9559          },
 9560          "customPropertiesGenerator": {
 9561            "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 9562            "type": "string",
 9563            "deprecated": true
 9564          },
 9565          "disableNetworkCache": {
 9566            "description": "Controls whether to skip the network cache for each request",
 9567            "type": "boolean",
 9568            "default": true
 9569          },
 9570          "enableContentValidation": {
 9571            "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 9572            "type": "boolean",
 9573            "default": true
 9574          },
 9575          "enableDWARF": {
 9576            "type": "boolean",
 9577            "default": true,
 9578            "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 9579          },
 9580          "inspectUri": {
 9581            "description": "Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n",
 9582            "type": [
 9583              "string",
 9584              "null"
 9585            ],
 9586            "default": null
 9587          },
 9588          "outFiles": {
 9589            "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 9590            "type": [
 9591              "array"
 9592            ],
 9593            "default": [
 9594              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 9595              "!**/node_modules/**"
 9596            ],
 9597            "items": {
 9598              "type": "string"
 9599            },
 9600            "tags": [
 9601              "setup"
 9602            ]
 9603          },
 9604          "outputCapture": {
 9605            "default": "console",
 9606            "enum": [
 9607              "console",
 9608              "std"
 9609            ],
 9610            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 9611          },
 9612          "pathMapping": {
 9613            "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
 9614            "type": "object",
 9615            "default": {}
 9616          },
 9617          "pauseForSourceMap": {
 9618            "type": "boolean",
 9619            "default": false,
 9620            "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 9621          },
 9622          "perScriptSourcemaps": {
 9623            "description": "Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.",
 9624            "type": "string",
 9625            "default": "auto",
 9626            "enum": [
 9627              "yes",
 9628              "no",
 9629              "auto"
 9630            ]
 9631          },
 9632          "port": {
 9633            "description": "Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.",
 9634            "default": 9229,
 9635            "oneOf": [
 9636              {
 9637                "type": "integer"
 9638              },
 9639              {
 9640                "type": "string",
 9641                "pattern": "^\\${.*}$"
 9642              }
 9643            ],
 9644            "tags": [
 9645              "setup"
 9646            ]
 9647          },
 9648          "resolveSourceMapLocations": {
 9649            "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 9650            "type": [
 9651              "array",
 9652              "null"
 9653            ],
 9654            "default": null,
 9655            "items": {
 9656              "type": "string"
 9657            }
 9658          },
 9659          "restart": {
 9660            "type": "boolean",
 9661            "default": false,
 9662            "markdownDescription": "Whether to reconnect if the browser connection is closed"
 9663          },
 9664          "server": {
 9665            "oneOf": [
 9666              {
 9667                "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
 9668                "type": "object",
 9669                "properties": {
 9670                  "args": {
 9671                    "description": "Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.",
 9672                    "type": [
 9673                      "array",
 9674                      "string"
 9675                    ],
 9676                    "default": [],
 9677                    "items": {
 9678                      "type": "string"
 9679                    },
 9680                    "tags": [
 9681                      "setup"
 9682                    ]
 9683                  },
 9684                  "attachSimplePort": {
 9685                    "description": "If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.",
 9686                    "default": 9229,
 9687                    "oneOf": [
 9688                      {
 9689                        "type": "integer"
 9690                      },
 9691                      {
 9692                        "type": "string",
 9693                        "pattern": "^\\${.*}$"
 9694                      }
 9695                    ]
 9696                  },
 9697                  "autoAttachChildProcesses": {
 9698                    "description": "Attach debugger to new child processes automatically.",
 9699                    "type": "boolean",
 9700                    "default": true
 9701                  },
 9702                  "cascadeTerminateToConfigurations": {
 9703                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 9704                    "type": "array",
 9705                    "default": [],
 9706                    "items": {
 9707                      "type": "string",
 9708                      "uniqueItems": true
 9709                    }
 9710                  },
 9711                  "console": {
 9712                    "description": "Where to launch the debug target.",
 9713                    "type": "string",
 9714                    "default": "internalConsole",
 9715                    "enum": [
 9716                      "internalConsole",
 9717                      "integratedTerminal",
 9718                      "externalTerminal"
 9719                    ],
 9720                    "enumDescriptions": [
 9721                      "VS Code Debug Console (which doesn't support to read input from a program)",
 9722                      "VS Code's integrated terminal",
 9723                      "External terminal that can be configured via user settings"
 9724                    ]
 9725                  },
 9726                  "customDescriptionGenerator": {
 9727                    "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
 9728                    "type": "string"
 9729                  },
 9730                  "customPropertiesGenerator": {
 9731                    "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
 9732                    "type": "string",
 9733                    "deprecated": true
 9734                  },
 9735                  "cwd": {
 9736                    "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
 9737                    "type": "string",
 9738                    "default": "${ZED_WORKTREE_ROOT}",
 9739                    "tags": [
 9740                      "setup"
 9741                    ]
 9742                  },
 9743                  "enableContentValidation": {
 9744                    "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
 9745                    "type": "boolean",
 9746                    "default": true
 9747                  },
 9748                  "enableDWARF": {
 9749                    "type": "boolean",
 9750                    "default": true,
 9751                    "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
 9752                  },
 9753                  "env": {
 9754                    "type": "object",
 9755                    "additionalProperties": {
 9756                      "type": [
 9757                        "string",
 9758                        "null"
 9759                      ]
 9760                    },
 9761                    "default": {},
 9762                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 9763                    "tags": [
 9764                      "setup"
 9765                    ]
 9766                  },
 9767                  "envFile": {
 9768                    "description": "Absolute path to a file containing environment variable definitions.",
 9769                    "type": "string",
 9770                    "default": "${ZED_WORKTREE_ROOT}/.env"
 9771                  },
 9772                  "experimentalNetworking": {
 9773                    "description": "Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.",
 9774                    "type": "string",
 9775                    "default": "auto",
 9776                    "enum": [
 9777                      "auto",
 9778                      "on",
 9779                      "off"
 9780                    ]
 9781                  },
 9782                  "killBehavior": {
 9783                    "type": "string",
 9784                    "default": "forceful",
 9785                    "enum": [
 9786                      "forceful",
 9787                      "polite",
 9788                      "none"
 9789                    ],
 9790                    "markdownDescription": "Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."
 9791                  },
 9792                  "localRoot": {
 9793                    "description": "Path to the local directory containing the program.",
 9794                    "type": [
 9795                      "string",
 9796                      "null"
 9797                    ],
 9798                    "default": null
 9799                  },
 9800                  "nodeVersionHint": {
 9801                    "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
 9802                    "type": "number",
 9803                    "default": 12,
 9804                    "minimum": 8
 9805                  },
 9806                  "outFiles": {
 9807                    "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
 9808                    "type": [
 9809                      "array"
 9810                    ],
 9811                    "default": [
 9812                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 9813                      "!**/node_modules/**"
 9814                    ],
 9815                    "items": {
 9816                      "type": "string"
 9817                    },
 9818                    "tags": [
 9819                      "setup"
 9820                    ]
 9821                  },
 9822                  "outputCapture": {
 9823                    "default": "console",
 9824                    "enum": [
 9825                      "console",
 9826                      "std"
 9827                    ],
 9828                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 9829                  },
 9830                  "pauseForSourceMap": {
 9831                    "type": "boolean",
 9832                    "default": false,
 9833                    "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
 9834                  },
 9835                  "profileStartup": {
 9836                    "description": "If true, will start profiling as soon as the process launches",
 9837                    "type": "boolean",
 9838                    "default": true
 9839                  },
 9840                  "program": {
 9841                    "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
 9842                    "type": "string",
 9843                    "default": "",
 9844                    "tags": [
 9845                      "setup"
 9846                    ]
 9847                  },
 9848                  "remoteRoot": {
 9849                    "description": "Absolute path to the remote directory containing the program.",
 9850                    "type": [
 9851                      "string",
 9852                      "null"
 9853                    ],
 9854                    "default": null
 9855                  },
 9856                  "resolveSourceMapLocations": {
 9857                    "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
 9858                    "type": [
 9859                      "array",
 9860                      "null"
 9861                    ],
 9862                    "default": [
 9863                      "${ZED_WORKTREE_ROOT}/**",
 9864                      "!**/node_modules/**"
 9865                    ],
 9866                    "items": {
 9867                      "type": "string"
 9868                    }
 9869                  },
 9870                  "restart": {
 9871                    "description": "Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.",
 9872                    "default": true,
 9873                    "oneOf": [
 9874                      {
 9875                        "type": "boolean"
 9876                      },
 9877                      {
 9878                        "type": "object",
 9879                        "properties": {
 9880                          "delay": {
 9881                            "type": "number",
 9882                            "default": 1000,
 9883                            "minimum": 0
 9884                          },
 9885                          "maxAttempts": {
 9886                            "type": "number",
 9887                            "default": 10,
 9888                            "minimum": 0
 9889                          }
 9890                        }
 9891                      }
 9892                    ]
 9893                  },
 9894                  "runtimeArgs": {
 9895                    "description": "Optional arguments passed to the runtime executable.",
 9896                    "type": "array",
 9897                    "default": [],
 9898                    "items": {
 9899                      "type": "string"
 9900                    },
 9901                    "tags": [
 9902                      "setup"
 9903                    ]
 9904                  },
 9905                  "runtimeExecutable": {
 9906                    "type": [
 9907                      "string",
 9908                      "null"
 9909                    ],
 9910                    "default": "node",
 9911                    "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
 9912                  },
 9913                  "runtimeSourcemapPausePatterns": {
 9914                    "type": "array",
 9915                    "default": [],
 9916                    "items": {
 9917                      "type": "string"
 9918                    },
 9919                    "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
 9920                  },
 9921                  "runtimeVersion": {
 9922                    "type": "string",
 9923                    "default": "default",
 9924                    "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
 9925                  },
 9926                  "showAsyncStacks": {
 9927                    "description": "Show the async calls that led to the current call stack.",
 9928                    "default": true,
 9929                    "oneOf": [
 9930                      {
 9931                        "type": "boolean"
 9932                      },
 9933                      {
 9934                        "type": "object",
 9935                        "properties": {
 9936                          "onAttach": {
 9937                            "type": "number",
 9938                            "default": 32
 9939                          }
 9940                        },
 9941                        "required": [
 9942                          "onAttach"
 9943                        ]
 9944                      },
 9945                      {
 9946                        "type": "object",
 9947                        "properties": {
 9948                          "onceBreakpointResolved": {
 9949                            "type": "number",
 9950                            "default": 32
 9951                          }
 9952                        },
 9953                        "required": [
 9954                          "onceBreakpointResolved"
 9955                        ]
 9956                      }
 9957                    ]
 9958                  },
 9959                  "skipFiles": {
 9960                    "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
 9961                    "type": "array",
 9962                    "default": [
 9963                      "${/**"
 9964                    ]
 9965                  },
 9966                  "smartStep": {
 9967                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 9968                    "type": "boolean",
 9969                    "default": true
 9970                  },
 9971                  "sourceMapPathOverrides": {
 9972                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 9973                    "type": "object",
 9974                    "default": {
 9975                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 9976                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 9977                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 9978                    }
 9979                  },
 9980                  "sourceMapRenames": {
 9981                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 9982                    "type": "boolean",
 9983                    "default": true
 9984                  },
 9985                  "sourceMaps": {
 9986                    "description": "Use JavaScript source maps (if they exist).",
 9987                    "type": "boolean",
 9988                    "default": true
 9989                  },
 9990                  "stopOnEntry": {
 9991                    "description": "Automatically stop program after launch.",
 9992                    "type": [
 9993                      "boolean",
 9994                      "string"
 9995                    ],
 9996                    "default": true
 9997                  },
 9998                  "timeout": {
 9999                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
10000                    "type": "number",
10001                    "default": 10000
10002                  },
10003                  "timeouts": {
10004                    "description": "Timeouts for several debugger operations.",
10005                    "type": "object",
10006                    "properties": {
10007                      "hoverEvaluation": {
10008                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
10009                        "type": "number",
10010                        "default": 500
10011                      },
10012                      "sourceMapCumulativePause": {
10013                        "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
10014                        "type": "number",
10015                        "default": 1000
10016                      },
10017                      "sourceMapMinPause": {
10018                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
10019                        "type": "number",
10020                        "default": 1000
10021                      }
10022                    },
10023                    "additionalProperties": false,
10024                    "default": {},
10025                    "markdownDescription": "Timeouts for several debugger operations."
10026                  },
10027                  "trace": {
10028                    "description": "Configures what diagnostic output is produced.",
10029                    "default": true,
10030                    "oneOf": [
10031                      {
10032                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
10033                        "type": "boolean"
10034                      },
10035                      {
10036                        "type": "object",
10037                        "properties": {
10038                          "logFile": {
10039                            "description": "Configures where on disk logs are written.",
10040                            "type": [
10041                              "string",
10042                              "null"
10043                            ]
10044                          },
10045                          "stdio": {
10046                            "description": "Whether to return trace data from the launched application or browser.",
10047                            "type": "boolean"
10048                          }
10049                        },
10050                        "additionalProperties": false
10051                      }
10052                    ]
10053                  }
10054                },
10055                "additionalProperties": false,
10056                "default": {
10057                  "program": "node my-server.js"
10058                }
10059              },
10060              {
10061                "description": "JavaScript Debug Terminal",
10062                "type": "object",
10063                "properties": {
10064                  "autoAttachChildProcesses": {
10065                    "description": "Attach debugger to new child processes automatically.",
10066                    "type": "boolean",
10067                    "default": true
10068                  },
10069                  "cascadeTerminateToConfigurations": {
10070                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
10071                    "type": "array",
10072                    "default": [],
10073                    "items": {
10074                      "type": "string",
10075                      "uniqueItems": true
10076                    }
10077                  },
10078                  "command": {
10079                    "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
10080                    "type": [
10081                      "string",
10082                      "null"
10083                    ],
10084                    "default": "npm start",
10085                    "tags": [
10086                      "setup"
10087                    ]
10088                  },
10089                  "customDescriptionGenerator": {
10090                    "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
10091                    "type": "string"
10092                  },
10093                  "customPropertiesGenerator": {
10094                    "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
10095                    "type": "string",
10096                    "deprecated": true
10097                  },
10098                  "cwd": {
10099                    "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
10100                    "type": "string",
10101                    "default": "${ZED_WORKTREE_ROOT}",
10102                    "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
10103                    "tags": [
10104                      "setup"
10105                    ]
10106                  },
10107                  "enableContentValidation": {
10108                    "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
10109                    "type": "boolean",
10110                    "default": true
10111                  },
10112                  "enableDWARF": {
10113                    "type": "boolean",
10114                    "default": true,
10115                    "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
10116                  },
10117                  "env": {
10118                    "type": "object",
10119                    "additionalProperties": {
10120                      "type": [
10121                        "string",
10122                        "null"
10123                      ]
10124                    },
10125                    "default": {},
10126                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
10127                    "tags": [
10128                      "setup"
10129                    ]
10130                  },
10131                  "envFile": {
10132                    "description": "Absolute path to a file containing environment variable definitions.",
10133                    "type": "string",
10134                    "default": "${ZED_WORKTREE_ROOT}/.env"
10135                  },
10136                  "localRoot": {
10137                    "description": "Path to the local directory containing the program.",
10138                    "type": [
10139                      "string",
10140                      "null"
10141                    ],
10142                    "default": null
10143                  },
10144                  "nodeVersionHint": {
10145                    "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
10146                    "type": "number",
10147                    "default": 12,
10148                    "minimum": 8
10149                  },
10150                  "outFiles": {
10151                    "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
10152                    "type": [
10153                      "array"
10154                    ],
10155                    "default": [
10156                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
10157                      "!**/node_modules/**"
10158                    ],
10159                    "items": {
10160                      "type": "string"
10161                    },
10162                    "tags": [
10163                      "setup"
10164                    ]
10165                  },
10166                  "outputCapture": {
10167                    "default": "console",
10168                    "enum": [
10169                      "console",
10170                      "std"
10171                    ],
10172                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
10173                  },
10174                  "pauseForSourceMap": {
10175                    "type": "boolean",
10176                    "default": false,
10177                    "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
10178                  },
10179                  "remoteRoot": {
10180                    "description": "Absolute path to the remote directory containing the program.",
10181                    "type": [
10182                      "string",
10183                      "null"
10184                    ],
10185                    "default": null
10186                  },
10187                  "resolveSourceMapLocations": {
10188                    "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
10189                    "type": [
10190                      "array",
10191                      "null"
10192                    ],
10193                    "default": [
10194                      "${ZED_WORKTREE_ROOT}/**",
10195                      "!**/node_modules/**"
10196                    ],
10197                    "items": {
10198                      "type": "string"
10199                    }
10200                  },
10201                  "runtimeSourcemapPausePatterns": {
10202                    "type": "array",
10203                    "default": [],
10204                    "items": {
10205                      "type": "string"
10206                    },
10207                    "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
10208                  },
10209                  "showAsyncStacks": {
10210                    "description": "Show the async calls that led to the current call stack.",
10211                    "default": true,
10212                    "oneOf": [
10213                      {
10214                        "type": "boolean"
10215                      },
10216                      {
10217                        "type": "object",
10218                        "properties": {
10219                          "onAttach": {
10220                            "type": "number",
10221                            "default": 32
10222                          }
10223                        },
10224                        "required": [
10225                          "onAttach"
10226                        ]
10227                      },
10228                      {
10229                        "type": "object",
10230                        "properties": {
10231                          "onceBreakpointResolved": {
10232                            "type": "number",
10233                            "default": 32
10234                          }
10235                        },
10236                        "required": [
10237                          "onceBreakpointResolved"
10238                        ]
10239                      }
10240                    ]
10241                  },
10242                  "skipFiles": {
10243                    "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
10244                    "type": "array",
10245                    "default": [
10246                      "${/**"
10247                    ]
10248                  },
10249                  "smartStep": {
10250                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
10251                    "type": "boolean",
10252                    "default": true
10253                  },
10254                  "sourceMapPathOverrides": {
10255                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
10256                    "type": "object",
10257                    "default": {
10258                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
10259                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
10260                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
10261                    }
10262                  },
10263                  "sourceMapRenames": {
10264                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
10265                    "type": "boolean",
10266                    "default": true
10267                  },
10268                  "sourceMaps": {
10269                    "description": "Use JavaScript source maps (if they exist).",
10270                    "type": "boolean",
10271                    "default": true
10272                  },
10273                  "timeout": {
10274                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
10275                    "type": "number",
10276                    "default": 10000
10277                  },
10278                  "timeouts": {
10279                    "description": "Timeouts for several debugger operations.",
10280                    "type": "object",
10281                    "properties": {
10282                      "hoverEvaluation": {
10283                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
10284                        "type": "number",
10285                        "default": 500
10286                      },
10287                      "sourceMapCumulativePause": {
10288                        "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
10289                        "type": "number",
10290                        "default": 1000
10291                      },
10292                      "sourceMapMinPause": {
10293                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
10294                        "type": "number",
10295                        "default": 1000
10296                      }
10297                    },
10298                    "additionalProperties": false,
10299                    "default": {},
10300                    "markdownDescription": "Timeouts for several debugger operations."
10301                  },
10302                  "trace": {
10303                    "description": "Configures what diagnostic output is produced.",
10304                    "default": true,
10305                    "oneOf": [
10306                      {
10307                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
10308                        "type": "boolean"
10309                      },
10310                      {
10311                        "type": "object",
10312                        "properties": {
10313                          "logFile": {
10314                            "description": "Configures where on disk logs are written.",
10315                            "type": [
10316                              "string",
10317                              "null"
10318                            ]
10319                          },
10320                          "stdio": {
10321                            "description": "Whether to return trace data from the launched application or browser.",
10322                            "type": "boolean"
10323                          }
10324                        },
10325                        "additionalProperties": false
10326                      }
10327                    ]
10328                  }
10329                },
10330                "additionalProperties": false,
10331                "default": {
10332                  "program": "npm start"
10333                }
10334              }
10335            ]
10336          },
10337          "showAsyncStacks": {
10338            "description": "Show the async calls that led to the current call stack.",
10339            "default": true,
10340            "oneOf": [
10341              {
10342                "type": "boolean"
10343              },
10344              {
10345                "type": "object",
10346                "properties": {
10347                  "onAttach": {
10348                    "type": "number",
10349                    "default": 32
10350                  }
10351                },
10352                "required": [
10353                  "onAttach"
10354                ]
10355              },
10356              {
10357                "type": "object",
10358                "properties": {
10359                  "onceBreakpointResolved": {
10360                    "type": "number",
10361                    "default": 32
10362                  }
10363                },
10364                "required": [
10365                  "onceBreakpointResolved"
10366                ]
10367              }
10368            ]
10369          },
10370          "skipFiles": {
10371            "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
10372            "type": "array",
10373            "default": [
10374              "${/**"
10375            ]
10376          },
10377          "smartStep": {
10378            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
10379            "type": "boolean",
10380            "default": true
10381          },
10382          "sourceMapPathOverrides": {
10383            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
10384            "type": "object",
10385            "default": {
10386              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
10387              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
10388              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
10389            }
10390          },
10391          "sourceMapRenames": {
10392            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
10393            "type": "boolean",
10394            "default": true
10395          },
10396          "sourceMaps": {
10397            "description": "Use JavaScript source maps (if they exist).",
10398            "type": "boolean",
10399            "default": true
10400          },
10401          "targetSelection": {
10402            "type": "string",
10403            "default": "automatic",
10404            "enum": [
10405              "pick",
10406              "automatic"
10407            ],
10408            "markdownDescription": "Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\")."
10409          },
10410          "timeout": {
10411            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
10412            "type": "number",
10413            "default": 10000
10414          },
10415          "timeouts": {
10416            "description": "Timeouts for several debugger operations.",
10417            "type": "object",
10418            "properties": {
10419              "hoverEvaluation": {
10420                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
10421                "type": "number",
10422                "default": 500
10423              },
10424              "sourceMapCumulativePause": {
10425                "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
10426                "type": "number",
10427                "default": 1000
10428              },
10429              "sourceMapMinPause": {
10430                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
10431                "type": "number",
10432                "default": 1000
10433              }
10434            },
10435            "additionalProperties": false,
10436            "default": {},
10437            "markdownDescription": "Timeouts for several debugger operations."
10438          },
10439          "trace": {
10440            "description": "Configures what diagnostic output is produced.",
10441            "default": true,
10442            "oneOf": [
10443              {
10444                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
10445                "type": "boolean"
10446              },
10447              {
10448                "type": "object",
10449                "properties": {
10450                  "logFile": {
10451                    "description": "Configures where on disk logs are written.",
10452                    "type": [
10453                      "string",
10454                      "null"
10455                    ]
10456                  },
10457                  "stdio": {
10458                    "description": "Whether to return trace data from the launched application or browser.",
10459                    "type": "boolean"
10460                  }
10461                },
10462                "additionalProperties": false
10463              }
10464            ]
10465          },
10466          "url": {
10467            "description": "Will search for a tab with this exact url and attach to it, if found",
10468            "type": "string",
10469            "default": "http://localhost:8080",
10470            "tags": [
10471              "setup"
10472            ]
10473          },
10474          "urlFilter": {
10475            "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
10476            "type": "string",
10477            "default": ""
10478          },
10479          "useWebView": {
10480            "description": "An object containing the `pipeName` of a debug pipe for a UWP hosted Webview2. This is the \"MyTestSharedMemory\" when creating the pipe \"\\\\.\\pipe\\LOCAL\\MyTestSharedMemory\"",
10481            "type": "object",
10482            "properties": {
10483              "pipeName": {
10484                "type": "string"
10485              }
10486            },
10487            "default": {
10488              "pipeName": "MyPipeName"
10489            }
10490          },
10491          "vueComponentPaths": {
10492            "description": "A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.",
10493            "type": "array",
10494            "default": [
10495              "${ZED_WORKTREE_ROOT}/**/*.vue"
10496            ]
10497          },
10498          "webRoot": {
10499            "description": "This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"",
10500            "type": "string",
10501            "default": "${ZED_WORKTREE_ROOT}",
10502            "tags": [
10503              "setup"
10504            ]
10505          }
10506        }
10507      }
10508    },
10509    {
10510      "if": {
10511        "properties": {
10512          "type": {
10513            "enum": [
10514              "msedge"
10515            ]
10516          },
10517          "request": {
10518            "enum": [
10519              "launch"
10520            ]
10521          }
10522        },
10523        "required": [
10524          "type",
10525          "request"
10526        ]
10527      },
10528      "then": {
10529        "properties": {
10530          "address": {
10531            "description": "When debugging webviews, the IP address or hostname the webview is listening on. Will be automatically discovered if not set.",
10532            "type": "string",
10533            "default": "localhost"
10534          },
10535          "browserLaunchLocation": {
10536            "description": "Forces the browser to be launched in one location. In a remote workspace (through ssh or WSL, for example) this can be used to open the browser on the remote machine rather than locally.",
10537            "default": null,
10538            "oneOf": [
10539              {
10540                "type": "null"
10541              },
10542              {
10543                "type": "string",
10544                "enum": [
10545                  "ui",
10546                  "workspace"
10547                ]
10548              }
10549            ]
10550          },
10551          "cascadeTerminateToConfigurations": {
10552            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
10553            "type": "array",
10554            "default": [],
10555            "items": {
10556              "type": "string",
10557              "uniqueItems": true
10558            }
10559          },
10560          "cleanUp": {
10561            "description": "What clean-up to do after the debugging session finishes. Close only the tab being debug, vs. close the whole browser.",
10562            "type": "string",
10563            "default": "wholeBrowser",
10564            "enum": [
10565              "wholeBrowser",
10566              "onlyTab"
10567            ]
10568          },
10569          "customDescriptionGenerator": {
10570            "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
10571            "type": "string"
10572          },
10573          "customPropertiesGenerator": {
10574            "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
10575            "type": "string",
10576            "deprecated": true
10577          },
10578          "cwd": {
10579            "description": "Optional working directory for the runtime executable.",
10580            "type": "string",
10581            "default": null
10582          },
10583          "disableNetworkCache": {
10584            "description": "Controls whether to skip the network cache for each request",
10585            "type": "boolean",
10586            "default": true
10587          },
10588          "enableContentValidation": {
10589            "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
10590            "type": "boolean",
10591            "default": true
10592          },
10593          "enableDWARF": {
10594            "type": "boolean",
10595            "default": true,
10596            "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
10597          },
10598          "env": {
10599            "description": "Optional dictionary of environment key/value pairs for the browser.",
10600            "type": "object",
10601            "default": {}
10602          },
10603          "file": {
10604            "description": "A local html file to open in the browser",
10605            "type": "string",
10606            "default": "${ZED_WORKTREE_ROOT}/index.html",
10607            "tags": [
10608              "setup"
10609            ]
10610          },
10611          "includeDefaultArgs": {
10612            "description": "Whether default browser launch arguments (to disable features that may make debugging harder) will be included in the launch.",
10613            "type": "boolean",
10614            "default": true
10615          },
10616          "includeLaunchArgs": {
10617            "description": "Advanced: whether any default launch/debugging arguments are set on the browser. The debugger will assume the browser will use pipe debugging such as that which is provided with `--remote-debugging-pipe`.",
10618            "type": "boolean",
10619            "default": true
10620          },
10621          "inspectUri": {
10622            "description": "Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n",
10623            "type": [
10624              "string",
10625              "null"
10626            ],
10627            "default": null
10628          },
10629          "killBehavior": {
10630            "type": "string",
10631            "default": "forceful",
10632            "enum": [
10633              "forceful",
10634              "polite",
10635              "none"
10636            ],
10637            "markdownDescription": "Configures how browser processes are killed when stopping the session with `cleanUp: wholeBrowser`. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."
10638          },
10639          "outFiles": {
10640            "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
10641            "type": [
10642              "array"
10643            ],
10644            "default": [
10645              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
10646              "!**/node_modules/**"
10647            ],
10648            "items": {
10649              "type": "string"
10650            },
10651            "tags": [
10652              "setup"
10653            ]
10654          },
10655          "outputCapture": {
10656            "default": "console",
10657            "enum": [
10658              "console",
10659              "std"
10660            ],
10661            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
10662          },
10663          "pathMapping": {
10664            "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
10665            "type": "object",
10666            "default": {}
10667          },
10668          "pauseForSourceMap": {
10669            "type": "boolean",
10670            "default": false,
10671            "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
10672          },
10673          "perScriptSourcemaps": {
10674            "description": "Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.",
10675            "type": "string",
10676            "default": "auto",
10677            "enum": [
10678              "yes",
10679              "no",
10680              "auto"
10681            ]
10682          },
10683          "port": {
10684            "description": "When debugging webviews, the port the webview debugger is listening on. Will be automatically discovered if not set.",
10685            "type": "number",
10686            "default": 9229
10687          },
10688          "profileStartup": {
10689            "description": "If true, will start profiling soon as the process launches",
10690            "type": "boolean",
10691            "default": true
10692          },
10693          "resolveSourceMapLocations": {
10694            "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
10695            "type": [
10696              "array",
10697              "null"
10698            ],
10699            "default": null,
10700            "items": {
10701              "type": "string"
10702            }
10703          },
10704          "runtimeArgs": {
10705            "description": "Optional arguments passed to the runtime executable.",
10706            "type": "array",
10707            "default": [],
10708            "items": {
10709              "type": "string"
10710            }
10711          },
10712          "runtimeExecutable": {
10713            "description": "Either 'canary', 'stable', 'dev', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or EDGE_PATH environment variable.",
10714            "type": [
10715              "string",
10716              "null"
10717            ],
10718            "default": "stable"
10719          },
10720          "server": {
10721            "oneOf": [
10722              {
10723                "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
10724                "type": "object",
10725                "properties": {
10726                  "args": {
10727                    "description": "Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.",
10728                    "type": [
10729                      "array",
10730                      "string"
10731                    ],
10732                    "default": [],
10733                    "items": {
10734                      "type": "string"
10735                    },
10736                    "tags": [
10737                      "setup"
10738                    ]
10739                  },
10740                  "attachSimplePort": {
10741                    "description": "If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.",
10742                    "default": 9229,
10743                    "oneOf": [
10744                      {
10745                        "type": "integer"
10746                      },
10747                      {
10748                        "type": "string",
10749                        "pattern": "^\\${.*}$"
10750                      }
10751                    ]
10752                  },
10753                  "autoAttachChildProcesses": {
10754                    "description": "Attach debugger to new child processes automatically.",
10755                    "type": "boolean",
10756                    "default": true
10757                  },
10758                  "cascadeTerminateToConfigurations": {
10759                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
10760                    "type": "array",
10761                    "default": [],
10762                    "items": {
10763                      "type": "string",
10764                      "uniqueItems": true
10765                    }
10766                  },
10767                  "console": {
10768                    "description": "Where to launch the debug target.",
10769                    "type": "string",
10770                    "default": "internalConsole",
10771                    "enum": [
10772                      "internalConsole",
10773                      "integratedTerminal",
10774                      "externalTerminal"
10775                    ],
10776                    "enumDescriptions": [
10777                      "VS Code Debug Console (which doesn't support to read input from a program)",
10778                      "VS Code's integrated terminal",
10779                      "External terminal that can be configured via user settings"
10780                    ]
10781                  },
10782                  "customDescriptionGenerator": {
10783                    "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
10784                    "type": "string"
10785                  },
10786                  "customPropertiesGenerator": {
10787                    "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
10788                    "type": "string",
10789                    "deprecated": true
10790                  },
10791                  "cwd": {
10792                    "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
10793                    "type": "string",
10794                    "default": "${ZED_WORKTREE_ROOT}",
10795                    "tags": [
10796                      "setup"
10797                    ]
10798                  },
10799                  "enableContentValidation": {
10800                    "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
10801                    "type": "boolean",
10802                    "default": true
10803                  },
10804                  "enableDWARF": {
10805                    "type": "boolean",
10806                    "default": true,
10807                    "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
10808                  },
10809                  "env": {
10810                    "type": "object",
10811                    "additionalProperties": {
10812                      "type": [
10813                        "string",
10814                        "null"
10815                      ]
10816                    },
10817                    "default": {},
10818                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
10819                    "tags": [
10820                      "setup"
10821                    ]
10822                  },
10823                  "envFile": {
10824                    "description": "Absolute path to a file containing environment variable definitions.",
10825                    "type": "string",
10826                    "default": "${ZED_WORKTREE_ROOT}/.env"
10827                  },
10828                  "experimentalNetworking": {
10829                    "description": "Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.",
10830                    "type": "string",
10831                    "default": "auto",
10832                    "enum": [
10833                      "auto",
10834                      "on",
10835                      "off"
10836                    ]
10837                  },
10838                  "killBehavior": {
10839                    "type": "string",
10840                    "default": "forceful",
10841                    "enum": [
10842                      "forceful",
10843                      "polite",
10844                      "none"
10845                    ],
10846                    "markdownDescription": "Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."
10847                  },
10848                  "localRoot": {
10849                    "description": "Path to the local directory containing the program.",
10850                    "type": [
10851                      "string",
10852                      "null"
10853                    ],
10854                    "default": null
10855                  },
10856                  "nodeVersionHint": {
10857                    "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
10858                    "type": "number",
10859                    "default": 12,
10860                    "minimum": 8
10861                  },
10862                  "outFiles": {
10863                    "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
10864                    "type": [
10865                      "array"
10866                    ],
10867                    "default": [
10868                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
10869                      "!**/node_modules/**"
10870                    ],
10871                    "items": {
10872                      "type": "string"
10873                    },
10874                    "tags": [
10875                      "setup"
10876                    ]
10877                  },
10878                  "outputCapture": {
10879                    "default": "console",
10880                    "enum": [
10881                      "console",
10882                      "std"
10883                    ],
10884                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
10885                  },
10886                  "pauseForSourceMap": {
10887                    "type": "boolean",
10888                    "default": false,
10889                    "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
10890                  },
10891                  "profileStartup": {
10892                    "description": "If true, will start profiling as soon as the process launches",
10893                    "type": "boolean",
10894                    "default": true
10895                  },
10896                  "program": {
10897                    "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
10898                    "type": "string",
10899                    "default": "",
10900                    "tags": [
10901                      "setup"
10902                    ]
10903                  },
10904                  "remoteRoot": {
10905                    "description": "Absolute path to the remote directory containing the program.",
10906                    "type": [
10907                      "string",
10908                      "null"
10909                    ],
10910                    "default": null
10911                  },
10912                  "resolveSourceMapLocations": {
10913                    "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
10914                    "type": [
10915                      "array",
10916                      "null"
10917                    ],
10918                    "default": [
10919                      "${ZED_WORKTREE_ROOT}/**",
10920                      "!**/node_modules/**"
10921                    ],
10922                    "items": {
10923                      "type": "string"
10924                    }
10925                  },
10926                  "restart": {
10927                    "description": "Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.",
10928                    "default": true,
10929                    "oneOf": [
10930                      {
10931                        "type": "boolean"
10932                      },
10933                      {
10934                        "type": "object",
10935                        "properties": {
10936                          "delay": {
10937                            "type": "number",
10938                            "default": 1000,
10939                            "minimum": 0
10940                          },
10941                          "maxAttempts": {
10942                            "type": "number",
10943                            "default": 10,
10944                            "minimum": 0
10945                          }
10946                        }
10947                      }
10948                    ]
10949                  },
10950                  "runtimeArgs": {
10951                    "description": "Optional arguments passed to the runtime executable.",
10952                    "type": "array",
10953                    "default": [],
10954                    "items": {
10955                      "type": "string"
10956                    },
10957                    "tags": [
10958                      "setup"
10959                    ]
10960                  },
10961                  "runtimeExecutable": {
10962                    "type": [
10963                      "string",
10964                      "null"
10965                    ],
10966                    "default": "node",
10967                    "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
10968                  },
10969                  "runtimeSourcemapPausePatterns": {
10970                    "type": "array",
10971                    "default": [],
10972                    "items": {
10973                      "type": "string"
10974                    },
10975                    "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
10976                  },
10977                  "runtimeVersion": {
10978                    "type": "string",
10979                    "default": "default",
10980                    "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
10981                  },
10982                  "showAsyncStacks": {
10983                    "description": "Show the async calls that led to the current call stack.",
10984                    "default": true,
10985                    "oneOf": [
10986                      {
10987                        "type": "boolean"
10988                      },
10989                      {
10990                        "type": "object",
10991                        "properties": {
10992                          "onAttach": {
10993                            "type": "number",
10994                            "default": 32
10995                          }
10996                        },
10997                        "required": [
10998                          "onAttach"
10999                        ]
11000                      },
11001                      {
11002                        "type": "object",
11003                        "properties": {
11004                          "onceBreakpointResolved": {
11005                            "type": "number",
11006                            "default": 32
11007                          }
11008                        },
11009                        "required": [
11010                          "onceBreakpointResolved"
11011                        ]
11012                      }
11013                    ]
11014                  },
11015                  "skipFiles": {
11016                    "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
11017                    "type": "array",
11018                    "default": [
11019                      "${/**"
11020                    ]
11021                  },
11022                  "smartStep": {
11023                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
11024                    "type": "boolean",
11025                    "default": true
11026                  },
11027                  "sourceMapPathOverrides": {
11028                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
11029                    "type": "object",
11030                    "default": {
11031                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
11032                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
11033                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
11034                    }
11035                  },
11036                  "sourceMapRenames": {
11037                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
11038                    "type": "boolean",
11039                    "default": true
11040                  },
11041                  "sourceMaps": {
11042                    "description": "Use JavaScript source maps (if they exist).",
11043                    "type": "boolean",
11044                    "default": true
11045                  },
11046                  "stopOnEntry": {
11047                    "description": "Automatically stop program after launch.",
11048                    "type": [
11049                      "boolean",
11050                      "string"
11051                    ],
11052                    "default": true
11053                  },
11054                  "timeout": {
11055                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
11056                    "type": "number",
11057                    "default": 10000
11058                  },
11059                  "timeouts": {
11060                    "description": "Timeouts for several debugger operations.",
11061                    "type": "object",
11062                    "properties": {
11063                      "hoverEvaluation": {
11064                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
11065                        "type": "number",
11066                        "default": 500
11067                      },
11068                      "sourceMapCumulativePause": {
11069                        "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
11070                        "type": "number",
11071                        "default": 1000
11072                      },
11073                      "sourceMapMinPause": {
11074                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
11075                        "type": "number",
11076                        "default": 1000
11077                      }
11078                    },
11079                    "additionalProperties": false,
11080                    "default": {},
11081                    "markdownDescription": "Timeouts for several debugger operations."
11082                  },
11083                  "trace": {
11084                    "description": "Configures what diagnostic output is produced.",
11085                    "default": true,
11086                    "oneOf": [
11087                      {
11088                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
11089                        "type": "boolean"
11090                      },
11091                      {
11092                        "type": "object",
11093                        "properties": {
11094                          "logFile": {
11095                            "description": "Configures where on disk logs are written.",
11096                            "type": [
11097                              "string",
11098                              "null"
11099                            ]
11100                          },
11101                          "stdio": {
11102                            "description": "Whether to return trace data from the launched application or browser.",
11103                            "type": "boolean"
11104                          }
11105                        },
11106                        "additionalProperties": false
11107                      }
11108                    ]
11109                  }
11110                },
11111                "additionalProperties": false,
11112                "default": {
11113                  "program": "node my-server.js"
11114                }
11115              },
11116              {
11117                "description": "JavaScript Debug Terminal",
11118                "type": "object",
11119                "properties": {
11120                  "autoAttachChildProcesses": {
11121                    "description": "Attach debugger to new child processes automatically.",
11122                    "type": "boolean",
11123                    "default": true
11124                  },
11125                  "cascadeTerminateToConfigurations": {
11126                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
11127                    "type": "array",
11128                    "default": [],
11129                    "items": {
11130                      "type": "string",
11131                      "uniqueItems": true
11132                    }
11133                  },
11134                  "command": {
11135                    "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
11136                    "type": [
11137                      "string",
11138                      "null"
11139                    ],
11140                    "default": "npm start",
11141                    "tags": [
11142                      "setup"
11143                    ]
11144                  },
11145                  "customDescriptionGenerator": {
11146                    "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
11147                    "type": "string"
11148                  },
11149                  "customPropertiesGenerator": {
11150                    "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
11151                    "type": "string",
11152                    "deprecated": true
11153                  },
11154                  "cwd": {
11155                    "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
11156                    "type": "string",
11157                    "default": "${ZED_WORKTREE_ROOT}",
11158                    "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
11159                    "tags": [
11160                      "setup"
11161                    ]
11162                  },
11163                  "enableContentValidation": {
11164                    "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
11165                    "type": "boolean",
11166                    "default": true
11167                  },
11168                  "enableDWARF": {
11169                    "type": "boolean",
11170                    "default": true,
11171                    "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
11172                  },
11173                  "env": {
11174                    "type": "object",
11175                    "additionalProperties": {
11176                      "type": [
11177                        "string",
11178                        "null"
11179                      ]
11180                    },
11181                    "default": {},
11182                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
11183                    "tags": [
11184                      "setup"
11185                    ]
11186                  },
11187                  "envFile": {
11188                    "description": "Absolute path to a file containing environment variable definitions.",
11189                    "type": "string",
11190                    "default": "${ZED_WORKTREE_ROOT}/.env"
11191                  },
11192                  "localRoot": {
11193                    "description": "Path to the local directory containing the program.",
11194                    "type": [
11195                      "string",
11196                      "null"
11197                    ],
11198                    "default": null
11199                  },
11200                  "nodeVersionHint": {
11201                    "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
11202                    "type": "number",
11203                    "default": 12,
11204                    "minimum": 8
11205                  },
11206                  "outFiles": {
11207                    "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
11208                    "type": [
11209                      "array"
11210                    ],
11211                    "default": [
11212                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
11213                      "!**/node_modules/**"
11214                    ],
11215                    "items": {
11216                      "type": "string"
11217                    },
11218                    "tags": [
11219                      "setup"
11220                    ]
11221                  },
11222                  "outputCapture": {
11223                    "default": "console",
11224                    "enum": [
11225                      "console",
11226                      "std"
11227                    ],
11228                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
11229                  },
11230                  "pauseForSourceMap": {
11231                    "type": "boolean",
11232                    "default": false,
11233                    "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
11234                  },
11235                  "remoteRoot": {
11236                    "description": "Absolute path to the remote directory containing the program.",
11237                    "type": [
11238                      "string",
11239                      "null"
11240                    ],
11241                    "default": null
11242                  },
11243                  "resolveSourceMapLocations": {
11244                    "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
11245                    "type": [
11246                      "array",
11247                      "null"
11248                    ],
11249                    "default": [
11250                      "${ZED_WORKTREE_ROOT}/**",
11251                      "!**/node_modules/**"
11252                    ],
11253                    "items": {
11254                      "type": "string"
11255                    }
11256                  },
11257                  "runtimeSourcemapPausePatterns": {
11258                    "type": "array",
11259                    "default": [],
11260                    "items": {
11261                      "type": "string"
11262                    },
11263                    "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
11264                  },
11265                  "showAsyncStacks": {
11266                    "description": "Show the async calls that led to the current call stack.",
11267                    "default": true,
11268                    "oneOf": [
11269                      {
11270                        "type": "boolean"
11271                      },
11272                      {
11273                        "type": "object",
11274                        "properties": {
11275                          "onAttach": {
11276                            "type": "number",
11277                            "default": 32
11278                          }
11279                        },
11280                        "required": [
11281                          "onAttach"
11282                        ]
11283                      },
11284                      {
11285                        "type": "object",
11286                        "properties": {
11287                          "onceBreakpointResolved": {
11288                            "type": "number",
11289                            "default": 32
11290                          }
11291                        },
11292                        "required": [
11293                          "onceBreakpointResolved"
11294                        ]
11295                      }
11296                    ]
11297                  },
11298                  "skipFiles": {
11299                    "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
11300                    "type": "array",
11301                    "default": [
11302                      "${/**"
11303                    ]
11304                  },
11305                  "smartStep": {
11306                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
11307                    "type": "boolean",
11308                    "default": true
11309                  },
11310                  "sourceMapPathOverrides": {
11311                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
11312                    "type": "object",
11313                    "default": {
11314                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
11315                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
11316                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
11317                    }
11318                  },
11319                  "sourceMapRenames": {
11320                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
11321                    "type": "boolean",
11322                    "default": true
11323                  },
11324                  "sourceMaps": {
11325                    "description": "Use JavaScript source maps (if they exist).",
11326                    "type": "boolean",
11327                    "default": true
11328                  },
11329                  "timeout": {
11330                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
11331                    "type": "number",
11332                    "default": 10000
11333                  },
11334                  "timeouts": {
11335                    "description": "Timeouts for several debugger operations.",
11336                    "type": "object",
11337                    "properties": {
11338                      "hoverEvaluation": {
11339                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
11340                        "type": "number",
11341                        "default": 500
11342                      },
11343                      "sourceMapCumulativePause": {
11344                        "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
11345                        "type": "number",
11346                        "default": 1000
11347                      },
11348                      "sourceMapMinPause": {
11349                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
11350                        "type": "number",
11351                        "default": 1000
11352                      }
11353                    },
11354                    "additionalProperties": false,
11355                    "default": {},
11356                    "markdownDescription": "Timeouts for several debugger operations."
11357                  },
11358                  "trace": {
11359                    "description": "Configures what diagnostic output is produced.",
11360                    "default": true,
11361                    "oneOf": [
11362                      {
11363                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
11364                        "type": "boolean"
11365                      },
11366                      {
11367                        "type": "object",
11368                        "properties": {
11369                          "logFile": {
11370                            "description": "Configures where on disk logs are written.",
11371                            "type": [
11372                              "string",
11373                              "null"
11374                            ]
11375                          },
11376                          "stdio": {
11377                            "description": "Whether to return trace data from the launched application or browser.",
11378                            "type": "boolean"
11379                          }
11380                        },
11381                        "additionalProperties": false
11382                      }
11383                    ]
11384                  }
11385                },
11386                "additionalProperties": false,
11387                "default": {
11388                  "program": "npm start"
11389                }
11390              }
11391            ]
11392          },
11393          "showAsyncStacks": {
11394            "description": "Show the async calls that led to the current call stack.",
11395            "default": true,
11396            "oneOf": [
11397              {
11398                "type": "boolean"
11399              },
11400              {
11401                "type": "object",
11402                "properties": {
11403                  "onAttach": {
11404                    "type": "number",
11405                    "default": 32
11406                  }
11407                },
11408                "required": [
11409                  "onAttach"
11410                ]
11411              },
11412              {
11413                "type": "object",
11414                "properties": {
11415                  "onceBreakpointResolved": {
11416                    "type": "number",
11417                    "default": 32
11418                  }
11419                },
11420                "required": [
11421                  "onceBreakpointResolved"
11422                ]
11423              }
11424            ]
11425          },
11426          "skipFiles": {
11427            "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
11428            "type": "array",
11429            "default": [
11430              "${/**"
11431            ]
11432          },
11433          "smartStep": {
11434            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
11435            "type": "boolean",
11436            "default": true
11437          },
11438          "sourceMapPathOverrides": {
11439            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
11440            "type": "object",
11441            "default": {
11442              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
11443              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
11444              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
11445            }
11446          },
11447          "sourceMapRenames": {
11448            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
11449            "type": "boolean",
11450            "default": true
11451          },
11452          "sourceMaps": {
11453            "description": "Use JavaScript source maps (if they exist).",
11454            "type": "boolean",
11455            "default": true
11456          },
11457          "timeout": {
11458            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
11459            "type": "number",
11460            "default": 10000
11461          },
11462          "timeouts": {
11463            "description": "Timeouts for several debugger operations.",
11464            "type": "object",
11465            "properties": {
11466              "hoverEvaluation": {
11467                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
11468                "type": "number",
11469                "default": 500
11470              },
11471              "sourceMapCumulativePause": {
11472                "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
11473                "type": "number",
11474                "default": 1000
11475              },
11476              "sourceMapMinPause": {
11477                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
11478                "type": "number",
11479                "default": 1000
11480              }
11481            },
11482            "additionalProperties": false,
11483            "default": {},
11484            "markdownDescription": "Timeouts for several debugger operations."
11485          },
11486          "trace": {
11487            "description": "Configures what diagnostic output is produced.",
11488            "default": true,
11489            "oneOf": [
11490              {
11491                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
11492                "type": "boolean"
11493              },
11494              {
11495                "type": "object",
11496                "properties": {
11497                  "logFile": {
11498                    "description": "Configures where on disk logs are written.",
11499                    "type": [
11500                      "string",
11501                      "null"
11502                    ]
11503                  },
11504                  "stdio": {
11505                    "description": "Whether to return trace data from the launched application or browser.",
11506                    "type": "boolean"
11507                  }
11508                },
11509                "additionalProperties": false
11510              }
11511            ]
11512          },
11513          "url": {
11514            "description": "Will search for a tab with this exact url and attach to it, if found",
11515            "type": "string",
11516            "default": "http://localhost:8080",
11517            "tags": [
11518              "setup"
11519            ]
11520          },
11521          "urlFilter": {
11522            "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
11523            "type": "string",
11524            "default": ""
11525          },
11526          "useWebView": {
11527            "description": "When 'true', the debugger will treat the runtime executable as a host application that contains a WebView allowing you to debug the WebView script content.",
11528            "type": "boolean",
11529            "default": false
11530          },
11531          "userDataDir": {
11532            "description": "By default, the browser is launched with a separate user profile in a temp folder. Use this option to override it. Set to false to launch with your default user profile. A new browser can't be launched if an instance is already running from `userDataDir`.",
11533            "type": [
11534              "string",
11535              "boolean"
11536            ],
11537            "default": true
11538          },
11539          "vueComponentPaths": {
11540            "description": "A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.",
11541            "type": "array",
11542            "default": [
11543              "${ZED_WORKTREE_ROOT}/**/*.vue"
11544            ]
11545          },
11546          "webRoot": {
11547            "description": "This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"",
11548            "type": "string",
11549            "default": "${ZED_WORKTREE_ROOT}",
11550            "tags": [
11551              "setup"
11552            ]
11553          }
11554        }
11555      }
11556    },
11557    {
11558      "if": {
11559        "properties": {
11560          "type": {
11561            "enum": [
11562              "msedge"
11563            ]
11564          },
11565          "request": {
11566            "enum": [
11567              "attach"
11568            ]
11569          }
11570        },
11571        "required": [
11572          "type",
11573          "request"
11574        ]
11575      },
11576      "then": {
11577        "properties": {
11578          "address": {
11579            "description": "IP address or hostname the debugged browser is listening on.",
11580            "type": "string",
11581            "default": "localhost"
11582          },
11583          "browserAttachLocation": {
11584            "description": "Forces the browser to attach in one location. In a remote workspace (through ssh or WSL, for example) this can be used to attach to a browser on the remote machine rather than locally.",
11585            "default": null,
11586            "oneOf": [
11587              {
11588                "type": "null"
11589              },
11590              {
11591                "type": "string",
11592                "enum": [
11593                  "ui",
11594                  "workspace"
11595                ]
11596              }
11597            ]
11598          },
11599          "cascadeTerminateToConfigurations": {
11600            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
11601            "type": "array",
11602            "default": [],
11603            "items": {
11604              "type": "string",
11605              "uniqueItems": true
11606            }
11607          },
11608          "customDescriptionGenerator": {
11609            "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
11610            "type": "string"
11611          },
11612          "customPropertiesGenerator": {
11613            "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
11614            "type": "string",
11615            "deprecated": true
11616          },
11617          "disableNetworkCache": {
11618            "description": "Controls whether to skip the network cache for each request",
11619            "type": "boolean",
11620            "default": true
11621          },
11622          "enableContentValidation": {
11623            "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
11624            "type": "boolean",
11625            "default": true
11626          },
11627          "enableDWARF": {
11628            "type": "boolean",
11629            "default": true,
11630            "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
11631          },
11632          "inspectUri": {
11633            "description": "Format to use to rewrite the inspectUri: It's a template string that interpolates keys in `{curlyBraces}`. Available keys are:\n - `url.*` is the parsed address of the running application. For instance, `{url.port}`, `{url.hostname}`\n - `port` is the debug port that Chrome is listening on.\n - `browserInspectUri` is the inspector URI on the launched browser\n - `browserInspectUriPath` is the path part of the inspector URI on the launched browser (e.g.: \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\").\n - `wsProtocol` is the hinted websocket protocol. This is set to `wss` if the original URL is `https`, or `ws` otherwise.\n",
11634            "type": [
11635              "string",
11636              "null"
11637            ],
11638            "default": null
11639          },
11640          "outFiles": {
11641            "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
11642            "type": [
11643              "array"
11644            ],
11645            "default": [
11646              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
11647              "!**/node_modules/**"
11648            ],
11649            "items": {
11650              "type": "string"
11651            },
11652            "tags": [
11653              "setup"
11654            ]
11655          },
11656          "outputCapture": {
11657            "default": "console",
11658            "enum": [
11659              "console",
11660              "std"
11661            ],
11662            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
11663          },
11664          "pathMapping": {
11665            "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
11666            "type": "object",
11667            "default": {}
11668          },
11669          "pauseForSourceMap": {
11670            "type": "boolean",
11671            "default": false,
11672            "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
11673          },
11674          "perScriptSourcemaps": {
11675            "description": "Whether scripts are loaded individually with unique sourcemaps containing the basename of the source file. This can be set to optimize sourcemap handling when dealing with lots of small scripts. If set to \"auto\", we'll detect known cases where this is appropriate.",
11676            "type": "string",
11677            "default": "auto",
11678            "enum": [
11679              "yes",
11680              "no",
11681              "auto"
11682            ]
11683          },
11684          "port": {
11685            "description": "Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.",
11686            "default": 9229,
11687            "oneOf": [
11688              {
11689                "type": "integer"
11690              },
11691              {
11692                "type": "string",
11693                "pattern": "^\\${.*}$"
11694              }
11695            ],
11696            "tags": [
11697              "setup"
11698            ]
11699          },
11700          "resolveSourceMapLocations": {
11701            "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
11702            "type": [
11703              "array",
11704              "null"
11705            ],
11706            "default": null,
11707            "items": {
11708              "type": "string"
11709            }
11710          },
11711          "restart": {
11712            "type": "boolean",
11713            "default": false,
11714            "markdownDescription": "Whether to reconnect if the browser connection is closed"
11715          },
11716          "server": {
11717            "oneOf": [
11718              {
11719                "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
11720                "type": "object",
11721                "properties": {
11722                  "args": {
11723                    "description": "Command line arguments passed to the program.\n\nCan be an array of strings or a single string. When the program is launched in a terminal, setting this property to a single string will result in the arguments not being escaped for the shell.",
11724                    "type": [
11725                      "array",
11726                      "string"
11727                    ],
11728                    "default": [],
11729                    "items": {
11730                      "type": "string"
11731                    },
11732                    "tags": [
11733                      "setup"
11734                    ]
11735                  },
11736                  "attachSimplePort": {
11737                    "description": "If set, attaches to the process via the given port. This is generally no longer necessary for Node.js programs and loses the ability to debug child processes, but can be useful in more esoteric scenarios such as with Deno and Docker launches. If set to 0, a random port will be chosen and --inspect-brk added to the launch arguments automatically.",
11738                    "default": 9229,
11739                    "oneOf": [
11740                      {
11741                        "type": "integer"
11742                      },
11743                      {
11744                        "type": "string",
11745                        "pattern": "^\\${.*}$"
11746                      }
11747                    ]
11748                  },
11749                  "autoAttachChildProcesses": {
11750                    "description": "Attach debugger to new child processes automatically.",
11751                    "type": "boolean",
11752                    "default": true
11753                  },
11754                  "cascadeTerminateToConfigurations": {
11755                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
11756                    "type": "array",
11757                    "default": [],
11758                    "items": {
11759                      "type": "string",
11760                      "uniqueItems": true
11761                    }
11762                  },
11763                  "console": {
11764                    "description": "Where to launch the debug target.",
11765                    "type": "string",
11766                    "default": "internalConsole",
11767                    "enum": [
11768                      "internalConsole",
11769                      "integratedTerminal",
11770                      "externalTerminal"
11771                    ],
11772                    "enumDescriptions": [
11773                      "VS Code Debug Console (which doesn't support to read input from a program)",
11774                      "VS Code's integrated terminal",
11775                      "External terminal that can be configured via user settings"
11776                    ]
11777                  },
11778                  "customDescriptionGenerator": {
11779                    "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
11780                    "type": "string"
11781                  },
11782                  "customPropertiesGenerator": {
11783                    "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
11784                    "type": "string",
11785                    "deprecated": true
11786                  },
11787                  "cwd": {
11788                    "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
11789                    "type": "string",
11790                    "default": "${ZED_WORKTREE_ROOT}",
11791                    "tags": [
11792                      "setup"
11793                    ]
11794                  },
11795                  "enableContentValidation": {
11796                    "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
11797                    "type": "boolean",
11798                    "default": true
11799                  },
11800                  "enableDWARF": {
11801                    "type": "boolean",
11802                    "default": true,
11803                    "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
11804                  },
11805                  "env": {
11806                    "type": "object",
11807                    "additionalProperties": {
11808                      "type": [
11809                        "string",
11810                        "null"
11811                      ]
11812                    },
11813                    "default": {},
11814                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
11815                    "tags": [
11816                      "setup"
11817                    ]
11818                  },
11819                  "envFile": {
11820                    "description": "Absolute path to a file containing environment variable definitions.",
11821                    "type": "string",
11822                    "default": "${ZED_WORKTREE_ROOT}/.env"
11823                  },
11824                  "experimentalNetworking": {
11825                    "description": "Enable experimental inspection in Node.js. When set to `auto` this is enabled for versions of Node.js that support it. It can be set to `on` or `off` to enable or disable it explicitly.",
11826                    "type": "string",
11827                    "default": "auto",
11828                    "enum": [
11829                      "auto",
11830                      "on",
11831                      "off"
11832                    ]
11833                  },
11834                  "killBehavior": {
11835                    "type": "string",
11836                    "default": "forceful",
11837                    "enum": [
11838                      "forceful",
11839                      "polite",
11840                      "none"
11841                    ],
11842                    "markdownDescription": "Configures how debug processes are killed when stopping the session. Can be:\n\n- forceful (default): forcefully tears down the process tree. Sends SIGKILL on posix, or `taskkill.exe /F` on Windows.\n- polite: gracefully tears down the process tree. It's possible that misbehaving processes continue to run after shutdown in this way. Sends SIGTERM on posix, or `taskkill.exe` with no `/F` (force) flag on Windows.\n- none: no termination will happen."
11843                  },
11844                  "localRoot": {
11845                    "description": "Path to the local directory containing the program.",
11846                    "type": [
11847                      "string",
11848                      "null"
11849                    ],
11850                    "default": null
11851                  },
11852                  "nodeVersionHint": {
11853                    "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
11854                    "type": "number",
11855                    "default": 12,
11856                    "minimum": 8
11857                  },
11858                  "outFiles": {
11859                    "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
11860                    "type": [
11861                      "array"
11862                    ],
11863                    "default": [
11864                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
11865                      "!**/node_modules/**"
11866                    ],
11867                    "items": {
11868                      "type": "string"
11869                    },
11870                    "tags": [
11871                      "setup"
11872                    ]
11873                  },
11874                  "outputCapture": {
11875                    "default": "console",
11876                    "enum": [
11877                      "console",
11878                      "std"
11879                    ],
11880                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
11881                  },
11882                  "pauseForSourceMap": {
11883                    "type": "boolean",
11884                    "default": false,
11885                    "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
11886                  },
11887                  "profileStartup": {
11888                    "description": "If true, will start profiling as soon as the process launches",
11889                    "type": "boolean",
11890                    "default": true
11891                  },
11892                  "program": {
11893                    "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
11894                    "type": "string",
11895                    "default": "",
11896                    "tags": [
11897                      "setup"
11898                    ]
11899                  },
11900                  "remoteRoot": {
11901                    "description": "Absolute path to the remote directory containing the program.",
11902                    "type": [
11903                      "string",
11904                      "null"
11905                    ],
11906                    "default": null
11907                  },
11908                  "resolveSourceMapLocations": {
11909                    "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
11910                    "type": [
11911                      "array",
11912                      "null"
11913                    ],
11914                    "default": [
11915                      "${ZED_WORKTREE_ROOT}/**",
11916                      "!**/node_modules/**"
11917                    ],
11918                    "items": {
11919                      "type": "string"
11920                    }
11921                  },
11922                  "restart": {
11923                    "description": "Try to reconnect to the program if we lose connection. If set to `true`, we'll try once a second, forever. You can customize the interval and maximum number of attempts by specifying the `delay` and `maxAttempts` in an object instead.",
11924                    "default": true,
11925                    "oneOf": [
11926                      {
11927                        "type": "boolean"
11928                      },
11929                      {
11930                        "type": "object",
11931                        "properties": {
11932                          "delay": {
11933                            "type": "number",
11934                            "default": 1000,
11935                            "minimum": 0
11936                          },
11937                          "maxAttempts": {
11938                            "type": "number",
11939                            "default": 10,
11940                            "minimum": 0
11941                          }
11942                        }
11943                      }
11944                    ]
11945                  },
11946                  "runtimeArgs": {
11947                    "description": "Optional arguments passed to the runtime executable.",
11948                    "type": "array",
11949                    "default": [],
11950                    "items": {
11951                      "type": "string"
11952                    },
11953                    "tags": [
11954                      "setup"
11955                    ]
11956                  },
11957                  "runtimeExecutable": {
11958                    "type": [
11959                      "string",
11960                      "null"
11961                    ],
11962                    "default": "node",
11963                    "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
11964                  },
11965                  "runtimeSourcemapPausePatterns": {
11966                    "type": "array",
11967                    "default": [],
11968                    "items": {
11969                      "type": "string"
11970                    },
11971                    "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
11972                  },
11973                  "runtimeVersion": {
11974                    "type": "string",
11975                    "default": "default",
11976                    "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
11977                  },
11978                  "showAsyncStacks": {
11979                    "description": "Show the async calls that led to the current call stack.",
11980                    "default": true,
11981                    "oneOf": [
11982                      {
11983                        "type": "boolean"
11984                      },
11985                      {
11986                        "type": "object",
11987                        "properties": {
11988                          "onAttach": {
11989                            "type": "number",
11990                            "default": 32
11991                          }
11992                        },
11993                        "required": [
11994                          "onAttach"
11995                        ]
11996                      },
11997                      {
11998                        "type": "object",
11999                        "properties": {
12000                          "onceBreakpointResolved": {
12001                            "type": "number",
12002                            "default": 32
12003                          }
12004                        },
12005                        "required": [
12006                          "onceBreakpointResolved"
12007                        ]
12008                      }
12009                    ]
12010                  },
12011                  "skipFiles": {
12012                    "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
12013                    "type": "array",
12014                    "default": [
12015                      "${/**"
12016                    ]
12017                  },
12018                  "smartStep": {
12019                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
12020                    "type": "boolean",
12021                    "default": true
12022                  },
12023                  "sourceMapPathOverrides": {
12024                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
12025                    "type": "object",
12026                    "default": {
12027                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
12028                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
12029                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
12030                    }
12031                  },
12032                  "sourceMapRenames": {
12033                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
12034                    "type": "boolean",
12035                    "default": true
12036                  },
12037                  "sourceMaps": {
12038                    "description": "Use JavaScript source maps (if they exist).",
12039                    "type": "boolean",
12040                    "default": true
12041                  },
12042                  "stopOnEntry": {
12043                    "description": "Automatically stop program after launch.",
12044                    "type": [
12045                      "boolean",
12046                      "string"
12047                    ],
12048                    "default": true
12049                  },
12050                  "timeout": {
12051                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
12052                    "type": "number",
12053                    "default": 10000
12054                  },
12055                  "timeouts": {
12056                    "description": "Timeouts for several debugger operations.",
12057                    "type": "object",
12058                    "properties": {
12059                      "hoverEvaluation": {
12060                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
12061                        "type": "number",
12062                        "default": 500
12063                      },
12064                      "sourceMapCumulativePause": {
12065                        "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
12066                        "type": "number",
12067                        "default": 1000
12068                      },
12069                      "sourceMapMinPause": {
12070                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
12071                        "type": "number",
12072                        "default": 1000
12073                      }
12074                    },
12075                    "additionalProperties": false,
12076                    "default": {},
12077                    "markdownDescription": "Timeouts for several debugger operations."
12078                  },
12079                  "trace": {
12080                    "description": "Configures what diagnostic output is produced.",
12081                    "default": true,
12082                    "oneOf": [
12083                      {
12084                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
12085                        "type": "boolean"
12086                      },
12087                      {
12088                        "type": "object",
12089                        "properties": {
12090                          "logFile": {
12091                            "description": "Configures where on disk logs are written.",
12092                            "type": [
12093                              "string",
12094                              "null"
12095                            ]
12096                          },
12097                          "stdio": {
12098                            "description": "Whether to return trace data from the launched application or browser.",
12099                            "type": "boolean"
12100                          }
12101                        },
12102                        "additionalProperties": false
12103                      }
12104                    ]
12105                  }
12106                },
12107                "additionalProperties": false,
12108                "default": {
12109                  "program": "node my-server.js"
12110                }
12111              },
12112              {
12113                "description": "JavaScript Debug Terminal",
12114                "type": "object",
12115                "properties": {
12116                  "autoAttachChildProcesses": {
12117                    "description": "Attach debugger to new child processes automatically.",
12118                    "type": "boolean",
12119                    "default": true
12120                  },
12121                  "cascadeTerminateToConfigurations": {
12122                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
12123                    "type": "array",
12124                    "default": [],
12125                    "items": {
12126                      "type": "string",
12127                      "uniqueItems": true
12128                    }
12129                  },
12130                  "command": {
12131                    "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
12132                    "type": [
12133                      "string",
12134                      "null"
12135                    ],
12136                    "default": "npm start",
12137                    "tags": [
12138                      "setup"
12139                    ]
12140                  },
12141                  "customDescriptionGenerator": {
12142                    "description": "Customize the textual description the debugger shows for objects (local variables, etc...). Samples:\n      1. this.toString() // will call toString to print all objects\n      2. this.customDescription ? this.customDescription() : defaultValue // Use customDescription method if available, if not return defaultValue\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // Use customDescription method if available, if not return defaultValue\n      ",
12143                    "type": "string"
12144                  },
12145                  "customPropertiesGenerator": {
12146                    "description": "Customize the properties shown for an object in the debugger (local variables, etc...). Samples:\n    1. { ...this, extraProperty: '12345' } // Add an extraProperty 12345 to all objects\n    2. this.customProperties ? this.customProperties() : this // Use customProperties method if available, if not use the properties in this (the default properties)\n    3. function () { return this.customProperties ? this.customProperties() : this } // Use customDescription method if available, if not return the default properties\n\n    Deprecated: This is a temporary implementation of this feature until we have time to implement it in the way described here: https://github.com/microsoft/vscode/issues/102181",
12147                    "type": "string",
12148                    "deprecated": true
12149                  },
12150                  "cwd": {
12151                    "description": "Absolute path to the working directory of the program being debugged. If you've set localRoot then cwd will match that value otherwise it falls back to your workspaceFolder",
12152                    "type": "string",
12153                    "default": "${ZED_WORKTREE_ROOT}",
12154                    "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
12155                    "tags": [
12156                      "setup"
12157                    ]
12158                  },
12159                  "enableContentValidation": {
12160                    "description": "Toggles whether we verify the contents of files on disk match the ones loaded in the runtime. This is useful in a variety of scenarios and required in some, but can cause issues if you have server-side transformation of scripts, for example.",
12161                    "type": "boolean",
12162                    "default": true
12163                  },
12164                  "enableDWARF": {
12165                    "type": "boolean",
12166                    "default": true,
12167                    "markdownDescription": "Toggles whether the debugger will try to read DWARF debug symbols from WebAssembly, which can be resource intensive. Requires the `ms-vscode.wasm-dwarf-debugging` extension to function."
12168                  },
12169                  "env": {
12170                    "type": "object",
12171                    "additionalProperties": {
12172                      "type": [
12173                        "string",
12174                        "null"
12175                      ]
12176                    },
12177                    "default": {},
12178                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
12179                    "tags": [
12180                      "setup"
12181                    ]
12182                  },
12183                  "envFile": {
12184                    "description": "Absolute path to a file containing environment variable definitions.",
12185                    "type": "string",
12186                    "default": "${ZED_WORKTREE_ROOT}/.env"
12187                  },
12188                  "localRoot": {
12189                    "description": "Path to the local directory containing the program.",
12190                    "type": [
12191                      "string",
12192                      "null"
12193                    ],
12194                    "default": null
12195                  },
12196                  "nodeVersionHint": {
12197                    "description": "Allows you to explicitly specify the Node version that's running, which can be used to disable or enable certain behaviors in cases where the automatic version detection does not work.",
12198                    "type": "number",
12199                    "default": 12,
12200                    "minimum": 8
12201                  },
12202                  "outFiles": {
12203                    "description": "If source maps are enabled, these glob patterns specify the generated JavaScript files. If a pattern starts with `!` the files are excluded. If not specified, the generated code is expected in the same directory as its source.",
12204                    "type": [
12205                      "array"
12206                    ],
12207                    "default": [
12208                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
12209                      "!**/node_modules/**"
12210                    ],
12211                    "items": {
12212                      "type": "string"
12213                    },
12214                    "tags": [
12215                      "setup"
12216                    ]
12217                  },
12218                  "outputCapture": {
12219                    "default": "console",
12220                    "enum": [
12221                      "console",
12222                      "std"
12223                    ],
12224                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
12225                  },
12226                  "pauseForSourceMap": {
12227                    "type": "boolean",
12228                    "default": false,
12229                    "markdownDescription": "Whether to wait for source maps to load for each incoming script. This has a performance overhead, and might be safely disabled when running off of disk, so long as `rootPath` is not disabled."
12230                  },
12231                  "remoteRoot": {
12232                    "description": "Absolute path to the remote directory containing the program.",
12233                    "type": [
12234                      "string",
12235                      "null"
12236                    ],
12237                    "default": null
12238                  },
12239                  "resolveSourceMapLocations": {
12240                    "description": "A list of minimatch patterns for locations (folders and URLs) in which source maps can be used to resolve local files. This can be used to avoid incorrectly breaking in external source mapped code. Patterns can be prefixed with \"!\" to exclude them. May be set to an empty array or null to avoid restriction.",
12241                    "type": [
12242                      "array",
12243                      "null"
12244                    ],
12245                    "default": [
12246                      "${ZED_WORKTREE_ROOT}/**",
12247                      "!**/node_modules/**"
12248                    ],
12249                    "items": {
12250                      "type": "string"
12251                    }
12252                  },
12253                  "runtimeSourcemapPausePatterns": {
12254                    "type": "array",
12255                    "default": [],
12256                    "items": {
12257                      "type": "string"
12258                    },
12259                    "markdownDescription": "A list of patterns at which to manually insert entrypoint breakpoints. This can be useful to give the debugger an opportunity to set breakpoints when using sourcemaps that don't exist or can't be detected before launch, such as [with the Serverless framework](https://github.com/microsoft/vscode-js-debug/issues/492)."
12260                  },
12261                  "showAsyncStacks": {
12262                    "description": "Show the async calls that led to the current call stack.",
12263                    "default": true,
12264                    "oneOf": [
12265                      {
12266                        "type": "boolean"
12267                      },
12268                      {
12269                        "type": "object",
12270                        "properties": {
12271                          "onAttach": {
12272                            "type": "number",
12273                            "default": 32
12274                          }
12275                        },
12276                        "required": [
12277                          "onAttach"
12278                        ]
12279                      },
12280                      {
12281                        "type": "object",
12282                        "properties": {
12283                          "onceBreakpointResolved": {
12284                            "type": "number",
12285                            "default": 32
12286                          }
12287                        },
12288                        "required": [
12289                          "onceBreakpointResolved"
12290                        ]
12291                      }
12292                    ]
12293                  },
12294                  "skipFiles": {
12295                    "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
12296                    "type": "array",
12297                    "default": [
12298                      "${/**"
12299                    ]
12300                  },
12301                  "smartStep": {
12302                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
12303                    "type": "boolean",
12304                    "default": true
12305                  },
12306                  "sourceMapPathOverrides": {
12307                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
12308                    "type": "object",
12309                    "default": {
12310                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
12311                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
12312                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
12313                    }
12314                  },
12315                  "sourceMapRenames": {
12316                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
12317                    "type": "boolean",
12318                    "default": true
12319                  },
12320                  "sourceMaps": {
12321                    "description": "Use JavaScript source maps (if they exist).",
12322                    "type": "boolean",
12323                    "default": true
12324                  },
12325                  "timeout": {
12326                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
12327                    "type": "number",
12328                    "default": 10000
12329                  },
12330                  "timeouts": {
12331                    "description": "Timeouts for several debugger operations.",
12332                    "type": "object",
12333                    "properties": {
12334                      "hoverEvaluation": {
12335                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
12336                        "type": "number",
12337                        "default": 500
12338                      },
12339                      "sourceMapCumulativePause": {
12340                        "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
12341                        "type": "number",
12342                        "default": 1000
12343                      },
12344                      "sourceMapMinPause": {
12345                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
12346                        "type": "number",
12347                        "default": 1000
12348                      }
12349                    },
12350                    "additionalProperties": false,
12351                    "default": {},
12352                    "markdownDescription": "Timeouts for several debugger operations."
12353                  },
12354                  "trace": {
12355                    "description": "Configures what diagnostic output is produced.",
12356                    "default": true,
12357                    "oneOf": [
12358                      {
12359                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
12360                        "type": "boolean"
12361                      },
12362                      {
12363                        "type": "object",
12364                        "properties": {
12365                          "logFile": {
12366                            "description": "Configures where on disk logs are written.",
12367                            "type": [
12368                              "string",
12369                              "null"
12370                            ]
12371                          },
12372                          "stdio": {
12373                            "description": "Whether to return trace data from the launched application or browser.",
12374                            "type": "boolean"
12375                          }
12376                        },
12377                        "additionalProperties": false
12378                      }
12379                    ]
12380                  }
12381                },
12382                "additionalProperties": false,
12383                "default": {
12384                  "program": "npm start"
12385                }
12386              }
12387            ]
12388          },
12389          "showAsyncStacks": {
12390            "description": "Show the async calls that led to the current call stack.",
12391            "default": true,
12392            "oneOf": [
12393              {
12394                "type": "boolean"
12395              },
12396              {
12397                "type": "object",
12398                "properties": {
12399                  "onAttach": {
12400                    "type": "number",
12401                    "default": 32
12402                  }
12403                },
12404                "required": [
12405                  "onAttach"
12406                ]
12407              },
12408              {
12409                "type": "object",
12410                "properties": {
12411                  "onceBreakpointResolved": {
12412                    "type": "number",
12413                    "default": 32
12414                  }
12415                },
12416                "required": [
12417                  "onceBreakpointResolved"
12418                ]
12419              }
12420            ]
12421          },
12422          "skipFiles": {
12423            "description": "An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed, for example, `[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`",
12424            "type": "array",
12425            "default": [
12426              "${/**"
12427            ]
12428          },
12429          "smartStep": {
12430            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
12431            "type": "boolean",
12432            "default": true
12433          },
12434          "sourceMapPathOverrides": {
12435            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
12436            "type": "object",
12437            "default": {
12438              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
12439              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
12440              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
12441            }
12442          },
12443          "sourceMapRenames": {
12444            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
12445            "type": "boolean",
12446            "default": true
12447          },
12448          "sourceMaps": {
12449            "description": "Use JavaScript source maps (if they exist).",
12450            "type": "boolean",
12451            "default": true
12452          },
12453          "targetSelection": {
12454            "type": "string",
12455            "default": "automatic",
12456            "enum": [
12457              "pick",
12458              "automatic"
12459            ],
12460            "markdownDescription": "Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\")."
12461          },
12462          "timeout": {
12463            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
12464            "type": "number",
12465            "default": 10000
12466          },
12467          "timeouts": {
12468            "description": "Timeouts for several debugger operations.",
12469            "type": "object",
12470            "properties": {
12471              "hoverEvaluation": {
12472                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
12473                "type": "number",
12474                "default": 500
12475              },
12476              "sourceMapCumulativePause": {
12477                "description": "Extra time in milliseconds allowed per session to be spent waiting for source-maps to be processed, after the minimum time (sourceMapMinPause) has been exhausted",
12478                "type": "number",
12479                "default": 1000
12480              },
12481              "sourceMapMinPause": {
12482                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
12483                "type": "number",
12484                "default": 1000
12485              }
12486            },
12487            "additionalProperties": false,
12488            "default": {},
12489            "markdownDescription": "Timeouts for several debugger operations."
12490          },
12491          "trace": {
12492            "description": "Configures what diagnostic output is produced.",
12493            "default": true,
12494            "oneOf": [
12495              {
12496                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
12497                "type": "boolean"
12498              },
12499              {
12500                "type": "object",
12501                "properties": {
12502                  "logFile": {
12503                    "description": "Configures where on disk logs are written.",
12504                    "type": [
12505                      "string",
12506                      "null"
12507                    ]
12508                  },
12509                  "stdio": {
12510                    "description": "Whether to return trace data from the launched application or browser.",
12511                    "type": "boolean"
12512                  }
12513                },
12514                "additionalProperties": false
12515              }
12516            ]
12517          },
12518          "url": {
12519            "description": "Will search for a tab with this exact url and attach to it, if found",
12520            "type": "string",
12521            "default": "http://localhost:8080",
12522            "tags": [
12523              "setup"
12524            ]
12525          },
12526          "urlFilter": {
12527            "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
12528            "type": "string",
12529            "default": ""
12530          },
12531          "useWebView": {
12532            "description": "An object containing the `pipeName` of a debug pipe for a UWP hosted Webview2. This is the \"MyTestSharedMemory\" when creating the pipe \"\\\\.\\pipe\\LOCAL\\MyTestSharedMemory\"",
12533            "type": "object",
12534            "properties": {
12535              "pipeName": {
12536                "type": "string"
12537              }
12538            },
12539            "default": {
12540              "pipeName": "MyPipeName"
12541            }
12542          },
12543          "vueComponentPaths": {
12544            "description": "A list of file glob patterns to find `*.vue` components. By default, searches the entire workspace. This needs to be specified due to extra lookups that Vue's sourcemaps require in Vue CLI 4. You can disable this special handling by setting this to an empty array.",
12545            "type": "array",
12546            "default": [
12547              "${ZED_WORKTREE_ROOT}/**/*.vue"
12548            ]
12549          },
12550          "webRoot": {
12551            "description": "This specifies the workspace absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk. Shorthand for a pathMapping for \"/\"",
12552            "type": "string",
12553            "default": "${ZED_WORKTREE_ROOT}",
12554            "tags": [
12555              "setup"
12556            ]
12557          }
12558        }
12559      }
12560    }
12561  ]
12562}