JavaScript.json

    1{
    2  "allOf": [
    3    {
    4      "if": {
    5        "properties": {
    6          "type": {
    7            "const": "pwa-node"
    8          },
    9          "request": {
   10            "const": "launch"
   11          }
   12        },
   13        "required": [
   14          "type",
   15          "request"
   16        ]
   17      },
   18      "then": {
   19        "properties": {
   20          "args": {
   21            "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.",
   22            "type": [
   23              "array",
   24              "string"
   25            ],
   26            "default": [],
   27            "items": {
   28              "type": "string"
   29            },
   30            "tags": [
   31              "setup"
   32            ]
   33          },
   34          "attachSimplePort": {
   35            "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.",
   36            "default": 9229,
   37            "oneOf": [
   38              {
   39                "type": "integer"
   40              },
   41              {
   42                "type": "string",
   43                "pattern": "^\\${.*}$"
   44              }
   45            ]
   46          },
   47          "autoAttachChildProcesses": {
   48            "description": "Attach debugger to new child processes automatically.",
   49            "type": "boolean",
   50            "default": true
   51          },
   52          "cascadeTerminateToConfigurations": {
   53            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
   54            "type": "array",
   55            "default": [],
   56            "items": {
   57              "type": "string",
   58              "uniqueItems": true
   59            }
   60          },
   61          "console": {
   62            "description": "Where to launch the debug target.",
   63            "type": "string",
   64            "default": "internalConsole",
   65            "enum": [
   66              "internalConsole",
   67              "integratedTerminal",
   68              "externalTerminal"
   69            ],
   70            "enumDescriptions": [
   71              "VS Code Debug Console (which doesn't support to read input from a program)",
   72              "VS Code's integrated terminal",
   73              "External terminal that can be configured via user settings"
   74            ]
   75          },
   76          "customDescriptionGenerator": {
   77            "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      ",
   78            "type": "string"
   79          },
   80          "customPropertiesGenerator": {
   81            "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",
   82            "type": "string",
   83            "deprecated": true
   84          },
   85          "cwd": {
   86            "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",
   87            "type": "string",
   88            "default": "${ZED_WORKTREE_ROOT}",
   89            "tags": [
   90              "setup"
   91            ]
   92          },
   93          "enableContentValidation": {
   94            "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.",
   95            "type": "boolean",
   96            "default": true
   97          },
   98          "enableDWARF": {
   99            "type": "boolean",
  100            "default": true,
  101            "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."
  102          },
  103          "env": {
  104            "type": "object",
  105            "additionalProperties": {
  106              "type": [
  107                "string",
  108                "null"
  109              ]
  110            },
  111            "default": {},
  112            "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
  113            "tags": [
  114              "setup"
  115            ]
  116          },
  117          "envFile": {
  118            "description": "Absolute path to a file containing environment variable definitions.",
  119            "type": "string",
  120            "default": "${ZED_WORKTREE_ROOT}/.env"
  121          },
  122          "experimentalNetworking": {
  123            "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.",
  124            "type": "string",
  125            "default": "auto",
  126            "enum": [
  127              "auto",
  128              "on",
  129              "off"
  130            ]
  131          },
  132          "killBehavior": {
  133            "type": "string",
  134            "default": "forceful",
  135            "enum": [
  136              "forceful",
  137              "polite",
  138              "none"
  139            ],
  140            "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."
  141          },
  142          "localRoot": {
  143            "description": "Path to the local directory containing the program.",
  144            "type": [
  145              "string",
  146              "null"
  147            ],
  148            "default": null
  149          },
  150          "nodeVersionHint": {
  151            "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.",
  152            "type": "number",
  153            "default": 12,
  154            "minimum": 8
  155          },
  156          "outFiles": {
  157            "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.",
  158            "type": [
  159              "array"
  160            ],
  161            "default": [
  162              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
  163              "!**/node_modules/**"
  164            ],
  165            "items": {
  166              "type": "string"
  167            },
  168            "tags": [
  169              "setup"
  170            ]
  171          },
  172          "outputCapture": {
  173            "default": "console",
  174            "enum": [
  175              "console",
  176              "std"
  177            ],
  178            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
  179          },
  180          "pauseForSourceMap": {
  181            "type": "boolean",
  182            "default": false,
  183            "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."
  184          },
  185          "profileStartup": {
  186            "description": "If true, will start profiling as soon as the process launches",
  187            "type": "boolean",
  188            "default": true
  189          },
  190          "program": {
  191            "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
  192            "type": "string",
  193            "default": "",
  194            "tags": [
  195              "setup"
  196            ]
  197          },
  198          "remoteRoot": {
  199            "description": "Absolute path to the remote directory containing the program.",
  200            "type": [
  201              "string",
  202              "null"
  203            ],
  204            "default": null
  205          },
  206          "resolveSourceMapLocations": {
  207            "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.",
  208            "type": [
  209              "array",
  210              "null"
  211            ],
  212            "default": [
  213              "${ZED_WORKTREE_ROOT}/**",
  214              "!**/node_modules/**"
  215            ],
  216            "items": {
  217              "type": "string"
  218            }
  219          },
  220          "restart": {
  221            "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.",
  222            "default": true,
  223            "oneOf": [
  224              {
  225                "type": "boolean"
  226              },
  227              {
  228                "type": "object",
  229                "properties": {
  230                  "delay": {
  231                    "type": "number",
  232                    "default": 1000,
  233                    "minimum": 0
  234                  },
  235                  "maxAttempts": {
  236                    "type": "number",
  237                    "default": 10,
  238                    "minimum": 0
  239                  }
  240                }
  241              }
  242            ]
  243          },
  244          "runtimeArgs": {
  245            "description": "Optional arguments passed to the runtime executable.",
  246            "type": "array",
  247            "default": [],
  248            "items": {
  249              "type": "string"
  250            },
  251            "tags": [
  252              "setup"
  253            ]
  254          },
  255          "runtimeExecutable": {
  256            "type": [
  257              "string",
  258              "null"
  259            ],
  260            "default": "node",
  261            "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
  262          },
  263          "runtimeSourcemapPausePatterns": {
  264            "type": "array",
  265            "default": [],
  266            "items": {
  267              "type": "string"
  268            },
  269            "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)."
  270          },
  271          "runtimeVersion": {
  272            "type": "string",
  273            "default": "default",
  274            "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
  275          },
  276          "showAsyncStacks": {
  277            "description": "Show the async calls that led to the current call stack.",
  278            "default": true,
  279            "oneOf": [
  280              {
  281                "type": "boolean"
  282              },
  283              {
  284                "type": "object",
  285                "properties": {
  286                  "onAttach": {
  287                    "type": "number",
  288                    "default": 32
  289                  }
  290                },
  291                "required": [
  292                  "onAttach"
  293                ]
  294              },
  295              {
  296                "type": "object",
  297                "properties": {
  298                  "onceBreakpointResolved": {
  299                    "type": "number",
  300                    "default": 32
  301                  }
  302                },
  303                "required": [
  304                  "onceBreakpointResolved"
  305                ]
  306              }
  307            ]
  308          },
  309          "skipFiles": {
  310            "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/**\"]`",
  311            "type": "array",
  312            "default": [
  313              "${/**"
  314            ]
  315          },
  316          "smartStep": {
  317            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
  318            "type": "boolean",
  319            "default": true
  320          },
  321          "sourceMapPathOverrides": {
  322            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
  323            "type": "object",
  324            "default": {
  325              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
  326              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
  327              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
  328            }
  329          },
  330          "sourceMapRenames": {
  331            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
  332            "type": "boolean",
  333            "default": true
  334          },
  335          "sourceMaps": {
  336            "description": "Use JavaScript source maps (if they exist).",
  337            "type": "boolean",
  338            "default": true
  339          },
  340          "stopOnEntry": {
  341            "description": "Automatically stop program after launch.",
  342            "type": [
  343              "boolean",
  344              "string"
  345            ],
  346            "default": true
  347          },
  348          "timeout": {
  349            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
  350            "type": "number",
  351            "default": 10000
  352          },
  353          "timeouts": {
  354            "description": "Timeouts for several debugger operations.",
  355            "type": "object",
  356            "properties": {
  357              "hoverEvaluation": {
  358                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
  359                "type": "number",
  360                "default": 500
  361              },
  362              "sourceMapCumulativePause": {
  363                "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",
  364                "type": "number",
  365                "default": 1000
  366              },
  367              "sourceMapMinPause": {
  368                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
  369                "type": "number",
  370                "default": 1000
  371              }
  372            },
  373            "additionalProperties": false,
  374            "default": {},
  375            "markdownDescription": "Timeouts for several debugger operations."
  376          },
  377          "trace": {
  378            "description": "Configures what diagnostic output is produced.",
  379            "default": true,
  380            "oneOf": [
  381              {
  382                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
  383                "type": "boolean"
  384              },
  385              {
  386                "type": "object",
  387                "properties": {
  388                  "logFile": {
  389                    "description": "Configures where on disk logs are written.",
  390                    "type": [
  391                      "string",
  392                      "null"
  393                    ]
  394                  },
  395                  "stdio": {
  396                    "description": "Whether to return trace data from the launched application or browser.",
  397                    "type": "boolean"
  398                  }
  399                },
  400                "additionalProperties": false
  401              }
  402            ]
  403          }
  404        }
  405      }
  406    },
  407    {
  408      "if": {
  409        "properties": {
  410          "type": {
  411            "const": "pwa-node"
  412          },
  413          "request": {
  414            "const": "attach"
  415          }
  416        },
  417        "required": [
  418          "type",
  419          "request"
  420        ]
  421      },
  422      "then": {
  423        "properties": {
  424          "address": {
  425            "description": "TCP/IP address of process to be debugged. Default is 'localhost'.",
  426            "type": "string",
  427            "default": "localhost"
  428          },
  429          "attachExistingChildren": {
  430            "description": "Whether to attempt to attach to already-spawned child processes.",
  431            "type": "boolean",
  432            "default": false
  433          },
  434          "autoAttachChildProcesses": {
  435            "description": "Attach debugger to new child processes automatically.",
  436            "type": "boolean",
  437            "default": true
  438          },
  439          "cascadeTerminateToConfigurations": {
  440            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
  441            "type": "array",
  442            "default": [],
  443            "items": {
  444              "type": "string",
  445              "uniqueItems": true
  446            }
  447          },
  448          "continueOnAttach": {
  449            "type": "boolean",
  450            "default": true,
  451            "markdownDescription": "If true, we'll automatically resume programs launched and waiting on `--inspect-brk`"
  452          },
  453          "customDescriptionGenerator": {
  454            "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      ",
  455            "type": "string"
  456          },
  457          "customPropertiesGenerator": {
  458            "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",
  459            "type": "string",
  460            "deprecated": true
  461          },
  462          "cwd": {
  463            "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",
  464            "type": "string",
  465            "default": "${ZED_WORKTREE_ROOT}",
  466            "tags": [
  467              "setup"
  468            ]
  469          },
  470          "enableContentValidation": {
  471            "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.",
  472            "type": "boolean",
  473            "default": true
  474          },
  475          "enableDWARF": {
  476            "type": "boolean",
  477            "default": true,
  478            "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."
  479          },
  480          "env": {
  481            "type": "object",
  482            "additionalProperties": {
  483              "type": [
  484                "string",
  485                "null"
  486              ]
  487            },
  488            "default": {},
  489            "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
  490            "tags": [
  491              "setup"
  492            ]
  493          },
  494          "envFile": {
  495            "description": "Absolute path to a file containing environment variable definitions.",
  496            "type": "string",
  497            "default": "${ZED_WORKTREE_ROOT}/.env"
  498          },
  499          "localRoot": {
  500            "description": "Path to the local directory containing the program.",
  501            "type": [
  502              "string",
  503              "null"
  504            ],
  505            "default": null
  506          },
  507          "nodeVersionHint": {
  508            "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.",
  509            "type": "number",
  510            "default": 12,
  511            "minimum": 8
  512          },
  513          "outFiles": {
  514            "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.",
  515            "type": [
  516              "array"
  517            ],
  518            "default": [
  519              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
  520              "!**/node_modules/**"
  521            ],
  522            "items": {
  523              "type": "string"
  524            },
  525            "tags": [
  526              "setup"
  527            ]
  528          },
  529          "outputCapture": {
  530            "default": "console",
  531            "enum": [
  532              "console",
  533              "std"
  534            ],
  535            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
  536          },
  537          "pauseForSourceMap": {
  538            "type": "boolean",
  539            "default": false,
  540            "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."
  541          },
  542          "port": {
  543            "description": "Debug port to attach to. Default is 9229.",
  544            "default": 9229,
  545            "oneOf": [
  546              {
  547                "type": "integer"
  548              },
  549              {
  550                "type": "string",
  551                "pattern": "^\\${.*}$"
  552              }
  553            ],
  554            "tags": [
  555              "setup"
  556            ]
  557          },
  558          "processId": {
  559            "description": "ID of process to attach to.",
  560            "type": "string",
  561            "default": "${command:PickProcess}"
  562          },
  563          "remoteHostHeader": {
  564            "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.",
  565            "type": "string"
  566          },
  567          "remoteRoot": {
  568            "description": "Absolute path to the remote directory containing the program.",
  569            "type": [
  570              "string",
  571              "null"
  572            ],
  573            "default": null
  574          },
  575          "resolveSourceMapLocations": {
  576            "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.",
  577            "type": [
  578              "array",
  579              "null"
  580            ],
  581            "default": [
  582              "${ZED_WORKTREE_ROOT}/**",
  583              "!**/node_modules/**"
  584            ],
  585            "items": {
  586              "type": "string"
  587            }
  588          },
  589          "restart": {
  590            "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.",
  591            "default": true,
  592            "oneOf": [
  593              {
  594                "type": "boolean"
  595              },
  596              {
  597                "type": "object",
  598                "properties": {
  599                  "delay": {
  600                    "type": "number",
  601                    "default": 1000,
  602                    "minimum": 0
  603                  },
  604                  "maxAttempts": {
  605                    "type": "number",
  606                    "default": 10,
  607                    "minimum": 0
  608                  }
  609                }
  610              }
  611            ]
  612          },
  613          "runtimeSourcemapPausePatterns": {
  614            "type": "array",
  615            "default": [],
  616            "items": {
  617              "type": "string"
  618            },
  619            "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)."
  620          },
  621          "showAsyncStacks": {
  622            "description": "Show the async calls that led to the current call stack.",
  623            "default": true,
  624            "oneOf": [
  625              {
  626                "type": "boolean"
  627              },
  628              {
  629                "type": "object",
  630                "properties": {
  631                  "onAttach": {
  632                    "type": "number",
  633                    "default": 32
  634                  }
  635                },
  636                "required": [
  637                  "onAttach"
  638                ]
  639              },
  640              {
  641                "type": "object",
  642                "properties": {
  643                  "onceBreakpointResolved": {
  644                    "type": "number",
  645                    "default": 32
  646                  }
  647                },
  648                "required": [
  649                  "onceBreakpointResolved"
  650                ]
  651              }
  652            ]
  653          },
  654          "skipFiles": {
  655            "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/**\"]`",
  656            "type": "array",
  657            "default": [
  658              "${/**"
  659            ]
  660          },
  661          "smartStep": {
  662            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
  663            "type": "boolean",
  664            "default": true
  665          },
  666          "sourceMapPathOverrides": {
  667            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
  668            "type": "object",
  669            "default": {
  670              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
  671              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
  672              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
  673            }
  674          },
  675          "sourceMapRenames": {
  676            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
  677            "type": "boolean",
  678            "default": true
  679          },
  680          "sourceMaps": {
  681            "description": "Use JavaScript source maps (if they exist).",
  682            "type": "boolean",
  683            "default": true
  684          },
  685          "timeout": {
  686            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
  687            "type": "number",
  688            "default": 10000
  689          },
  690          "timeouts": {
  691            "description": "Timeouts for several debugger operations.",
  692            "type": "object",
  693            "properties": {
  694              "hoverEvaluation": {
  695                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
  696                "type": "number",
  697                "default": 500
  698              },
  699              "sourceMapCumulativePause": {
  700                "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",
  701                "type": "number",
  702                "default": 1000
  703              },
  704              "sourceMapMinPause": {
  705                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
  706                "type": "number",
  707                "default": 1000
  708              }
  709            },
  710            "additionalProperties": false,
  711            "default": {},
  712            "markdownDescription": "Timeouts for several debugger operations."
  713          },
  714          "trace": {
  715            "description": "Configures what diagnostic output is produced.",
  716            "default": true,
  717            "oneOf": [
  718              {
  719                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
  720                "type": "boolean"
  721              },
  722              {
  723                "type": "object",
  724                "properties": {
  725                  "logFile": {
  726                    "description": "Configures where on disk logs are written.",
  727                    "type": [
  728                      "string",
  729                      "null"
  730                    ]
  731                  },
  732                  "stdio": {
  733                    "description": "Whether to return trace data from the launched application or browser.",
  734                    "type": "boolean"
  735                  }
  736                },
  737                "additionalProperties": false
  738              }
  739            ]
  740          },
  741          "websocketAddress": {
  742            "description": "Exact websocket address to attach to. If unspecified, it will be discovered from the address and port.",
  743            "type": "string"
  744          }
  745        }
  746      }
  747    },
  748    {
  749      "if": {
  750        "properties": {
  751          "type": {
  752            "const": "node"
  753          },
  754          "request": {
  755            "const": "launch"
  756          }
  757        },
  758        "required": [
  759          "type",
  760          "request"
  761        ]
  762      },
  763      "then": {
  764        "properties": {
  765          "args": {
  766            "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.",
  767            "type": [
  768              "array",
  769              "string"
  770            ],
  771            "default": [],
  772            "items": {
  773              "type": "string"
  774            },
  775            "tags": [
  776              "setup"
  777            ]
  778          },
  779          "attachSimplePort": {
  780            "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.",
  781            "default": 9229,
  782            "oneOf": [
  783              {
  784                "type": "integer"
  785              },
  786              {
  787                "type": "string",
  788                "pattern": "^\\${.*}$"
  789              }
  790            ]
  791          },
  792          "autoAttachChildProcesses": {
  793            "description": "Attach debugger to new child processes automatically.",
  794            "type": "boolean",
  795            "default": true
  796          },
  797          "cascadeTerminateToConfigurations": {
  798            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
  799            "type": "array",
  800            "default": [],
  801            "items": {
  802              "type": "string",
  803              "uniqueItems": true
  804            }
  805          },
  806          "console": {
  807            "description": "Where to launch the debug target.",
  808            "type": "string",
  809            "default": "internalConsole",
  810            "enum": [
  811              "internalConsole",
  812              "integratedTerminal",
  813              "externalTerminal"
  814            ],
  815            "enumDescriptions": [
  816              "VS Code Debug Console (which doesn't support to read input from a program)",
  817              "VS Code's integrated terminal",
  818              "External terminal that can be configured via user settings"
  819            ]
  820          },
  821          "customDescriptionGenerator": {
  822            "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      ",
  823            "type": "string"
  824          },
  825          "customPropertiesGenerator": {
  826            "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",
  827            "type": "string",
  828            "deprecated": true
  829          },
  830          "cwd": {
  831            "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",
  832            "type": "string",
  833            "default": "${ZED_WORKTREE_ROOT}",
  834            "tags": [
  835              "setup"
  836            ]
  837          },
  838          "enableContentValidation": {
  839            "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.",
  840            "type": "boolean",
  841            "default": true
  842          },
  843          "enableDWARF": {
  844            "type": "boolean",
  845            "default": true,
  846            "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."
  847          },
  848          "env": {
  849            "type": "object",
  850            "additionalProperties": {
  851              "type": [
  852                "string",
  853                "null"
  854              ]
  855            },
  856            "default": {},
  857            "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
  858            "tags": [
  859              "setup"
  860            ]
  861          },
  862          "envFile": {
  863            "description": "Absolute path to a file containing environment variable definitions.",
  864            "type": "string",
  865            "default": "${ZED_WORKTREE_ROOT}/.env"
  866          },
  867          "experimentalNetworking": {
  868            "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.",
  869            "type": "string",
  870            "default": "auto",
  871            "enum": [
  872              "auto",
  873              "on",
  874              "off"
  875            ]
  876          },
  877          "killBehavior": {
  878            "type": "string",
  879            "default": "forceful",
  880            "enum": [
  881              "forceful",
  882              "polite",
  883              "none"
  884            ],
  885            "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."
  886          },
  887          "localRoot": {
  888            "description": "Path to the local directory containing the program.",
  889            "type": [
  890              "string",
  891              "null"
  892            ],
  893            "default": null
  894          },
  895          "nodeVersionHint": {
  896            "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.",
  897            "type": "number",
  898            "default": 12,
  899            "minimum": 8
  900          },
  901          "outFiles": {
  902            "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.",
  903            "type": [
  904              "array"
  905            ],
  906            "default": [
  907              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
  908              "!**/node_modules/**"
  909            ],
  910            "items": {
  911              "type": "string"
  912            },
  913            "tags": [
  914              "setup"
  915            ]
  916          },
  917          "outputCapture": {
  918            "default": "console",
  919            "enum": [
  920              "console",
  921              "std"
  922            ],
  923            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
  924          },
  925          "pauseForSourceMap": {
  926            "type": "boolean",
  927            "default": false,
  928            "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."
  929          },
  930          "profileStartup": {
  931            "description": "If true, will start profiling as soon as the process launches",
  932            "type": "boolean",
  933            "default": true
  934          },
  935          "program": {
  936            "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
  937            "type": "string",
  938            "default": "",
  939            "tags": [
  940              "setup"
  941            ]
  942          },
  943          "remoteRoot": {
  944            "description": "Absolute path to the remote directory containing the program.",
  945            "type": [
  946              "string",
  947              "null"
  948            ],
  949            "default": null
  950          },
  951          "resolveSourceMapLocations": {
  952            "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.",
  953            "type": [
  954              "array",
  955              "null"
  956            ],
  957            "default": [
  958              "${ZED_WORKTREE_ROOT}/**",
  959              "!**/node_modules/**"
  960            ],
  961            "items": {
  962              "type": "string"
  963            }
  964          },
  965          "restart": {
  966            "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.",
  967            "default": true,
  968            "oneOf": [
  969              {
  970                "type": "boolean"
  971              },
  972              {
  973                "type": "object",
  974                "properties": {
  975                  "delay": {
  976                    "type": "number",
  977                    "default": 1000,
  978                    "minimum": 0
  979                  },
  980                  "maxAttempts": {
  981                    "type": "number",
  982                    "default": 10,
  983                    "minimum": 0
  984                  }
  985                }
  986              }
  987            ]
  988          },
  989          "runtimeArgs": {
  990            "description": "Optional arguments passed to the runtime executable.",
  991            "type": "array",
  992            "default": [],
  993            "items": {
  994              "type": "string"
  995            },
  996            "tags": [
  997              "setup"
  998            ]
  999          },
 1000          "runtimeExecutable": {
 1001            "type": [
 1002              "string",
 1003              "null"
 1004            ],
 1005            "default": "node",
 1006            "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
 1007          },
 1008          "runtimeSourcemapPausePatterns": {
 1009            "type": "array",
 1010            "default": [],
 1011            "items": {
 1012              "type": "string"
 1013            },
 1014            "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)."
 1015          },
 1016          "runtimeVersion": {
 1017            "type": "string",
 1018            "default": "default",
 1019            "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
 1020          },
 1021          "showAsyncStacks": {
 1022            "description": "Show the async calls that led to the current call stack.",
 1023            "default": true,
 1024            "oneOf": [
 1025              {
 1026                "type": "boolean"
 1027              },
 1028              {
 1029                "type": "object",
 1030                "properties": {
 1031                  "onAttach": {
 1032                    "type": "number",
 1033                    "default": 32
 1034                  }
 1035                },
 1036                "required": [
 1037                  "onAttach"
 1038                ]
 1039              },
 1040              {
 1041                "type": "object",
 1042                "properties": {
 1043                  "onceBreakpointResolved": {
 1044                    "type": "number",
 1045                    "default": 32
 1046                  }
 1047                },
 1048                "required": [
 1049                  "onceBreakpointResolved"
 1050                ]
 1051              }
 1052            ]
 1053          },
 1054          "skipFiles": {
 1055            "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/**\"]`",
 1056            "type": "array",
 1057            "default": [
 1058              "${/**"
 1059            ]
 1060          },
 1061          "smartStep": {
 1062            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 1063            "type": "boolean",
 1064            "default": true
 1065          },
 1066          "sourceMapPathOverrides": {
 1067            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 1068            "type": "object",
 1069            "default": {
 1070              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 1071              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 1072              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 1073            }
 1074          },
 1075          "sourceMapRenames": {
 1076            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 1077            "type": "boolean",
 1078            "default": true
 1079          },
 1080          "sourceMaps": {
 1081            "description": "Use JavaScript source maps (if they exist).",
 1082            "type": "boolean",
 1083            "default": true
 1084          },
 1085          "stopOnEntry": {
 1086            "description": "Automatically stop program after launch.",
 1087            "type": [
 1088              "boolean",
 1089              "string"
 1090            ],
 1091            "default": true
 1092          },
 1093          "timeout": {
 1094            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 1095            "type": "number",
 1096            "default": 10000
 1097          },
 1098          "timeouts": {
 1099            "description": "Timeouts for several debugger operations.",
 1100            "type": "object",
 1101            "properties": {
 1102              "hoverEvaluation": {
 1103                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 1104                "type": "number",
 1105                "default": 500
 1106              },
 1107              "sourceMapCumulativePause": {
 1108                "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",
 1109                "type": "number",
 1110                "default": 1000
 1111              },
 1112              "sourceMapMinPause": {
 1113                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 1114                "type": "number",
 1115                "default": 1000
 1116              }
 1117            },
 1118            "additionalProperties": false,
 1119            "default": {},
 1120            "markdownDescription": "Timeouts for several debugger operations."
 1121          },
 1122          "trace": {
 1123            "description": "Configures what diagnostic output is produced.",
 1124            "default": true,
 1125            "oneOf": [
 1126              {
 1127                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 1128                "type": "boolean"
 1129              },
 1130              {
 1131                "type": "object",
 1132                "properties": {
 1133                  "logFile": {
 1134                    "description": "Configures where on disk logs are written.",
 1135                    "type": [
 1136                      "string",
 1137                      "null"
 1138                    ]
 1139                  },
 1140                  "stdio": {
 1141                    "description": "Whether to return trace data from the launched application or browser.",
 1142                    "type": "boolean"
 1143                  }
 1144                },
 1145                "additionalProperties": false
 1146              }
 1147            ]
 1148          }
 1149        }
 1150      }
 1151    },
 1152    {
 1153      "if": {
 1154        "properties": {
 1155          "type": {
 1156            "const": "node"
 1157          },
 1158          "request": {
 1159            "const": "attach"
 1160          }
 1161        },
 1162        "required": [
 1163          "type",
 1164          "request"
 1165        ]
 1166      },
 1167      "then": {
 1168        "properties": {
 1169          "address": {
 1170            "description": "TCP/IP address of process to be debugged. Default is 'localhost'.",
 1171            "type": "string",
 1172            "default": "localhost"
 1173          },
 1174          "attachExistingChildren": {
 1175            "description": "Whether to attempt to attach to already-spawned child processes.",
 1176            "type": "boolean",
 1177            "default": false
 1178          },
 1179          "autoAttachChildProcesses": {
 1180            "description": "Attach debugger to new child processes automatically.",
 1181            "type": "boolean",
 1182            "default": true
 1183          },
 1184          "cascadeTerminateToConfigurations": {
 1185            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 1186            "type": "array",
 1187            "default": [],
 1188            "items": {
 1189              "type": "string",
 1190              "uniqueItems": true
 1191            }
 1192          },
 1193          "continueOnAttach": {
 1194            "type": "boolean",
 1195            "default": true,
 1196            "markdownDescription": "If true, we'll automatically resume programs launched and waiting on `--inspect-brk`"
 1197          },
 1198          "customDescriptionGenerator": {
 1199            "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      ",
 1200            "type": "string"
 1201          },
 1202          "customPropertiesGenerator": {
 1203            "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",
 1204            "type": "string",
 1205            "deprecated": true
 1206          },
 1207          "cwd": {
 1208            "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",
 1209            "type": "string",
 1210            "default": "${ZED_WORKTREE_ROOT}",
 1211            "tags": [
 1212              "setup"
 1213            ]
 1214          },
 1215          "enableContentValidation": {
 1216            "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.",
 1217            "type": "boolean",
 1218            "default": true
 1219          },
 1220          "enableDWARF": {
 1221            "type": "boolean",
 1222            "default": true,
 1223            "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."
 1224          },
 1225          "env": {
 1226            "type": "object",
 1227            "additionalProperties": {
 1228              "type": [
 1229                "string",
 1230                "null"
 1231              ]
 1232            },
 1233            "default": {},
 1234            "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 1235            "tags": [
 1236              "setup"
 1237            ]
 1238          },
 1239          "envFile": {
 1240            "description": "Absolute path to a file containing environment variable definitions.",
 1241            "type": "string",
 1242            "default": "${ZED_WORKTREE_ROOT}/.env"
 1243          },
 1244          "localRoot": {
 1245            "description": "Path to the local directory containing the program.",
 1246            "type": [
 1247              "string",
 1248              "null"
 1249            ],
 1250            "default": null
 1251          },
 1252          "nodeVersionHint": {
 1253            "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.",
 1254            "type": "number",
 1255            "default": 12,
 1256            "minimum": 8
 1257          },
 1258          "outFiles": {
 1259            "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.",
 1260            "type": [
 1261              "array"
 1262            ],
 1263            "default": [
 1264              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 1265              "!**/node_modules/**"
 1266            ],
 1267            "items": {
 1268              "type": "string"
 1269            },
 1270            "tags": [
 1271              "setup"
 1272            ]
 1273          },
 1274          "outputCapture": {
 1275            "default": "console",
 1276            "enum": [
 1277              "console",
 1278              "std"
 1279            ],
 1280            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 1281          },
 1282          "pauseForSourceMap": {
 1283            "type": "boolean",
 1284            "default": false,
 1285            "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."
 1286          },
 1287          "port": {
 1288            "description": "Debug port to attach to. Default is 9229.",
 1289            "default": 9229,
 1290            "oneOf": [
 1291              {
 1292                "type": "integer"
 1293              },
 1294              {
 1295                "type": "string",
 1296                "pattern": "^\\${.*}$"
 1297              }
 1298            ],
 1299            "tags": [
 1300              "setup"
 1301            ]
 1302          },
 1303          "processId": {
 1304            "description": "ID of process to attach to.",
 1305            "type": "string",
 1306            "default": "${command:PickProcess}"
 1307          },
 1308          "remoteHostHeader": {
 1309            "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.",
 1310            "type": "string"
 1311          },
 1312          "remoteRoot": {
 1313            "description": "Absolute path to the remote directory containing the program.",
 1314            "type": [
 1315              "string",
 1316              "null"
 1317            ],
 1318            "default": null
 1319          },
 1320          "resolveSourceMapLocations": {
 1321            "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.",
 1322            "type": [
 1323              "array",
 1324              "null"
 1325            ],
 1326            "default": [
 1327              "${ZED_WORKTREE_ROOT}/**",
 1328              "!**/node_modules/**"
 1329            ],
 1330            "items": {
 1331              "type": "string"
 1332            }
 1333          },
 1334          "restart": {
 1335            "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.",
 1336            "default": true,
 1337            "oneOf": [
 1338              {
 1339                "type": "boolean"
 1340              },
 1341              {
 1342                "type": "object",
 1343                "properties": {
 1344                  "delay": {
 1345                    "type": "number",
 1346                    "default": 1000,
 1347                    "minimum": 0
 1348                  },
 1349                  "maxAttempts": {
 1350                    "type": "number",
 1351                    "default": 10,
 1352                    "minimum": 0
 1353                  }
 1354                }
 1355              }
 1356            ]
 1357          },
 1358          "runtimeSourcemapPausePatterns": {
 1359            "type": "array",
 1360            "default": [],
 1361            "items": {
 1362              "type": "string"
 1363            },
 1364            "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)."
 1365          },
 1366          "showAsyncStacks": {
 1367            "description": "Show the async calls that led to the current call stack.",
 1368            "default": true,
 1369            "oneOf": [
 1370              {
 1371                "type": "boolean"
 1372              },
 1373              {
 1374                "type": "object",
 1375                "properties": {
 1376                  "onAttach": {
 1377                    "type": "number",
 1378                    "default": 32
 1379                  }
 1380                },
 1381                "required": [
 1382                  "onAttach"
 1383                ]
 1384              },
 1385              {
 1386                "type": "object",
 1387                "properties": {
 1388                  "onceBreakpointResolved": {
 1389                    "type": "number",
 1390                    "default": 32
 1391                  }
 1392                },
 1393                "required": [
 1394                  "onceBreakpointResolved"
 1395                ]
 1396              }
 1397            ]
 1398          },
 1399          "skipFiles": {
 1400            "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/**\"]`",
 1401            "type": "array",
 1402            "default": [
 1403              "${/**"
 1404            ]
 1405          },
 1406          "smartStep": {
 1407            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 1408            "type": "boolean",
 1409            "default": true
 1410          },
 1411          "sourceMapPathOverrides": {
 1412            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 1413            "type": "object",
 1414            "default": {
 1415              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 1416              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 1417              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 1418            }
 1419          },
 1420          "sourceMapRenames": {
 1421            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 1422            "type": "boolean",
 1423            "default": true
 1424          },
 1425          "sourceMaps": {
 1426            "description": "Use JavaScript source maps (if they exist).",
 1427            "type": "boolean",
 1428            "default": true
 1429          },
 1430          "timeout": {
 1431            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 1432            "type": "number",
 1433            "default": 10000
 1434          },
 1435          "timeouts": {
 1436            "description": "Timeouts for several debugger operations.",
 1437            "type": "object",
 1438            "properties": {
 1439              "hoverEvaluation": {
 1440                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 1441                "type": "number",
 1442                "default": 500
 1443              },
 1444              "sourceMapCumulativePause": {
 1445                "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",
 1446                "type": "number",
 1447                "default": 1000
 1448              },
 1449              "sourceMapMinPause": {
 1450                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 1451                "type": "number",
 1452                "default": 1000
 1453              }
 1454            },
 1455            "additionalProperties": false,
 1456            "default": {},
 1457            "markdownDescription": "Timeouts for several debugger operations."
 1458          },
 1459          "trace": {
 1460            "description": "Configures what diagnostic output is produced.",
 1461            "default": true,
 1462            "oneOf": [
 1463              {
 1464                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 1465                "type": "boolean"
 1466              },
 1467              {
 1468                "type": "object",
 1469                "properties": {
 1470                  "logFile": {
 1471                    "description": "Configures where on disk logs are written.",
 1472                    "type": [
 1473                      "string",
 1474                      "null"
 1475                    ]
 1476                  },
 1477                  "stdio": {
 1478                    "description": "Whether to return trace data from the launched application or browser.",
 1479                    "type": "boolean"
 1480                  }
 1481                },
 1482                "additionalProperties": false
 1483              }
 1484            ]
 1485          },
 1486          "websocketAddress": {
 1487            "description": "Exact websocket address to attach to. If unspecified, it will be discovered from the address and port.",
 1488            "type": "string"
 1489          }
 1490        }
 1491      }
 1492    },
 1493    {
 1494      "if": {
 1495        "properties": {
 1496          "type": {
 1497            "const": "node-terminal"
 1498          },
 1499          "request": {
 1500            "const": "launch"
 1501          }
 1502        },
 1503        "required": [
 1504          "type",
 1505          "request"
 1506        ]
 1507      },
 1508      "then": {
 1509        "properties": {
 1510          "autoAttachChildProcesses": {
 1511            "description": "Attach debugger to new child processes automatically.",
 1512            "type": "boolean",
 1513            "default": true
 1514          },
 1515          "cascadeTerminateToConfigurations": {
 1516            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 1517            "type": "array",
 1518            "default": [],
 1519            "items": {
 1520              "type": "string",
 1521              "uniqueItems": true
 1522            }
 1523          },
 1524          "command": {
 1525            "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
 1526            "type": [
 1527              "string",
 1528              "null"
 1529            ],
 1530            "default": "npm start",
 1531            "tags": [
 1532              "setup"
 1533            ]
 1534          },
 1535          "customDescriptionGenerator": {
 1536            "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      ",
 1537            "type": "string"
 1538          },
 1539          "customPropertiesGenerator": {
 1540            "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",
 1541            "type": "string",
 1542            "deprecated": true
 1543          },
 1544          "cwd": {
 1545            "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",
 1546            "type": "string",
 1547            "default": "${ZED_WORKTREE_ROOT}",
 1548            "tags": [
 1549              "setup"
 1550            ]
 1551          },
 1552          "enableContentValidation": {
 1553            "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.",
 1554            "type": "boolean",
 1555            "default": true
 1556          },
 1557          "enableDWARF": {
 1558            "type": "boolean",
 1559            "default": true,
 1560            "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."
 1561          },
 1562          "env": {
 1563            "type": "object",
 1564            "additionalProperties": {
 1565              "type": [
 1566                "string",
 1567                "null"
 1568              ]
 1569            },
 1570            "default": {},
 1571            "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 1572            "tags": [
 1573              "setup"
 1574            ]
 1575          },
 1576          "envFile": {
 1577            "description": "Absolute path to a file containing environment variable definitions.",
 1578            "type": "string",
 1579            "default": "${ZED_WORKTREE_ROOT}/.env"
 1580          },
 1581          "localRoot": {
 1582            "description": "Path to the local directory containing the program.",
 1583            "type": [
 1584              "string",
 1585              "null"
 1586            ],
 1587            "default": null
 1588          },
 1589          "nodeVersionHint": {
 1590            "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.",
 1591            "type": "number",
 1592            "default": 12,
 1593            "minimum": 8
 1594          },
 1595          "outFiles": {
 1596            "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.",
 1597            "type": [
 1598              "array"
 1599            ],
 1600            "default": [
 1601              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 1602              "!**/node_modules/**"
 1603            ],
 1604            "items": {
 1605              "type": "string"
 1606            },
 1607            "tags": [
 1608              "setup"
 1609            ]
 1610          },
 1611          "outputCapture": {
 1612            "default": "console",
 1613            "enum": [
 1614              "console",
 1615              "std"
 1616            ],
 1617            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 1618          },
 1619          "pauseForSourceMap": {
 1620            "type": "boolean",
 1621            "default": false,
 1622            "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."
 1623          },
 1624          "remoteRoot": {
 1625            "description": "Absolute path to the remote directory containing the program.",
 1626            "type": [
 1627              "string",
 1628              "null"
 1629            ],
 1630            "default": null
 1631          },
 1632          "resolveSourceMapLocations": {
 1633            "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.",
 1634            "type": [
 1635              "array",
 1636              "null"
 1637            ],
 1638            "default": [
 1639              "${ZED_WORKTREE_ROOT}/**",
 1640              "!**/node_modules/**"
 1641            ],
 1642            "items": {
 1643              "type": "string"
 1644            }
 1645          },
 1646          "runtimeSourcemapPausePatterns": {
 1647            "type": "array",
 1648            "default": [],
 1649            "items": {
 1650              "type": "string"
 1651            },
 1652            "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)."
 1653          },
 1654          "showAsyncStacks": {
 1655            "description": "Show the async calls that led to the current call stack.",
 1656            "default": true,
 1657            "oneOf": [
 1658              {
 1659                "type": "boolean"
 1660              },
 1661              {
 1662                "type": "object",
 1663                "properties": {
 1664                  "onAttach": {
 1665                    "type": "number",
 1666                    "default": 32
 1667                  }
 1668                },
 1669                "required": [
 1670                  "onAttach"
 1671                ]
 1672              },
 1673              {
 1674                "type": "object",
 1675                "properties": {
 1676                  "onceBreakpointResolved": {
 1677                    "type": "number",
 1678                    "default": 32
 1679                  }
 1680                },
 1681                "required": [
 1682                  "onceBreakpointResolved"
 1683                ]
 1684              }
 1685            ]
 1686          },
 1687          "skipFiles": {
 1688            "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/**\"]`",
 1689            "type": "array",
 1690            "default": [
 1691              "${/**"
 1692            ]
 1693          },
 1694          "smartStep": {
 1695            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 1696            "type": "boolean",
 1697            "default": true
 1698          },
 1699          "sourceMapPathOverrides": {
 1700            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 1701            "type": "object",
 1702            "default": {
 1703              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 1704              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 1705              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 1706            }
 1707          },
 1708          "sourceMapRenames": {
 1709            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 1710            "type": "boolean",
 1711            "default": true
 1712          },
 1713          "sourceMaps": {
 1714            "description": "Use JavaScript source maps (if they exist).",
 1715            "type": "boolean",
 1716            "default": true
 1717          },
 1718          "timeout": {
 1719            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 1720            "type": "number",
 1721            "default": 10000
 1722          },
 1723          "timeouts": {
 1724            "description": "Timeouts for several debugger operations.",
 1725            "type": "object",
 1726            "properties": {
 1727              "hoverEvaluation": {
 1728                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 1729                "type": "number",
 1730                "default": 500
 1731              },
 1732              "sourceMapCumulativePause": {
 1733                "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",
 1734                "type": "number",
 1735                "default": 1000
 1736              },
 1737              "sourceMapMinPause": {
 1738                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 1739                "type": "number",
 1740                "default": 1000
 1741              }
 1742            },
 1743            "additionalProperties": false,
 1744            "default": {},
 1745            "markdownDescription": "Timeouts for several debugger operations."
 1746          },
 1747          "trace": {
 1748            "description": "Configures what diagnostic output is produced.",
 1749            "default": true,
 1750            "oneOf": [
 1751              {
 1752                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 1753                "type": "boolean"
 1754              },
 1755              {
 1756                "type": "object",
 1757                "properties": {
 1758                  "logFile": {
 1759                    "description": "Configures where on disk logs are written.",
 1760                    "type": [
 1761                      "string",
 1762                      "null"
 1763                    ]
 1764                  },
 1765                  "stdio": {
 1766                    "description": "Whether to return trace data from the launched application or browser.",
 1767                    "type": "boolean"
 1768                  }
 1769                },
 1770                "additionalProperties": false
 1771              }
 1772            ]
 1773          }
 1774        }
 1775      }
 1776    },
 1777    {
 1778      "if": {
 1779        "properties": {
 1780          "type": {
 1781            "const": "pwa-extensionHost"
 1782          },
 1783          "request": {
 1784            "const": "launch"
 1785          }
 1786        },
 1787        "required": [
 1788          "type",
 1789          "request"
 1790        ]
 1791      },
 1792      "then": {
 1793        "properties": {
 1794          "args": {
 1795            "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.",
 1796            "type": "array",
 1797            "default": [
 1798              "--extensionDevelopmentPath=${ZED_WORKTREE_ROOT}"
 1799            ],
 1800            "items": {
 1801              "type": "string"
 1802            },
 1803            "tags": [
 1804              "setup"
 1805            ]
 1806          },
 1807          "autoAttachChildProcesses": {
 1808            "description": "Attach debugger to new child processes automatically.",
 1809            "type": "boolean",
 1810            "default": true
 1811          },
 1812          "cascadeTerminateToConfigurations": {
 1813            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 1814            "type": "array",
 1815            "default": [],
 1816            "items": {
 1817              "type": "string",
 1818              "uniqueItems": true
 1819            }
 1820          },
 1821          "customDescriptionGenerator": {
 1822            "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      ",
 1823            "type": "string"
 1824          },
 1825          "customPropertiesGenerator": {
 1826            "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",
 1827            "type": "string",
 1828            "deprecated": true
 1829          },
 1830          "cwd": {
 1831            "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",
 1832            "type": "string",
 1833            "default": "${ZED_WORKTREE_ROOT}",
 1834            "tags": [
 1835              "setup"
 1836            ]
 1837          },
 1838          "debugWebWorkerHost": {
 1839            "type": [
 1840              "boolean"
 1841            ],
 1842            "default": true,
 1843            "markdownDescription": "Configures whether we should try to attach to the web worker extension host."
 1844          },
 1845          "debugWebviews": {
 1846            "type": [
 1847              "boolean"
 1848            ],
 1849            "default": true,
 1850            "markdownDescription": "Configures whether we should try to attach to webviews in the launched VS Code instance. This will only work in desktop VS Code."
 1851          },
 1852          "enableContentValidation": {
 1853            "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.",
 1854            "type": "boolean",
 1855            "default": true
 1856          },
 1857          "enableDWARF": {
 1858            "type": "boolean",
 1859            "default": true,
 1860            "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."
 1861          },
 1862          "env": {
 1863            "type": "object",
 1864            "additionalProperties": {
 1865              "type": [
 1866                "string",
 1867                "null"
 1868              ]
 1869            },
 1870            "default": {},
 1871            "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 1872            "tags": [
 1873              "setup"
 1874            ]
 1875          },
 1876          "envFile": {
 1877            "description": "Absolute path to a file containing environment variable definitions.",
 1878            "type": "string",
 1879            "default": "${ZED_WORKTREE_ROOT}/.env"
 1880          },
 1881          "localRoot": {
 1882            "description": "Path to the local directory containing the program.",
 1883            "type": [
 1884              "string",
 1885              "null"
 1886            ],
 1887            "default": null
 1888          },
 1889          "nodeVersionHint": {
 1890            "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.",
 1891            "type": "number",
 1892            "default": 12,
 1893            "minimum": 8
 1894          },
 1895          "outFiles": {
 1896            "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.",
 1897            "type": [
 1898              "array"
 1899            ],
 1900            "default": [
 1901              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 1902              "!**/node_modules/**"
 1903            ],
 1904            "items": {
 1905              "type": "string"
 1906            },
 1907            "tags": [
 1908              "setup"
 1909            ]
 1910          },
 1911          "outputCapture": {
 1912            "default": "console",
 1913            "enum": [
 1914              "console",
 1915              "std"
 1916            ],
 1917            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 1918          },
 1919          "pauseForSourceMap": {
 1920            "type": "boolean",
 1921            "default": false,
 1922            "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."
 1923          },
 1924          "remoteRoot": {
 1925            "description": "Absolute path to the remote directory containing the program.",
 1926            "type": [
 1927              "string",
 1928              "null"
 1929            ],
 1930            "default": null
 1931          },
 1932          "rendererDebugOptions": {
 1933            "type": "object",
 1934            "properties": {
 1935              "address": {
 1936                "description": "IP address or hostname the debugged browser is listening on.",
 1937                "type": "string",
 1938                "default": "localhost"
 1939              },
 1940              "browserAttachLocation": {
 1941                "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.",
 1942                "default": null,
 1943                "oneOf": [
 1944                  {
 1945                    "type": "null"
 1946                  },
 1947                  {
 1948                    "type": "string",
 1949                    "enum": [
 1950                      "ui",
 1951                      "workspace"
 1952                    ]
 1953                  }
 1954                ]
 1955              },
 1956              "cascadeTerminateToConfigurations": {
 1957                "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 1958                "type": "array",
 1959                "default": [],
 1960                "items": {
 1961                  "type": "string",
 1962                  "uniqueItems": true
 1963                }
 1964              },
 1965              "customDescriptionGenerator": {
 1966                "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      ",
 1967                "type": "string"
 1968              },
 1969              "customPropertiesGenerator": {
 1970                "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",
 1971                "type": "string",
 1972                "deprecated": true
 1973              },
 1974              "disableNetworkCache": {
 1975                "description": "Controls whether to skip the network cache for each request",
 1976                "type": "boolean",
 1977                "default": true
 1978              },
 1979              "enableContentValidation": {
 1980                "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.",
 1981                "type": "boolean",
 1982                "default": true
 1983              },
 1984              "enableDWARF": {
 1985                "type": "boolean",
 1986                "default": true,
 1987                "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."
 1988              },
 1989              "inspectUri": {
 1990                "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",
 1991                "type": [
 1992                  "string",
 1993                  "null"
 1994                ],
 1995                "default": null
 1996              },
 1997              "outFiles": {
 1998                "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.",
 1999                "type": [
 2000                  "array"
 2001                ],
 2002                "default": [
 2003                  "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 2004                  "!**/node_modules/**"
 2005                ],
 2006                "items": {
 2007                  "type": "string"
 2008                },
 2009                "tags": [
 2010                  "setup"
 2011                ]
 2012              },
 2013              "outputCapture": {
 2014                "default": "console",
 2015                "enum": [
 2016                  "console",
 2017                  "std"
 2018                ],
 2019                "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 2020              },
 2021              "pathMapping": {
 2022                "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
 2023                "type": "object",
 2024                "default": {}
 2025              },
 2026              "pauseForSourceMap": {
 2027                "type": "boolean",
 2028                "default": false,
 2029                "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."
 2030              },
 2031              "perScriptSourcemaps": {
 2032                "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.",
 2033                "type": "string",
 2034                "default": "auto",
 2035                "enum": [
 2036                  "yes",
 2037                  "no",
 2038                  "auto"
 2039                ]
 2040              },
 2041              "port": {
 2042                "description": "Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.",
 2043                "default": 9229,
 2044                "oneOf": [
 2045                  {
 2046                    "type": "integer"
 2047                  },
 2048                  {
 2049                    "type": "string",
 2050                    "pattern": "^\\${.*}$"
 2051                  }
 2052                ],
 2053                "tags": [
 2054                  "setup"
 2055                ]
 2056              },
 2057              "resolveSourceMapLocations": {
 2058                "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.",
 2059                "type": [
 2060                  "array",
 2061                  "null"
 2062                ],
 2063                "default": null,
 2064                "items": {
 2065                  "type": "string"
 2066                }
 2067              },
 2068              "restart": {
 2069                "type": "boolean",
 2070                "default": false,
 2071                "markdownDescription": "Whether to reconnect if the browser connection is closed"
 2072              },
 2073              "server": {
 2074                "oneOf": [
 2075                  {
 2076                    "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
 2077                    "type": "object",
 2078                    "properties": {
 2079                      "args": {
 2080                        "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.",
 2081                        "type": [
 2082                          "array",
 2083                          "string"
 2084                        ],
 2085                        "default": [],
 2086                        "items": {
 2087                          "type": "string"
 2088                        },
 2089                        "tags": [
 2090                          "setup"
 2091                        ]
 2092                      },
 2093                      "attachSimplePort": {
 2094                        "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.",
 2095                        "default": 9229,
 2096                        "oneOf": [
 2097                          {
 2098                            "type": "integer"
 2099                          },
 2100                          {
 2101                            "type": "string",
 2102                            "pattern": "^\\${.*}$"
 2103                          }
 2104                        ]
 2105                      },
 2106                      "autoAttachChildProcesses": {
 2107                        "description": "Attach debugger to new child processes automatically.",
 2108                        "type": "boolean",
 2109                        "default": true
 2110                      },
 2111                      "cascadeTerminateToConfigurations": {
 2112                        "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 2113                        "type": "array",
 2114                        "default": [],
 2115                        "items": {
 2116                          "type": "string",
 2117                          "uniqueItems": true
 2118                        }
 2119                      },
 2120                      "console": {
 2121                        "description": "Where to launch the debug target.",
 2122                        "type": "string",
 2123                        "default": "internalConsole",
 2124                        "enum": [
 2125                          "internalConsole",
 2126                          "integratedTerminal",
 2127                          "externalTerminal"
 2128                        ],
 2129                        "enumDescriptions": [
 2130                          "VS Code Debug Console (which doesn't support to read input from a program)",
 2131                          "VS Code's integrated terminal",
 2132                          "External terminal that can be configured via user settings"
 2133                        ]
 2134                      },
 2135                      "customDescriptionGenerator": {
 2136                        "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      ",
 2137                        "type": "string"
 2138                      },
 2139                      "customPropertiesGenerator": {
 2140                        "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",
 2141                        "type": "string",
 2142                        "deprecated": true
 2143                      },
 2144                      "cwd": {
 2145                        "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",
 2146                        "type": "string",
 2147                        "default": "${ZED_WORKTREE_ROOT}",
 2148                        "tags": [
 2149                          "setup"
 2150                        ]
 2151                      },
 2152                      "enableContentValidation": {
 2153                        "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.",
 2154                        "type": "boolean",
 2155                        "default": true
 2156                      },
 2157                      "enableDWARF": {
 2158                        "type": "boolean",
 2159                        "default": true,
 2160                        "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."
 2161                      },
 2162                      "env": {
 2163                        "type": "object",
 2164                        "additionalProperties": {
 2165                          "type": [
 2166                            "string",
 2167                            "null"
 2168                          ]
 2169                        },
 2170                        "default": {},
 2171                        "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 2172                        "tags": [
 2173                          "setup"
 2174                        ]
 2175                      },
 2176                      "envFile": {
 2177                        "description": "Absolute path to a file containing environment variable definitions.",
 2178                        "type": "string",
 2179                        "default": "${ZED_WORKTREE_ROOT}/.env"
 2180                      },
 2181                      "experimentalNetworking": {
 2182                        "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.",
 2183                        "type": "string",
 2184                        "default": "auto",
 2185                        "enum": [
 2186                          "auto",
 2187                          "on",
 2188                          "off"
 2189                        ]
 2190                      },
 2191                      "killBehavior": {
 2192                        "type": "string",
 2193                        "default": "forceful",
 2194                        "enum": [
 2195                          "forceful",
 2196                          "polite",
 2197                          "none"
 2198                        ],
 2199                        "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."
 2200                      },
 2201                      "localRoot": {
 2202                        "description": "Path to the local directory containing the program.",
 2203                        "type": [
 2204                          "string",
 2205                          "null"
 2206                        ],
 2207                        "default": null
 2208                      },
 2209                      "nodeVersionHint": {
 2210                        "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.",
 2211                        "type": "number",
 2212                        "default": 12,
 2213                        "minimum": 8
 2214                      },
 2215                      "outFiles": {
 2216                        "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.",
 2217                        "type": [
 2218                          "array"
 2219                        ],
 2220                        "default": [
 2221                          "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 2222                          "!**/node_modules/**"
 2223                        ],
 2224                        "items": {
 2225                          "type": "string"
 2226                        },
 2227                        "tags": [
 2228                          "setup"
 2229                        ]
 2230                      },
 2231                      "outputCapture": {
 2232                        "default": "console",
 2233                        "enum": [
 2234                          "console",
 2235                          "std"
 2236                        ],
 2237                        "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 2238                      },
 2239                      "pauseForSourceMap": {
 2240                        "type": "boolean",
 2241                        "default": false,
 2242                        "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."
 2243                      },
 2244                      "profileStartup": {
 2245                        "description": "If true, will start profiling as soon as the process launches",
 2246                        "type": "boolean",
 2247                        "default": true
 2248                      },
 2249                      "program": {
 2250                        "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
 2251                        "type": "string",
 2252                        "default": "",
 2253                        "tags": [
 2254                          "setup"
 2255                        ]
 2256                      },
 2257                      "remoteRoot": {
 2258                        "description": "Absolute path to the remote directory containing the program.",
 2259                        "type": [
 2260                          "string",
 2261                          "null"
 2262                        ],
 2263                        "default": null
 2264                      },
 2265                      "resolveSourceMapLocations": {
 2266                        "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.",
 2267                        "type": [
 2268                          "array",
 2269                          "null"
 2270                        ],
 2271                        "default": [
 2272                          "${ZED_WORKTREE_ROOT}/**",
 2273                          "!**/node_modules/**"
 2274                        ],
 2275                        "items": {
 2276                          "type": "string"
 2277                        }
 2278                      },
 2279                      "restart": {
 2280                        "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.",
 2281                        "default": true,
 2282                        "oneOf": [
 2283                          {
 2284                            "type": "boolean"
 2285                          },
 2286                          {
 2287                            "type": "object",
 2288                            "properties": {
 2289                              "delay": {
 2290                                "type": "number",
 2291                                "default": 1000,
 2292                                "minimum": 0
 2293                              },
 2294                              "maxAttempts": {
 2295                                "type": "number",
 2296                                "default": 10,
 2297                                "minimum": 0
 2298                              }
 2299                            }
 2300                          }
 2301                        ]
 2302                      },
 2303                      "runtimeArgs": {
 2304                        "description": "Optional arguments passed to the runtime executable.",
 2305                        "type": "array",
 2306                        "default": [],
 2307                        "items": {
 2308                          "type": "string"
 2309                        },
 2310                        "tags": [
 2311                          "setup"
 2312                        ]
 2313                      },
 2314                      "runtimeExecutable": {
 2315                        "type": [
 2316                          "string",
 2317                          "null"
 2318                        ],
 2319                        "default": "node",
 2320                        "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
 2321                      },
 2322                      "runtimeSourcemapPausePatterns": {
 2323                        "type": "array",
 2324                        "default": [],
 2325                        "items": {
 2326                          "type": "string"
 2327                        },
 2328                        "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)."
 2329                      },
 2330                      "runtimeVersion": {
 2331                        "type": "string",
 2332                        "default": "default",
 2333                        "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
 2334                      },
 2335                      "showAsyncStacks": {
 2336                        "description": "Show the async calls that led to the current call stack.",
 2337                        "default": true,
 2338                        "oneOf": [
 2339                          {
 2340                            "type": "boolean"
 2341                          },
 2342                          {
 2343                            "type": "object",
 2344                            "properties": {
 2345                              "onAttach": {
 2346                                "type": "number",
 2347                                "default": 32
 2348                              }
 2349                            },
 2350                            "required": [
 2351                              "onAttach"
 2352                            ]
 2353                          },
 2354                          {
 2355                            "type": "object",
 2356                            "properties": {
 2357                              "onceBreakpointResolved": {
 2358                                "type": "number",
 2359                                "default": 32
 2360                              }
 2361                            },
 2362                            "required": [
 2363                              "onceBreakpointResolved"
 2364                            ]
 2365                          }
 2366                        ]
 2367                      },
 2368                      "skipFiles": {
 2369                        "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/**\"]`",
 2370                        "type": "array",
 2371                        "default": [
 2372                          "${/**"
 2373                        ]
 2374                      },
 2375                      "smartStep": {
 2376                        "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 2377                        "type": "boolean",
 2378                        "default": true
 2379                      },
 2380                      "sourceMapPathOverrides": {
 2381                        "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 2382                        "type": "object",
 2383                        "default": {
 2384                          "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 2385                          "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 2386                          "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 2387                        }
 2388                      },
 2389                      "sourceMapRenames": {
 2390                        "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 2391                        "type": "boolean",
 2392                        "default": true
 2393                      },
 2394                      "sourceMaps": {
 2395                        "description": "Use JavaScript source maps (if they exist).",
 2396                        "type": "boolean",
 2397                        "default": true
 2398                      },
 2399                      "stopOnEntry": {
 2400                        "description": "Automatically stop program after launch.",
 2401                        "type": [
 2402                          "boolean",
 2403                          "string"
 2404                        ],
 2405                        "default": true
 2406                      },
 2407                      "timeout": {
 2408                        "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 2409                        "type": "number",
 2410                        "default": 10000
 2411                      },
 2412                      "timeouts": {
 2413                        "description": "Timeouts for several debugger operations.",
 2414                        "type": "object",
 2415                        "properties": {
 2416                          "hoverEvaluation": {
 2417                            "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 2418                            "type": "number",
 2419                            "default": 500
 2420                          },
 2421                          "sourceMapCumulativePause": {
 2422                            "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",
 2423                            "type": "number",
 2424                            "default": 1000
 2425                          },
 2426                          "sourceMapMinPause": {
 2427                            "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 2428                            "type": "number",
 2429                            "default": 1000
 2430                          }
 2431                        },
 2432                        "additionalProperties": false,
 2433                        "default": {},
 2434                        "markdownDescription": "Timeouts for several debugger operations."
 2435                      },
 2436                      "trace": {
 2437                        "description": "Configures what diagnostic output is produced.",
 2438                        "default": true,
 2439                        "oneOf": [
 2440                          {
 2441                            "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 2442                            "type": "boolean"
 2443                          },
 2444                          {
 2445                            "type": "object",
 2446                            "properties": {
 2447                              "logFile": {
 2448                                "description": "Configures where on disk logs are written.",
 2449                                "type": [
 2450                                  "string",
 2451                                  "null"
 2452                                ]
 2453                              },
 2454                              "stdio": {
 2455                                "description": "Whether to return trace data from the launched application or browser.",
 2456                                "type": "boolean"
 2457                              }
 2458                            },
 2459                            "additionalProperties": false
 2460                          }
 2461                        ]
 2462                      }
 2463                    },
 2464                    "additionalProperties": false,
 2465                    "default": {
 2466                      "program": "node my-server.js"
 2467                    }
 2468                  },
 2469                  {
 2470                    "description": "JavaScript Debug Terminal",
 2471                    "type": "object",
 2472                    "properties": {
 2473                      "autoAttachChildProcesses": {
 2474                        "description": "Attach debugger to new child processes automatically.",
 2475                        "type": "boolean",
 2476                        "default": true
 2477                      },
 2478                      "cascadeTerminateToConfigurations": {
 2479                        "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 2480                        "type": "array",
 2481                        "default": [],
 2482                        "items": {
 2483                          "type": "string",
 2484                          "uniqueItems": true
 2485                        }
 2486                      },
 2487                      "command": {
 2488                        "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
 2489                        "type": [
 2490                          "string",
 2491                          "null"
 2492                        ],
 2493                        "default": "npm start",
 2494                        "tags": [
 2495                          "setup"
 2496                        ]
 2497                      },
 2498                      "customDescriptionGenerator": {
 2499                        "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      ",
 2500                        "type": "string"
 2501                      },
 2502                      "customPropertiesGenerator": {
 2503                        "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",
 2504                        "type": "string",
 2505                        "deprecated": true
 2506                      },
 2507                      "cwd": {
 2508                        "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",
 2509                        "type": "string",
 2510                        "default": "${ZED_WORKTREE_ROOT}",
 2511                        "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
 2512                        "tags": [
 2513                          "setup"
 2514                        ]
 2515                      },
 2516                      "enableContentValidation": {
 2517                        "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.",
 2518                        "type": "boolean",
 2519                        "default": true
 2520                      },
 2521                      "enableDWARF": {
 2522                        "type": "boolean",
 2523                        "default": true,
 2524                        "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."
 2525                      },
 2526                      "env": {
 2527                        "type": "object",
 2528                        "additionalProperties": {
 2529                          "type": [
 2530                            "string",
 2531                            "null"
 2532                          ]
 2533                        },
 2534                        "default": {},
 2535                        "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 2536                        "tags": [
 2537                          "setup"
 2538                        ]
 2539                      },
 2540                      "envFile": {
 2541                        "description": "Absolute path to a file containing environment variable definitions.",
 2542                        "type": "string",
 2543                        "default": "${ZED_WORKTREE_ROOT}/.env"
 2544                      },
 2545                      "localRoot": {
 2546                        "description": "Path to the local directory containing the program.",
 2547                        "type": [
 2548                          "string",
 2549                          "null"
 2550                        ],
 2551                        "default": null
 2552                      },
 2553                      "nodeVersionHint": {
 2554                        "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.",
 2555                        "type": "number",
 2556                        "default": 12,
 2557                        "minimum": 8
 2558                      },
 2559                      "outFiles": {
 2560                        "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.",
 2561                        "type": [
 2562                          "array"
 2563                        ],
 2564                        "default": [
 2565                          "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 2566                          "!**/node_modules/**"
 2567                        ],
 2568                        "items": {
 2569                          "type": "string"
 2570                        },
 2571                        "tags": [
 2572                          "setup"
 2573                        ]
 2574                      },
 2575                      "outputCapture": {
 2576                        "default": "console",
 2577                        "enum": [
 2578                          "console",
 2579                          "std"
 2580                        ],
 2581                        "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 2582                      },
 2583                      "pauseForSourceMap": {
 2584                        "type": "boolean",
 2585                        "default": false,
 2586                        "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."
 2587                      },
 2588                      "remoteRoot": {
 2589                        "description": "Absolute path to the remote directory containing the program.",
 2590                        "type": [
 2591                          "string",
 2592                          "null"
 2593                        ],
 2594                        "default": null
 2595                      },
 2596                      "resolveSourceMapLocations": {
 2597                        "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.",
 2598                        "type": [
 2599                          "array",
 2600                          "null"
 2601                        ],
 2602                        "default": [
 2603                          "${ZED_WORKTREE_ROOT}/**",
 2604                          "!**/node_modules/**"
 2605                        ],
 2606                        "items": {
 2607                          "type": "string"
 2608                        }
 2609                      },
 2610                      "runtimeSourcemapPausePatterns": {
 2611                        "type": "array",
 2612                        "default": [],
 2613                        "items": {
 2614                          "type": "string"
 2615                        },
 2616                        "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)."
 2617                      },
 2618                      "showAsyncStacks": {
 2619                        "description": "Show the async calls that led to the current call stack.",
 2620                        "default": true,
 2621                        "oneOf": [
 2622                          {
 2623                            "type": "boolean"
 2624                          },
 2625                          {
 2626                            "type": "object",
 2627                            "properties": {
 2628                              "onAttach": {
 2629                                "type": "number",
 2630                                "default": 32
 2631                              }
 2632                            },
 2633                            "required": [
 2634                              "onAttach"
 2635                            ]
 2636                          },
 2637                          {
 2638                            "type": "object",
 2639                            "properties": {
 2640                              "onceBreakpointResolved": {
 2641                                "type": "number",
 2642                                "default": 32
 2643                              }
 2644                            },
 2645                            "required": [
 2646                              "onceBreakpointResolved"
 2647                            ]
 2648                          }
 2649                        ]
 2650                      },
 2651                      "skipFiles": {
 2652                        "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/**\"]`",
 2653                        "type": "array",
 2654                        "default": [
 2655                          "${/**"
 2656                        ]
 2657                      },
 2658                      "smartStep": {
 2659                        "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 2660                        "type": "boolean",
 2661                        "default": true
 2662                      },
 2663                      "sourceMapPathOverrides": {
 2664                        "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 2665                        "type": "object",
 2666                        "default": {
 2667                          "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 2668                          "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 2669                          "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 2670                        }
 2671                      },
 2672                      "sourceMapRenames": {
 2673                        "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 2674                        "type": "boolean",
 2675                        "default": true
 2676                      },
 2677                      "sourceMaps": {
 2678                        "description": "Use JavaScript source maps (if they exist).",
 2679                        "type": "boolean",
 2680                        "default": true
 2681                      },
 2682                      "timeout": {
 2683                        "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 2684                        "type": "number",
 2685                        "default": 10000
 2686                      },
 2687                      "timeouts": {
 2688                        "description": "Timeouts for several debugger operations.",
 2689                        "type": "object",
 2690                        "properties": {
 2691                          "hoverEvaluation": {
 2692                            "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 2693                            "type": "number",
 2694                            "default": 500
 2695                          },
 2696                          "sourceMapCumulativePause": {
 2697                            "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",
 2698                            "type": "number",
 2699                            "default": 1000
 2700                          },
 2701                          "sourceMapMinPause": {
 2702                            "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 2703                            "type": "number",
 2704                            "default": 1000
 2705                          }
 2706                        },
 2707                        "additionalProperties": false,
 2708                        "default": {},
 2709                        "markdownDescription": "Timeouts for several debugger operations."
 2710                      },
 2711                      "trace": {
 2712                        "description": "Configures what diagnostic output is produced.",
 2713                        "default": true,
 2714                        "oneOf": [
 2715                          {
 2716                            "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 2717                            "type": "boolean"
 2718                          },
 2719                          {
 2720                            "type": "object",
 2721                            "properties": {
 2722                              "logFile": {
 2723                                "description": "Configures where on disk logs are written.",
 2724                                "type": [
 2725                                  "string",
 2726                                  "null"
 2727                                ]
 2728                              },
 2729                              "stdio": {
 2730                                "description": "Whether to return trace data from the launched application or browser.",
 2731                                "type": "boolean"
 2732                              }
 2733                            },
 2734                            "additionalProperties": false
 2735                          }
 2736                        ]
 2737                      }
 2738                    },
 2739                    "additionalProperties": false,
 2740                    "default": {
 2741                      "program": "npm start"
 2742                    }
 2743                  }
 2744                ]
 2745              },
 2746              "showAsyncStacks": {
 2747                "description": "Show the async calls that led to the current call stack.",
 2748                "default": true,
 2749                "oneOf": [
 2750                  {
 2751                    "type": "boolean"
 2752                  },
 2753                  {
 2754                    "type": "object",
 2755                    "properties": {
 2756                      "onAttach": {
 2757                        "type": "number",
 2758                        "default": 32
 2759                      }
 2760                    },
 2761                    "required": [
 2762                      "onAttach"
 2763                    ]
 2764                  },
 2765                  {
 2766                    "type": "object",
 2767                    "properties": {
 2768                      "onceBreakpointResolved": {
 2769                        "type": "number",
 2770                        "default": 32
 2771                      }
 2772                    },
 2773                    "required": [
 2774                      "onceBreakpointResolved"
 2775                    ]
 2776                  }
 2777                ]
 2778              },
 2779              "skipFiles": {
 2780                "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/**\"]`",
 2781                "type": "array",
 2782                "default": [
 2783                  "${/**"
 2784                ]
 2785              },
 2786              "smartStep": {
 2787                "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 2788                "type": "boolean",
 2789                "default": true
 2790              },
 2791              "sourceMapPathOverrides": {
 2792                "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 2793                "type": "object",
 2794                "default": {
 2795                  "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 2796                  "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 2797                  "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 2798                }
 2799              },
 2800              "sourceMapRenames": {
 2801                "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 2802                "type": "boolean",
 2803                "default": true
 2804              },
 2805              "sourceMaps": {
 2806                "description": "Use JavaScript source maps (if they exist).",
 2807                "type": "boolean",
 2808                "default": true
 2809              },
 2810              "targetSelection": {
 2811                "type": "string",
 2812                "default": "automatic",
 2813                "enum": [
 2814                  "pick",
 2815                  "automatic"
 2816                ],
 2817                "markdownDescription": "Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\")."
 2818              },
 2819              "timeout": {
 2820                "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 2821                "type": "number",
 2822                "default": 10000
 2823              },
 2824              "timeouts": {
 2825                "description": "Timeouts for several debugger operations.",
 2826                "type": "object",
 2827                "properties": {
 2828                  "hoverEvaluation": {
 2829                    "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 2830                    "type": "number",
 2831                    "default": 500
 2832                  },
 2833                  "sourceMapCumulativePause": {
 2834                    "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",
 2835                    "type": "number",
 2836                    "default": 1000
 2837                  },
 2838                  "sourceMapMinPause": {
 2839                    "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 2840                    "type": "number",
 2841                    "default": 1000
 2842                  }
 2843                },
 2844                "additionalProperties": false,
 2845                "default": {},
 2846                "markdownDescription": "Timeouts for several debugger operations."
 2847              },
 2848              "trace": {
 2849                "description": "Configures what diagnostic output is produced.",
 2850                "default": true,
 2851                "oneOf": [
 2852                  {
 2853                    "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 2854                    "type": "boolean"
 2855                  },
 2856                  {
 2857                    "type": "object",
 2858                    "properties": {
 2859                      "logFile": {
 2860                        "description": "Configures where on disk logs are written.",
 2861                        "type": [
 2862                          "string",
 2863                          "null"
 2864                        ]
 2865                      },
 2866                      "stdio": {
 2867                        "description": "Whether to return trace data from the launched application or browser.",
 2868                        "type": "boolean"
 2869                      }
 2870                    },
 2871                    "additionalProperties": false
 2872                  }
 2873                ]
 2874              },
 2875              "url": {
 2876                "description": "Will search for a tab with this exact url and attach to it, if found",
 2877                "type": "string",
 2878                "default": "http://localhost:8080",
 2879                "tags": [
 2880                  "setup"
 2881                ]
 2882              },
 2883              "urlFilter": {
 2884                "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
 2885                "type": "string",
 2886                "default": ""
 2887              },
 2888              "vueComponentPaths": {
 2889                "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.",
 2890                "type": "array",
 2891                "default": [
 2892                  "${ZED_WORKTREE_ROOT}/**/*.vue"
 2893                ]
 2894              },
 2895              "webRoot": {
 2896                "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 \"/\"",
 2897                "type": "string",
 2898                "default": "${ZED_WORKTREE_ROOT}",
 2899                "tags": [
 2900                  "setup"
 2901                ]
 2902              }
 2903            },
 2904            "default": {
 2905              "webRoot": "${ZED_WORKTREE_ROOT}"
 2906            },
 2907            "markdownDescription": "Chrome launch options used when attaching to the renderer process, with `debugWebviews` or `debugWebWorkerHost`."
 2908          },
 2909          "resolveSourceMapLocations": {
 2910            "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.",
 2911            "type": [
 2912              "array",
 2913              "null"
 2914            ],
 2915            "default": [
 2916              "${ZED_WORKTREE_ROOT}/**",
 2917              "!**/node_modules/**"
 2918            ],
 2919            "items": {
 2920              "type": "string"
 2921            }
 2922          },
 2923          "runtimeExecutable": {
 2924            "type": [
 2925              "string",
 2926              "null"
 2927            ],
 2928            "default": "node",
 2929            "markdownDescription": "Absolute path to VS Code."
 2930          },
 2931          "runtimeSourcemapPausePatterns": {
 2932            "type": "array",
 2933            "default": [],
 2934            "items": {
 2935              "type": "string"
 2936            },
 2937            "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)."
 2938          },
 2939          "showAsyncStacks": {
 2940            "description": "Show the async calls that led to the current call stack.",
 2941            "default": true,
 2942            "oneOf": [
 2943              {
 2944                "type": "boolean"
 2945              },
 2946              {
 2947                "type": "object",
 2948                "properties": {
 2949                  "onAttach": {
 2950                    "type": "number",
 2951                    "default": 32
 2952                  }
 2953                },
 2954                "required": [
 2955                  "onAttach"
 2956                ]
 2957              },
 2958              {
 2959                "type": "object",
 2960                "properties": {
 2961                  "onceBreakpointResolved": {
 2962                    "type": "number",
 2963                    "default": 32
 2964                  }
 2965                },
 2966                "required": [
 2967                  "onceBreakpointResolved"
 2968                ]
 2969              }
 2970            ]
 2971          },
 2972          "skipFiles": {
 2973            "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/**\"]`",
 2974            "type": "array",
 2975            "default": [
 2976              "${/**"
 2977            ]
 2978          },
 2979          "smartStep": {
 2980            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 2981            "type": "boolean",
 2982            "default": true
 2983          },
 2984          "sourceMapPathOverrides": {
 2985            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 2986            "type": "object",
 2987            "default": {
 2988              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 2989              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 2990              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 2991            }
 2992          },
 2993          "sourceMapRenames": {
 2994            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 2995            "type": "boolean",
 2996            "default": true
 2997          },
 2998          "sourceMaps": {
 2999            "description": "Use JavaScript source maps (if they exist).",
 3000            "type": "boolean",
 3001            "default": true
 3002          },
 3003          "testConfiguration": {
 3004            "type": "string",
 3005            "default": "${ZED_WORKTREE_ROOT}/.vscode-test.js",
 3006            "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)."
 3007          },
 3008          "testConfigurationLabel": {
 3009            "type": "string",
 3010            "default": "",
 3011            "markdownDescription": "A single configuration to run from the file. If not specified, you may be asked to pick."
 3012          },
 3013          "timeout": {
 3014            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 3015            "type": "number",
 3016            "default": 10000
 3017          },
 3018          "timeouts": {
 3019            "description": "Timeouts for several debugger operations.",
 3020            "type": "object",
 3021            "properties": {
 3022              "hoverEvaluation": {
 3023                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 3024                "type": "number",
 3025                "default": 500
 3026              },
 3027              "sourceMapCumulativePause": {
 3028                "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",
 3029                "type": "number",
 3030                "default": 1000
 3031              },
 3032              "sourceMapMinPause": {
 3033                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 3034                "type": "number",
 3035                "default": 1000
 3036              }
 3037            },
 3038            "additionalProperties": false,
 3039            "default": {},
 3040            "markdownDescription": "Timeouts for several debugger operations."
 3041          },
 3042          "trace": {
 3043            "description": "Configures what diagnostic output is produced.",
 3044            "default": true,
 3045            "oneOf": [
 3046              {
 3047                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 3048                "type": "boolean"
 3049              },
 3050              {
 3051                "type": "object",
 3052                "properties": {
 3053                  "logFile": {
 3054                    "description": "Configures where on disk logs are written.",
 3055                    "type": [
 3056                      "string",
 3057                      "null"
 3058                    ]
 3059                  },
 3060                  "stdio": {
 3061                    "description": "Whether to return trace data from the launched application or browser.",
 3062                    "type": "boolean"
 3063                  }
 3064                },
 3065                "additionalProperties": false
 3066              }
 3067            ]
 3068          }
 3069        },
 3070        "required": []
 3071      }
 3072    },
 3073    {
 3074      "if": {
 3075        "properties": {
 3076          "type": {
 3077            "const": "extensionHost"
 3078          },
 3079          "request": {
 3080            "const": "launch"
 3081          }
 3082        },
 3083        "required": [
 3084          "type",
 3085          "request"
 3086        ]
 3087      },
 3088      "then": {
 3089        "properties": {
 3090          "args": {
 3091            "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.",
 3092            "type": "array",
 3093            "default": [
 3094              "--extensionDevelopmentPath=${ZED_WORKTREE_ROOT}"
 3095            ],
 3096            "items": {
 3097              "type": "string"
 3098            },
 3099            "tags": [
 3100              "setup"
 3101            ]
 3102          },
 3103          "autoAttachChildProcesses": {
 3104            "description": "Attach debugger to new child processes automatically.",
 3105            "type": "boolean",
 3106            "default": true
 3107          },
 3108          "cascadeTerminateToConfigurations": {
 3109            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 3110            "type": "array",
 3111            "default": [],
 3112            "items": {
 3113              "type": "string",
 3114              "uniqueItems": true
 3115            }
 3116          },
 3117          "customDescriptionGenerator": {
 3118            "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      ",
 3119            "type": "string"
 3120          },
 3121          "customPropertiesGenerator": {
 3122            "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",
 3123            "type": "string",
 3124            "deprecated": true
 3125          },
 3126          "cwd": {
 3127            "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",
 3128            "type": "string",
 3129            "default": "${ZED_WORKTREE_ROOT}",
 3130            "tags": [
 3131              "setup"
 3132            ]
 3133          },
 3134          "debugWebWorkerHost": {
 3135            "type": [
 3136              "boolean"
 3137            ],
 3138            "default": true,
 3139            "markdownDescription": "Configures whether we should try to attach to the web worker extension host."
 3140          },
 3141          "debugWebviews": {
 3142            "type": [
 3143              "boolean"
 3144            ],
 3145            "default": true,
 3146            "markdownDescription": "Configures whether we should try to attach to webviews in the launched VS Code instance. This will only work in desktop VS Code."
 3147          },
 3148          "enableContentValidation": {
 3149            "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.",
 3150            "type": "boolean",
 3151            "default": true
 3152          },
 3153          "enableDWARF": {
 3154            "type": "boolean",
 3155            "default": true,
 3156            "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."
 3157          },
 3158          "env": {
 3159            "type": "object",
 3160            "additionalProperties": {
 3161              "type": [
 3162                "string",
 3163                "null"
 3164              ]
 3165            },
 3166            "default": {},
 3167            "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 3168            "tags": [
 3169              "setup"
 3170            ]
 3171          },
 3172          "envFile": {
 3173            "description": "Absolute path to a file containing environment variable definitions.",
 3174            "type": "string",
 3175            "default": "${ZED_WORKTREE_ROOT}/.env"
 3176          },
 3177          "localRoot": {
 3178            "description": "Path to the local directory containing the program.",
 3179            "type": [
 3180              "string",
 3181              "null"
 3182            ],
 3183            "default": null
 3184          },
 3185          "nodeVersionHint": {
 3186            "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.",
 3187            "type": "number",
 3188            "default": 12,
 3189            "minimum": 8
 3190          },
 3191          "outFiles": {
 3192            "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.",
 3193            "type": [
 3194              "array"
 3195            ],
 3196            "default": [
 3197              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 3198              "!**/node_modules/**"
 3199            ],
 3200            "items": {
 3201              "type": "string"
 3202            },
 3203            "tags": [
 3204              "setup"
 3205            ]
 3206          },
 3207          "outputCapture": {
 3208            "default": "console",
 3209            "enum": [
 3210              "console",
 3211              "std"
 3212            ],
 3213            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 3214          },
 3215          "pauseForSourceMap": {
 3216            "type": "boolean",
 3217            "default": false,
 3218            "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."
 3219          },
 3220          "remoteRoot": {
 3221            "description": "Absolute path to the remote directory containing the program.",
 3222            "type": [
 3223              "string",
 3224              "null"
 3225            ],
 3226            "default": null
 3227          },
 3228          "rendererDebugOptions": {
 3229            "type": "object",
 3230            "properties": {
 3231              "address": {
 3232                "description": "IP address or hostname the debugged browser is listening on.",
 3233                "type": "string",
 3234                "default": "localhost"
 3235              },
 3236              "browserAttachLocation": {
 3237                "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.",
 3238                "default": null,
 3239                "oneOf": [
 3240                  {
 3241                    "type": "null"
 3242                  },
 3243                  {
 3244                    "type": "string",
 3245                    "enum": [
 3246                      "ui",
 3247                      "workspace"
 3248                    ]
 3249                  }
 3250                ]
 3251              },
 3252              "cascadeTerminateToConfigurations": {
 3253                "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 3254                "type": "array",
 3255                "default": [],
 3256                "items": {
 3257                  "type": "string",
 3258                  "uniqueItems": true
 3259                }
 3260              },
 3261              "customDescriptionGenerator": {
 3262                "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      ",
 3263                "type": "string"
 3264              },
 3265              "customPropertiesGenerator": {
 3266                "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",
 3267                "type": "string",
 3268                "deprecated": true
 3269              },
 3270              "disableNetworkCache": {
 3271                "description": "Controls whether to skip the network cache for each request",
 3272                "type": "boolean",
 3273                "default": true
 3274              },
 3275              "enableContentValidation": {
 3276                "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.",
 3277                "type": "boolean",
 3278                "default": true
 3279              },
 3280              "enableDWARF": {
 3281                "type": "boolean",
 3282                "default": true,
 3283                "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."
 3284              },
 3285              "inspectUri": {
 3286                "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",
 3287                "type": [
 3288                  "string",
 3289                  "null"
 3290                ],
 3291                "default": null
 3292              },
 3293              "outFiles": {
 3294                "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.",
 3295                "type": [
 3296                  "array"
 3297                ],
 3298                "default": [
 3299                  "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 3300                  "!**/node_modules/**"
 3301                ],
 3302                "items": {
 3303                  "type": "string"
 3304                },
 3305                "tags": [
 3306                  "setup"
 3307                ]
 3308              },
 3309              "outputCapture": {
 3310                "default": "console",
 3311                "enum": [
 3312                  "console",
 3313                  "std"
 3314                ],
 3315                "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 3316              },
 3317              "pathMapping": {
 3318                "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
 3319                "type": "object",
 3320                "default": {}
 3321              },
 3322              "pauseForSourceMap": {
 3323                "type": "boolean",
 3324                "default": false,
 3325                "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."
 3326              },
 3327              "perScriptSourcemaps": {
 3328                "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.",
 3329                "type": "string",
 3330                "default": "auto",
 3331                "enum": [
 3332                  "yes",
 3333                  "no",
 3334                  "auto"
 3335                ]
 3336              },
 3337              "port": {
 3338                "description": "Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.",
 3339                "default": 9229,
 3340                "oneOf": [
 3341                  {
 3342                    "type": "integer"
 3343                  },
 3344                  {
 3345                    "type": "string",
 3346                    "pattern": "^\\${.*}$"
 3347                  }
 3348                ],
 3349                "tags": [
 3350                  "setup"
 3351                ]
 3352              },
 3353              "resolveSourceMapLocations": {
 3354                "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.",
 3355                "type": [
 3356                  "array",
 3357                  "null"
 3358                ],
 3359                "default": null,
 3360                "items": {
 3361                  "type": "string"
 3362                }
 3363              },
 3364              "restart": {
 3365                "type": "boolean",
 3366                "default": false,
 3367                "markdownDescription": "Whether to reconnect if the browser connection is closed"
 3368              },
 3369              "server": {
 3370                "oneOf": [
 3371                  {
 3372                    "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
 3373                    "type": "object",
 3374                    "properties": {
 3375                      "args": {
 3376                        "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.",
 3377                        "type": [
 3378                          "array",
 3379                          "string"
 3380                        ],
 3381                        "default": [],
 3382                        "items": {
 3383                          "type": "string"
 3384                        },
 3385                        "tags": [
 3386                          "setup"
 3387                        ]
 3388                      },
 3389                      "attachSimplePort": {
 3390                        "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.",
 3391                        "default": 9229,
 3392                        "oneOf": [
 3393                          {
 3394                            "type": "integer"
 3395                          },
 3396                          {
 3397                            "type": "string",
 3398                            "pattern": "^\\${.*}$"
 3399                          }
 3400                        ]
 3401                      },
 3402                      "autoAttachChildProcesses": {
 3403                        "description": "Attach debugger to new child processes automatically.",
 3404                        "type": "boolean",
 3405                        "default": true
 3406                      },
 3407                      "cascadeTerminateToConfigurations": {
 3408                        "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 3409                        "type": "array",
 3410                        "default": [],
 3411                        "items": {
 3412                          "type": "string",
 3413                          "uniqueItems": true
 3414                        }
 3415                      },
 3416                      "console": {
 3417                        "description": "Where to launch the debug target.",
 3418                        "type": "string",
 3419                        "default": "internalConsole",
 3420                        "enum": [
 3421                          "internalConsole",
 3422                          "integratedTerminal",
 3423                          "externalTerminal"
 3424                        ],
 3425                        "enumDescriptions": [
 3426                          "VS Code Debug Console (which doesn't support to read input from a program)",
 3427                          "VS Code's integrated terminal",
 3428                          "External terminal that can be configured via user settings"
 3429                        ]
 3430                      },
 3431                      "customDescriptionGenerator": {
 3432                        "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      ",
 3433                        "type": "string"
 3434                      },
 3435                      "customPropertiesGenerator": {
 3436                        "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",
 3437                        "type": "string",
 3438                        "deprecated": true
 3439                      },
 3440                      "cwd": {
 3441                        "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",
 3442                        "type": "string",
 3443                        "default": "${ZED_WORKTREE_ROOT}",
 3444                        "tags": [
 3445                          "setup"
 3446                        ]
 3447                      },
 3448                      "enableContentValidation": {
 3449                        "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.",
 3450                        "type": "boolean",
 3451                        "default": true
 3452                      },
 3453                      "enableDWARF": {
 3454                        "type": "boolean",
 3455                        "default": true,
 3456                        "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."
 3457                      },
 3458                      "env": {
 3459                        "type": "object",
 3460                        "additionalProperties": {
 3461                          "type": [
 3462                            "string",
 3463                            "null"
 3464                          ]
 3465                        },
 3466                        "default": {},
 3467                        "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 3468                        "tags": [
 3469                          "setup"
 3470                        ]
 3471                      },
 3472                      "envFile": {
 3473                        "description": "Absolute path to a file containing environment variable definitions.",
 3474                        "type": "string",
 3475                        "default": "${ZED_WORKTREE_ROOT}/.env"
 3476                      },
 3477                      "experimentalNetworking": {
 3478                        "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.",
 3479                        "type": "string",
 3480                        "default": "auto",
 3481                        "enum": [
 3482                          "auto",
 3483                          "on",
 3484                          "off"
 3485                        ]
 3486                      },
 3487                      "killBehavior": {
 3488                        "type": "string",
 3489                        "default": "forceful",
 3490                        "enum": [
 3491                          "forceful",
 3492                          "polite",
 3493                          "none"
 3494                        ],
 3495                        "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."
 3496                      },
 3497                      "localRoot": {
 3498                        "description": "Path to the local directory containing the program.",
 3499                        "type": [
 3500                          "string",
 3501                          "null"
 3502                        ],
 3503                        "default": null
 3504                      },
 3505                      "nodeVersionHint": {
 3506                        "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.",
 3507                        "type": "number",
 3508                        "default": 12,
 3509                        "minimum": 8
 3510                      },
 3511                      "outFiles": {
 3512                        "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.",
 3513                        "type": [
 3514                          "array"
 3515                        ],
 3516                        "default": [
 3517                          "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 3518                          "!**/node_modules/**"
 3519                        ],
 3520                        "items": {
 3521                          "type": "string"
 3522                        },
 3523                        "tags": [
 3524                          "setup"
 3525                        ]
 3526                      },
 3527                      "outputCapture": {
 3528                        "default": "console",
 3529                        "enum": [
 3530                          "console",
 3531                          "std"
 3532                        ],
 3533                        "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 3534                      },
 3535                      "pauseForSourceMap": {
 3536                        "type": "boolean",
 3537                        "default": false,
 3538                        "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."
 3539                      },
 3540                      "profileStartup": {
 3541                        "description": "If true, will start profiling as soon as the process launches",
 3542                        "type": "boolean",
 3543                        "default": true
 3544                      },
 3545                      "program": {
 3546                        "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
 3547                        "type": "string",
 3548                        "default": "",
 3549                        "tags": [
 3550                          "setup"
 3551                        ]
 3552                      },
 3553                      "remoteRoot": {
 3554                        "description": "Absolute path to the remote directory containing the program.",
 3555                        "type": [
 3556                          "string",
 3557                          "null"
 3558                        ],
 3559                        "default": null
 3560                      },
 3561                      "resolveSourceMapLocations": {
 3562                        "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.",
 3563                        "type": [
 3564                          "array",
 3565                          "null"
 3566                        ],
 3567                        "default": [
 3568                          "${ZED_WORKTREE_ROOT}/**",
 3569                          "!**/node_modules/**"
 3570                        ],
 3571                        "items": {
 3572                          "type": "string"
 3573                        }
 3574                      },
 3575                      "restart": {
 3576                        "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.",
 3577                        "default": true,
 3578                        "oneOf": [
 3579                          {
 3580                            "type": "boolean"
 3581                          },
 3582                          {
 3583                            "type": "object",
 3584                            "properties": {
 3585                              "delay": {
 3586                                "type": "number",
 3587                                "default": 1000,
 3588                                "minimum": 0
 3589                              },
 3590                              "maxAttempts": {
 3591                                "type": "number",
 3592                                "default": 10,
 3593                                "minimum": 0
 3594                              }
 3595                            }
 3596                          }
 3597                        ]
 3598                      },
 3599                      "runtimeArgs": {
 3600                        "description": "Optional arguments passed to the runtime executable.",
 3601                        "type": "array",
 3602                        "default": [],
 3603                        "items": {
 3604                          "type": "string"
 3605                        },
 3606                        "tags": [
 3607                          "setup"
 3608                        ]
 3609                      },
 3610                      "runtimeExecutable": {
 3611                        "type": [
 3612                          "string",
 3613                          "null"
 3614                        ],
 3615                        "default": "node",
 3616                        "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
 3617                      },
 3618                      "runtimeSourcemapPausePatterns": {
 3619                        "type": "array",
 3620                        "default": [],
 3621                        "items": {
 3622                          "type": "string"
 3623                        },
 3624                        "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)."
 3625                      },
 3626                      "runtimeVersion": {
 3627                        "type": "string",
 3628                        "default": "default",
 3629                        "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
 3630                      },
 3631                      "showAsyncStacks": {
 3632                        "description": "Show the async calls that led to the current call stack.",
 3633                        "default": true,
 3634                        "oneOf": [
 3635                          {
 3636                            "type": "boolean"
 3637                          },
 3638                          {
 3639                            "type": "object",
 3640                            "properties": {
 3641                              "onAttach": {
 3642                                "type": "number",
 3643                                "default": 32
 3644                              }
 3645                            },
 3646                            "required": [
 3647                              "onAttach"
 3648                            ]
 3649                          },
 3650                          {
 3651                            "type": "object",
 3652                            "properties": {
 3653                              "onceBreakpointResolved": {
 3654                                "type": "number",
 3655                                "default": 32
 3656                              }
 3657                            },
 3658                            "required": [
 3659                              "onceBreakpointResolved"
 3660                            ]
 3661                          }
 3662                        ]
 3663                      },
 3664                      "skipFiles": {
 3665                        "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/**\"]`",
 3666                        "type": "array",
 3667                        "default": [
 3668                          "${/**"
 3669                        ]
 3670                      },
 3671                      "smartStep": {
 3672                        "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 3673                        "type": "boolean",
 3674                        "default": true
 3675                      },
 3676                      "sourceMapPathOverrides": {
 3677                        "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 3678                        "type": "object",
 3679                        "default": {
 3680                          "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 3681                          "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 3682                          "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 3683                        }
 3684                      },
 3685                      "sourceMapRenames": {
 3686                        "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 3687                        "type": "boolean",
 3688                        "default": true
 3689                      },
 3690                      "sourceMaps": {
 3691                        "description": "Use JavaScript source maps (if they exist).",
 3692                        "type": "boolean",
 3693                        "default": true
 3694                      },
 3695                      "stopOnEntry": {
 3696                        "description": "Automatically stop program after launch.",
 3697                        "type": [
 3698                          "boolean",
 3699                          "string"
 3700                        ],
 3701                        "default": true
 3702                      },
 3703                      "timeout": {
 3704                        "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 3705                        "type": "number",
 3706                        "default": 10000
 3707                      },
 3708                      "timeouts": {
 3709                        "description": "Timeouts for several debugger operations.",
 3710                        "type": "object",
 3711                        "properties": {
 3712                          "hoverEvaluation": {
 3713                            "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 3714                            "type": "number",
 3715                            "default": 500
 3716                          },
 3717                          "sourceMapCumulativePause": {
 3718                            "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",
 3719                            "type": "number",
 3720                            "default": 1000
 3721                          },
 3722                          "sourceMapMinPause": {
 3723                            "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 3724                            "type": "number",
 3725                            "default": 1000
 3726                          }
 3727                        },
 3728                        "additionalProperties": false,
 3729                        "default": {},
 3730                        "markdownDescription": "Timeouts for several debugger operations."
 3731                      },
 3732                      "trace": {
 3733                        "description": "Configures what diagnostic output is produced.",
 3734                        "default": true,
 3735                        "oneOf": [
 3736                          {
 3737                            "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 3738                            "type": "boolean"
 3739                          },
 3740                          {
 3741                            "type": "object",
 3742                            "properties": {
 3743                              "logFile": {
 3744                                "description": "Configures where on disk logs are written.",
 3745                                "type": [
 3746                                  "string",
 3747                                  "null"
 3748                                ]
 3749                              },
 3750                              "stdio": {
 3751                                "description": "Whether to return trace data from the launched application or browser.",
 3752                                "type": "boolean"
 3753                              }
 3754                            },
 3755                            "additionalProperties": false
 3756                          }
 3757                        ]
 3758                      }
 3759                    },
 3760                    "additionalProperties": false,
 3761                    "default": {
 3762                      "program": "node my-server.js"
 3763                    }
 3764                  },
 3765                  {
 3766                    "description": "JavaScript Debug Terminal",
 3767                    "type": "object",
 3768                    "properties": {
 3769                      "autoAttachChildProcesses": {
 3770                        "description": "Attach debugger to new child processes automatically.",
 3771                        "type": "boolean",
 3772                        "default": true
 3773                      },
 3774                      "cascadeTerminateToConfigurations": {
 3775                        "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 3776                        "type": "array",
 3777                        "default": [],
 3778                        "items": {
 3779                          "type": "string",
 3780                          "uniqueItems": true
 3781                        }
 3782                      },
 3783                      "command": {
 3784                        "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
 3785                        "type": [
 3786                          "string",
 3787                          "null"
 3788                        ],
 3789                        "default": "npm start",
 3790                        "tags": [
 3791                          "setup"
 3792                        ]
 3793                      },
 3794                      "customDescriptionGenerator": {
 3795                        "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      ",
 3796                        "type": "string"
 3797                      },
 3798                      "customPropertiesGenerator": {
 3799                        "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",
 3800                        "type": "string",
 3801                        "deprecated": true
 3802                      },
 3803                      "cwd": {
 3804                        "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",
 3805                        "type": "string",
 3806                        "default": "${ZED_WORKTREE_ROOT}",
 3807                        "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
 3808                        "tags": [
 3809                          "setup"
 3810                        ]
 3811                      },
 3812                      "enableContentValidation": {
 3813                        "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.",
 3814                        "type": "boolean",
 3815                        "default": true
 3816                      },
 3817                      "enableDWARF": {
 3818                        "type": "boolean",
 3819                        "default": true,
 3820                        "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."
 3821                      },
 3822                      "env": {
 3823                        "type": "object",
 3824                        "additionalProperties": {
 3825                          "type": [
 3826                            "string",
 3827                            "null"
 3828                          ]
 3829                        },
 3830                        "default": {},
 3831                        "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 3832                        "tags": [
 3833                          "setup"
 3834                        ]
 3835                      },
 3836                      "envFile": {
 3837                        "description": "Absolute path to a file containing environment variable definitions.",
 3838                        "type": "string",
 3839                        "default": "${ZED_WORKTREE_ROOT}/.env"
 3840                      },
 3841                      "localRoot": {
 3842                        "description": "Path to the local directory containing the program.",
 3843                        "type": [
 3844                          "string",
 3845                          "null"
 3846                        ],
 3847                        "default": null
 3848                      },
 3849                      "nodeVersionHint": {
 3850                        "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.",
 3851                        "type": "number",
 3852                        "default": 12,
 3853                        "minimum": 8
 3854                      },
 3855                      "outFiles": {
 3856                        "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.",
 3857                        "type": [
 3858                          "array"
 3859                        ],
 3860                        "default": [
 3861                          "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 3862                          "!**/node_modules/**"
 3863                        ],
 3864                        "items": {
 3865                          "type": "string"
 3866                        },
 3867                        "tags": [
 3868                          "setup"
 3869                        ]
 3870                      },
 3871                      "outputCapture": {
 3872                        "default": "console",
 3873                        "enum": [
 3874                          "console",
 3875                          "std"
 3876                        ],
 3877                        "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 3878                      },
 3879                      "pauseForSourceMap": {
 3880                        "type": "boolean",
 3881                        "default": false,
 3882                        "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."
 3883                      },
 3884                      "remoteRoot": {
 3885                        "description": "Absolute path to the remote directory containing the program.",
 3886                        "type": [
 3887                          "string",
 3888                          "null"
 3889                        ],
 3890                        "default": null
 3891                      },
 3892                      "resolveSourceMapLocations": {
 3893                        "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.",
 3894                        "type": [
 3895                          "array",
 3896                          "null"
 3897                        ],
 3898                        "default": [
 3899                          "${ZED_WORKTREE_ROOT}/**",
 3900                          "!**/node_modules/**"
 3901                        ],
 3902                        "items": {
 3903                          "type": "string"
 3904                        }
 3905                      },
 3906                      "runtimeSourcemapPausePatterns": {
 3907                        "type": "array",
 3908                        "default": [],
 3909                        "items": {
 3910                          "type": "string"
 3911                        },
 3912                        "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)."
 3913                      },
 3914                      "showAsyncStacks": {
 3915                        "description": "Show the async calls that led to the current call stack.",
 3916                        "default": true,
 3917                        "oneOf": [
 3918                          {
 3919                            "type": "boolean"
 3920                          },
 3921                          {
 3922                            "type": "object",
 3923                            "properties": {
 3924                              "onAttach": {
 3925                                "type": "number",
 3926                                "default": 32
 3927                              }
 3928                            },
 3929                            "required": [
 3930                              "onAttach"
 3931                            ]
 3932                          },
 3933                          {
 3934                            "type": "object",
 3935                            "properties": {
 3936                              "onceBreakpointResolved": {
 3937                                "type": "number",
 3938                                "default": 32
 3939                              }
 3940                            },
 3941                            "required": [
 3942                              "onceBreakpointResolved"
 3943                            ]
 3944                          }
 3945                        ]
 3946                      },
 3947                      "skipFiles": {
 3948                        "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/**\"]`",
 3949                        "type": "array",
 3950                        "default": [
 3951                          "${/**"
 3952                        ]
 3953                      },
 3954                      "smartStep": {
 3955                        "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 3956                        "type": "boolean",
 3957                        "default": true
 3958                      },
 3959                      "sourceMapPathOverrides": {
 3960                        "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 3961                        "type": "object",
 3962                        "default": {
 3963                          "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 3964                          "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 3965                          "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 3966                        }
 3967                      },
 3968                      "sourceMapRenames": {
 3969                        "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 3970                        "type": "boolean",
 3971                        "default": true
 3972                      },
 3973                      "sourceMaps": {
 3974                        "description": "Use JavaScript source maps (if they exist).",
 3975                        "type": "boolean",
 3976                        "default": true
 3977                      },
 3978                      "timeout": {
 3979                        "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 3980                        "type": "number",
 3981                        "default": 10000
 3982                      },
 3983                      "timeouts": {
 3984                        "description": "Timeouts for several debugger operations.",
 3985                        "type": "object",
 3986                        "properties": {
 3987                          "hoverEvaluation": {
 3988                            "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 3989                            "type": "number",
 3990                            "default": 500
 3991                          },
 3992                          "sourceMapCumulativePause": {
 3993                            "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",
 3994                            "type": "number",
 3995                            "default": 1000
 3996                          },
 3997                          "sourceMapMinPause": {
 3998                            "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 3999                            "type": "number",
 4000                            "default": 1000
 4001                          }
 4002                        },
 4003                        "additionalProperties": false,
 4004                        "default": {},
 4005                        "markdownDescription": "Timeouts for several debugger operations."
 4006                      },
 4007                      "trace": {
 4008                        "description": "Configures what diagnostic output is produced.",
 4009                        "default": true,
 4010                        "oneOf": [
 4011                          {
 4012                            "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 4013                            "type": "boolean"
 4014                          },
 4015                          {
 4016                            "type": "object",
 4017                            "properties": {
 4018                              "logFile": {
 4019                                "description": "Configures where on disk logs are written.",
 4020                                "type": [
 4021                                  "string",
 4022                                  "null"
 4023                                ]
 4024                              },
 4025                              "stdio": {
 4026                                "description": "Whether to return trace data from the launched application or browser.",
 4027                                "type": "boolean"
 4028                              }
 4029                            },
 4030                            "additionalProperties": false
 4031                          }
 4032                        ]
 4033                      }
 4034                    },
 4035                    "additionalProperties": false,
 4036                    "default": {
 4037                      "program": "npm start"
 4038                    }
 4039                  }
 4040                ]
 4041              },
 4042              "showAsyncStacks": {
 4043                "description": "Show the async calls that led to the current call stack.",
 4044                "default": true,
 4045                "oneOf": [
 4046                  {
 4047                    "type": "boolean"
 4048                  },
 4049                  {
 4050                    "type": "object",
 4051                    "properties": {
 4052                      "onAttach": {
 4053                        "type": "number",
 4054                        "default": 32
 4055                      }
 4056                    },
 4057                    "required": [
 4058                      "onAttach"
 4059                    ]
 4060                  },
 4061                  {
 4062                    "type": "object",
 4063                    "properties": {
 4064                      "onceBreakpointResolved": {
 4065                        "type": "number",
 4066                        "default": 32
 4067                      }
 4068                    },
 4069                    "required": [
 4070                      "onceBreakpointResolved"
 4071                    ]
 4072                  }
 4073                ]
 4074              },
 4075              "skipFiles": {
 4076                "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/**\"]`",
 4077                "type": "array",
 4078                "default": [
 4079                  "${/**"
 4080                ]
 4081              },
 4082              "smartStep": {
 4083                "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 4084                "type": "boolean",
 4085                "default": true
 4086              },
 4087              "sourceMapPathOverrides": {
 4088                "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 4089                "type": "object",
 4090                "default": {
 4091                  "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 4092                  "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 4093                  "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 4094                }
 4095              },
 4096              "sourceMapRenames": {
 4097                "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 4098                "type": "boolean",
 4099                "default": true
 4100              },
 4101              "sourceMaps": {
 4102                "description": "Use JavaScript source maps (if they exist).",
 4103                "type": "boolean",
 4104                "default": true
 4105              },
 4106              "targetSelection": {
 4107                "type": "string",
 4108                "default": "automatic",
 4109                "enum": [
 4110                  "pick",
 4111                  "automatic"
 4112                ],
 4113                "markdownDescription": "Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\")."
 4114              },
 4115              "timeout": {
 4116                "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 4117                "type": "number",
 4118                "default": 10000
 4119              },
 4120              "timeouts": {
 4121                "description": "Timeouts for several debugger operations.",
 4122                "type": "object",
 4123                "properties": {
 4124                  "hoverEvaluation": {
 4125                    "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 4126                    "type": "number",
 4127                    "default": 500
 4128                  },
 4129                  "sourceMapCumulativePause": {
 4130                    "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",
 4131                    "type": "number",
 4132                    "default": 1000
 4133                  },
 4134                  "sourceMapMinPause": {
 4135                    "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 4136                    "type": "number",
 4137                    "default": 1000
 4138                  }
 4139                },
 4140                "additionalProperties": false,
 4141                "default": {},
 4142                "markdownDescription": "Timeouts for several debugger operations."
 4143              },
 4144              "trace": {
 4145                "description": "Configures what diagnostic output is produced.",
 4146                "default": true,
 4147                "oneOf": [
 4148                  {
 4149                    "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 4150                    "type": "boolean"
 4151                  },
 4152                  {
 4153                    "type": "object",
 4154                    "properties": {
 4155                      "logFile": {
 4156                        "description": "Configures where on disk logs are written.",
 4157                        "type": [
 4158                          "string",
 4159                          "null"
 4160                        ]
 4161                      },
 4162                      "stdio": {
 4163                        "description": "Whether to return trace data from the launched application or browser.",
 4164                        "type": "boolean"
 4165                      }
 4166                    },
 4167                    "additionalProperties": false
 4168                  }
 4169                ]
 4170              },
 4171              "url": {
 4172                "description": "Will search for a tab with this exact url and attach to it, if found",
 4173                "type": "string",
 4174                "default": "http://localhost:8080",
 4175                "tags": [
 4176                  "setup"
 4177                ]
 4178              },
 4179              "urlFilter": {
 4180                "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
 4181                "type": "string",
 4182                "default": ""
 4183              },
 4184              "vueComponentPaths": {
 4185                "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.",
 4186                "type": "array",
 4187                "default": [
 4188                  "${ZED_WORKTREE_ROOT}/**/*.vue"
 4189                ]
 4190              },
 4191              "webRoot": {
 4192                "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 \"/\"",
 4193                "type": "string",
 4194                "default": "${ZED_WORKTREE_ROOT}",
 4195                "tags": [
 4196                  "setup"
 4197                ]
 4198              }
 4199            },
 4200            "default": {
 4201              "webRoot": "${ZED_WORKTREE_ROOT}"
 4202            },
 4203            "markdownDescription": "Chrome launch options used when attaching to the renderer process, with `debugWebviews` or `debugWebWorkerHost`."
 4204          },
 4205          "resolveSourceMapLocations": {
 4206            "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.",
 4207            "type": [
 4208              "array",
 4209              "null"
 4210            ],
 4211            "default": [
 4212              "${ZED_WORKTREE_ROOT}/**",
 4213              "!**/node_modules/**"
 4214            ],
 4215            "items": {
 4216              "type": "string"
 4217            }
 4218          },
 4219          "runtimeExecutable": {
 4220            "type": [
 4221              "string",
 4222              "null"
 4223            ],
 4224            "default": "node",
 4225            "markdownDescription": "Absolute path to VS Code."
 4226          },
 4227          "runtimeSourcemapPausePatterns": {
 4228            "type": "array",
 4229            "default": [],
 4230            "items": {
 4231              "type": "string"
 4232            },
 4233            "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)."
 4234          },
 4235          "showAsyncStacks": {
 4236            "description": "Show the async calls that led to the current call stack.",
 4237            "default": true,
 4238            "oneOf": [
 4239              {
 4240                "type": "boolean"
 4241              },
 4242              {
 4243                "type": "object",
 4244                "properties": {
 4245                  "onAttach": {
 4246                    "type": "number",
 4247                    "default": 32
 4248                  }
 4249                },
 4250                "required": [
 4251                  "onAttach"
 4252                ]
 4253              },
 4254              {
 4255                "type": "object",
 4256                "properties": {
 4257                  "onceBreakpointResolved": {
 4258                    "type": "number",
 4259                    "default": 32
 4260                  }
 4261                },
 4262                "required": [
 4263                  "onceBreakpointResolved"
 4264                ]
 4265              }
 4266            ]
 4267          },
 4268          "skipFiles": {
 4269            "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/**\"]`",
 4270            "type": "array",
 4271            "default": [
 4272              "${/**"
 4273            ]
 4274          },
 4275          "smartStep": {
 4276            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 4277            "type": "boolean",
 4278            "default": true
 4279          },
 4280          "sourceMapPathOverrides": {
 4281            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 4282            "type": "object",
 4283            "default": {
 4284              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 4285              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 4286              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 4287            }
 4288          },
 4289          "sourceMapRenames": {
 4290            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 4291            "type": "boolean",
 4292            "default": true
 4293          },
 4294          "sourceMaps": {
 4295            "description": "Use JavaScript source maps (if they exist).",
 4296            "type": "boolean",
 4297            "default": true
 4298          },
 4299          "testConfiguration": {
 4300            "type": "string",
 4301            "default": "${ZED_WORKTREE_ROOT}/.vscode-test.js",
 4302            "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)."
 4303          },
 4304          "testConfigurationLabel": {
 4305            "type": "string",
 4306            "default": "",
 4307            "markdownDescription": "A single configuration to run from the file. If not specified, you may be asked to pick."
 4308          },
 4309          "timeout": {
 4310            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 4311            "type": "number",
 4312            "default": 10000
 4313          },
 4314          "timeouts": {
 4315            "description": "Timeouts for several debugger operations.",
 4316            "type": "object",
 4317            "properties": {
 4318              "hoverEvaluation": {
 4319                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 4320                "type": "number",
 4321                "default": 500
 4322              },
 4323              "sourceMapCumulativePause": {
 4324                "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",
 4325                "type": "number",
 4326                "default": 1000
 4327              },
 4328              "sourceMapMinPause": {
 4329                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 4330                "type": "number",
 4331                "default": 1000
 4332              }
 4333            },
 4334            "additionalProperties": false,
 4335            "default": {},
 4336            "markdownDescription": "Timeouts for several debugger operations."
 4337          },
 4338          "trace": {
 4339            "description": "Configures what diagnostic output is produced.",
 4340            "default": true,
 4341            "oneOf": [
 4342              {
 4343                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 4344                "type": "boolean"
 4345              },
 4346              {
 4347                "type": "object",
 4348                "properties": {
 4349                  "logFile": {
 4350                    "description": "Configures where on disk logs are written.",
 4351                    "type": [
 4352                      "string",
 4353                      "null"
 4354                    ]
 4355                  },
 4356                  "stdio": {
 4357                    "description": "Whether to return trace data from the launched application or browser.",
 4358                    "type": "boolean"
 4359                  }
 4360                },
 4361                "additionalProperties": false
 4362              }
 4363            ]
 4364          }
 4365        },
 4366        "required": []
 4367      }
 4368    },
 4369    {
 4370      "if": {
 4371        "properties": {
 4372          "type": {
 4373            "const": "pwa-chrome"
 4374          },
 4375          "request": {
 4376            "const": "launch"
 4377          }
 4378        },
 4379        "required": [
 4380          "type",
 4381          "request"
 4382        ]
 4383      },
 4384      "then": {
 4385        "properties": {
 4386          "browserLaunchLocation": {
 4387            "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.",
 4388            "default": null,
 4389            "oneOf": [
 4390              {
 4391                "type": "null"
 4392              },
 4393              {
 4394                "type": "string",
 4395                "enum": [
 4396                  "ui",
 4397                  "workspace"
 4398                ]
 4399              }
 4400            ]
 4401          },
 4402          "cascadeTerminateToConfigurations": {
 4403            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 4404            "type": "array",
 4405            "default": [],
 4406            "items": {
 4407              "type": "string",
 4408              "uniqueItems": true
 4409            }
 4410          },
 4411          "cleanUp": {
 4412            "description": "What clean-up to do after the debugging session finishes. Close only the tab being debug, vs. close the whole browser.",
 4413            "type": "string",
 4414            "default": "wholeBrowser",
 4415            "enum": [
 4416              "wholeBrowser",
 4417              "onlyTab"
 4418            ]
 4419          },
 4420          "customDescriptionGenerator": {
 4421            "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      ",
 4422            "type": "string"
 4423          },
 4424          "customPropertiesGenerator": {
 4425            "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",
 4426            "type": "string",
 4427            "deprecated": true
 4428          },
 4429          "cwd": {
 4430            "description": "Optional working directory for the runtime executable.",
 4431            "type": "string",
 4432            "default": null
 4433          },
 4434          "disableNetworkCache": {
 4435            "description": "Controls whether to skip the network cache for each request",
 4436            "type": "boolean",
 4437            "default": true
 4438          },
 4439          "enableContentValidation": {
 4440            "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.",
 4441            "type": "boolean",
 4442            "default": true
 4443          },
 4444          "enableDWARF": {
 4445            "type": "boolean",
 4446            "default": true,
 4447            "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."
 4448          },
 4449          "env": {
 4450            "description": "Optional dictionary of environment key/value pairs for the browser.",
 4451            "type": "object",
 4452            "default": {}
 4453          },
 4454          "file": {
 4455            "description": "A local html file to open in the browser",
 4456            "type": "string",
 4457            "default": "${ZED_WORKTREE_ROOT}/index.html",
 4458            "tags": [
 4459              "setup"
 4460            ]
 4461          },
 4462          "includeDefaultArgs": {
 4463            "description": "Whether default browser launch arguments (to disable features that may make debugging harder) will be included in the launch.",
 4464            "type": "boolean",
 4465            "default": true
 4466          },
 4467          "includeLaunchArgs": {
 4468            "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`.",
 4469            "type": "boolean",
 4470            "default": true
 4471          },
 4472          "inspectUri": {
 4473            "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",
 4474            "type": [
 4475              "string",
 4476              "null"
 4477            ],
 4478            "default": null
 4479          },
 4480          "killBehavior": {
 4481            "type": "string",
 4482            "default": "forceful",
 4483            "enum": [
 4484              "forceful",
 4485              "polite",
 4486              "none"
 4487            ],
 4488            "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."
 4489          },
 4490          "outFiles": {
 4491            "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.",
 4492            "type": [
 4493              "array"
 4494            ],
 4495            "default": [
 4496              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 4497              "!**/node_modules/**"
 4498            ],
 4499            "items": {
 4500              "type": "string"
 4501            },
 4502            "tags": [
 4503              "setup"
 4504            ]
 4505          },
 4506          "outputCapture": {
 4507            "default": "console",
 4508            "enum": [
 4509              "console",
 4510              "std"
 4511            ],
 4512            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 4513          },
 4514          "pathMapping": {
 4515            "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
 4516            "type": "object",
 4517            "default": {}
 4518          },
 4519          "pauseForSourceMap": {
 4520            "type": "boolean",
 4521            "default": false,
 4522            "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."
 4523          },
 4524          "perScriptSourcemaps": {
 4525            "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.",
 4526            "type": "string",
 4527            "default": "auto",
 4528            "enum": [
 4529              "yes",
 4530              "no",
 4531              "auto"
 4532            ]
 4533          },
 4534          "port": {
 4535            "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.",
 4536            "type": "number",
 4537            "default": 0
 4538          },
 4539          "profileStartup": {
 4540            "description": "If true, will start profiling soon as the process launches",
 4541            "type": "boolean",
 4542            "default": true
 4543          },
 4544          "resolveSourceMapLocations": {
 4545            "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.",
 4546            "type": [
 4547              "array",
 4548              "null"
 4549            ],
 4550            "default": null,
 4551            "items": {
 4552              "type": "string"
 4553            }
 4554          },
 4555          "runtimeArgs": {
 4556            "description": "Optional arguments passed to the runtime executable.",
 4557            "type": "array",
 4558            "default": [],
 4559            "items": {
 4560              "type": "string"
 4561            }
 4562          },
 4563          "runtimeExecutable": {
 4564            "description": "Either 'canary', 'stable', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or CHROME_PATH environment variable.",
 4565            "type": [
 4566              "string",
 4567              "null"
 4568            ],
 4569            "default": "stable"
 4570          },
 4571          "server": {
 4572            "oneOf": [
 4573              {
 4574                "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
 4575                "type": "object",
 4576                "properties": {
 4577                  "args": {
 4578                    "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.",
 4579                    "type": [
 4580                      "array",
 4581                      "string"
 4582                    ],
 4583                    "default": [],
 4584                    "items": {
 4585                      "type": "string"
 4586                    },
 4587                    "tags": [
 4588                      "setup"
 4589                    ]
 4590                  },
 4591                  "attachSimplePort": {
 4592                    "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.",
 4593                    "default": 9229,
 4594                    "oneOf": [
 4595                      {
 4596                        "type": "integer"
 4597                      },
 4598                      {
 4599                        "type": "string",
 4600                        "pattern": "^\\${.*}$"
 4601                      }
 4602                    ]
 4603                  },
 4604                  "autoAttachChildProcesses": {
 4605                    "description": "Attach debugger to new child processes automatically.",
 4606                    "type": "boolean",
 4607                    "default": true
 4608                  },
 4609                  "cascadeTerminateToConfigurations": {
 4610                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 4611                    "type": "array",
 4612                    "default": [],
 4613                    "items": {
 4614                      "type": "string",
 4615                      "uniqueItems": true
 4616                    }
 4617                  },
 4618                  "console": {
 4619                    "description": "Where to launch the debug target.",
 4620                    "type": "string",
 4621                    "default": "internalConsole",
 4622                    "enum": [
 4623                      "internalConsole",
 4624                      "integratedTerminal",
 4625                      "externalTerminal"
 4626                    ],
 4627                    "enumDescriptions": [
 4628                      "VS Code Debug Console (which doesn't support to read input from a program)",
 4629                      "VS Code's integrated terminal",
 4630                      "External terminal that can be configured via user settings"
 4631                    ]
 4632                  },
 4633                  "customDescriptionGenerator": {
 4634                    "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      ",
 4635                    "type": "string"
 4636                  },
 4637                  "customPropertiesGenerator": {
 4638                    "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",
 4639                    "type": "string",
 4640                    "deprecated": true
 4641                  },
 4642                  "cwd": {
 4643                    "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",
 4644                    "type": "string",
 4645                    "default": "${ZED_WORKTREE_ROOT}",
 4646                    "tags": [
 4647                      "setup"
 4648                    ]
 4649                  },
 4650                  "enableContentValidation": {
 4651                    "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.",
 4652                    "type": "boolean",
 4653                    "default": true
 4654                  },
 4655                  "enableDWARF": {
 4656                    "type": "boolean",
 4657                    "default": true,
 4658                    "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."
 4659                  },
 4660                  "env": {
 4661                    "type": "object",
 4662                    "additionalProperties": {
 4663                      "type": [
 4664                        "string",
 4665                        "null"
 4666                      ]
 4667                    },
 4668                    "default": {},
 4669                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 4670                    "tags": [
 4671                      "setup"
 4672                    ]
 4673                  },
 4674                  "envFile": {
 4675                    "description": "Absolute path to a file containing environment variable definitions.",
 4676                    "type": "string",
 4677                    "default": "${ZED_WORKTREE_ROOT}/.env"
 4678                  },
 4679                  "experimentalNetworking": {
 4680                    "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.",
 4681                    "type": "string",
 4682                    "default": "auto",
 4683                    "enum": [
 4684                      "auto",
 4685                      "on",
 4686                      "off"
 4687                    ]
 4688                  },
 4689                  "killBehavior": {
 4690                    "type": "string",
 4691                    "default": "forceful",
 4692                    "enum": [
 4693                      "forceful",
 4694                      "polite",
 4695                      "none"
 4696                    ],
 4697                    "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."
 4698                  },
 4699                  "localRoot": {
 4700                    "description": "Path to the local directory containing the program.",
 4701                    "type": [
 4702                      "string",
 4703                      "null"
 4704                    ],
 4705                    "default": null
 4706                  },
 4707                  "nodeVersionHint": {
 4708                    "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.",
 4709                    "type": "number",
 4710                    "default": 12,
 4711                    "minimum": 8
 4712                  },
 4713                  "outFiles": {
 4714                    "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.",
 4715                    "type": [
 4716                      "array"
 4717                    ],
 4718                    "default": [
 4719                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 4720                      "!**/node_modules/**"
 4721                    ],
 4722                    "items": {
 4723                      "type": "string"
 4724                    },
 4725                    "tags": [
 4726                      "setup"
 4727                    ]
 4728                  },
 4729                  "outputCapture": {
 4730                    "default": "console",
 4731                    "enum": [
 4732                      "console",
 4733                      "std"
 4734                    ],
 4735                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 4736                  },
 4737                  "pauseForSourceMap": {
 4738                    "type": "boolean",
 4739                    "default": false,
 4740                    "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."
 4741                  },
 4742                  "profileStartup": {
 4743                    "description": "If true, will start profiling as soon as the process launches",
 4744                    "type": "boolean",
 4745                    "default": true
 4746                  },
 4747                  "program": {
 4748                    "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
 4749                    "type": "string",
 4750                    "default": "",
 4751                    "tags": [
 4752                      "setup"
 4753                    ]
 4754                  },
 4755                  "remoteRoot": {
 4756                    "description": "Absolute path to the remote directory containing the program.",
 4757                    "type": [
 4758                      "string",
 4759                      "null"
 4760                    ],
 4761                    "default": null
 4762                  },
 4763                  "resolveSourceMapLocations": {
 4764                    "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.",
 4765                    "type": [
 4766                      "array",
 4767                      "null"
 4768                    ],
 4769                    "default": [
 4770                      "${ZED_WORKTREE_ROOT}/**",
 4771                      "!**/node_modules/**"
 4772                    ],
 4773                    "items": {
 4774                      "type": "string"
 4775                    }
 4776                  },
 4777                  "restart": {
 4778                    "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.",
 4779                    "default": true,
 4780                    "oneOf": [
 4781                      {
 4782                        "type": "boolean"
 4783                      },
 4784                      {
 4785                        "type": "object",
 4786                        "properties": {
 4787                          "delay": {
 4788                            "type": "number",
 4789                            "default": 1000,
 4790                            "minimum": 0
 4791                          },
 4792                          "maxAttempts": {
 4793                            "type": "number",
 4794                            "default": 10,
 4795                            "minimum": 0
 4796                          }
 4797                        }
 4798                      }
 4799                    ]
 4800                  },
 4801                  "runtimeArgs": {
 4802                    "description": "Optional arguments passed to the runtime executable.",
 4803                    "type": "array",
 4804                    "default": [],
 4805                    "items": {
 4806                      "type": "string"
 4807                    },
 4808                    "tags": [
 4809                      "setup"
 4810                    ]
 4811                  },
 4812                  "runtimeExecutable": {
 4813                    "type": [
 4814                      "string",
 4815                      "null"
 4816                    ],
 4817                    "default": "node",
 4818                    "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
 4819                  },
 4820                  "runtimeSourcemapPausePatterns": {
 4821                    "type": "array",
 4822                    "default": [],
 4823                    "items": {
 4824                      "type": "string"
 4825                    },
 4826                    "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)."
 4827                  },
 4828                  "runtimeVersion": {
 4829                    "type": "string",
 4830                    "default": "default",
 4831                    "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
 4832                  },
 4833                  "showAsyncStacks": {
 4834                    "description": "Show the async calls that led to the current call stack.",
 4835                    "default": true,
 4836                    "oneOf": [
 4837                      {
 4838                        "type": "boolean"
 4839                      },
 4840                      {
 4841                        "type": "object",
 4842                        "properties": {
 4843                          "onAttach": {
 4844                            "type": "number",
 4845                            "default": 32
 4846                          }
 4847                        },
 4848                        "required": [
 4849                          "onAttach"
 4850                        ]
 4851                      },
 4852                      {
 4853                        "type": "object",
 4854                        "properties": {
 4855                          "onceBreakpointResolved": {
 4856                            "type": "number",
 4857                            "default": 32
 4858                          }
 4859                        },
 4860                        "required": [
 4861                          "onceBreakpointResolved"
 4862                        ]
 4863                      }
 4864                    ]
 4865                  },
 4866                  "skipFiles": {
 4867                    "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/**\"]`",
 4868                    "type": "array",
 4869                    "default": [
 4870                      "${/**"
 4871                    ]
 4872                  },
 4873                  "smartStep": {
 4874                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 4875                    "type": "boolean",
 4876                    "default": true
 4877                  },
 4878                  "sourceMapPathOverrides": {
 4879                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 4880                    "type": "object",
 4881                    "default": {
 4882                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 4883                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 4884                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 4885                    }
 4886                  },
 4887                  "sourceMapRenames": {
 4888                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 4889                    "type": "boolean",
 4890                    "default": true
 4891                  },
 4892                  "sourceMaps": {
 4893                    "description": "Use JavaScript source maps (if they exist).",
 4894                    "type": "boolean",
 4895                    "default": true
 4896                  },
 4897                  "stopOnEntry": {
 4898                    "description": "Automatically stop program after launch.",
 4899                    "type": [
 4900                      "boolean",
 4901                      "string"
 4902                    ],
 4903                    "default": true
 4904                  },
 4905                  "timeout": {
 4906                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 4907                    "type": "number",
 4908                    "default": 10000
 4909                  },
 4910                  "timeouts": {
 4911                    "description": "Timeouts for several debugger operations.",
 4912                    "type": "object",
 4913                    "properties": {
 4914                      "hoverEvaluation": {
 4915                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 4916                        "type": "number",
 4917                        "default": 500
 4918                      },
 4919                      "sourceMapCumulativePause": {
 4920                        "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",
 4921                        "type": "number",
 4922                        "default": 1000
 4923                      },
 4924                      "sourceMapMinPause": {
 4925                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 4926                        "type": "number",
 4927                        "default": 1000
 4928                      }
 4929                    },
 4930                    "additionalProperties": false,
 4931                    "default": {},
 4932                    "markdownDescription": "Timeouts for several debugger operations."
 4933                  },
 4934                  "trace": {
 4935                    "description": "Configures what diagnostic output is produced.",
 4936                    "default": true,
 4937                    "oneOf": [
 4938                      {
 4939                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 4940                        "type": "boolean"
 4941                      },
 4942                      {
 4943                        "type": "object",
 4944                        "properties": {
 4945                          "logFile": {
 4946                            "description": "Configures where on disk logs are written.",
 4947                            "type": [
 4948                              "string",
 4949                              "null"
 4950                            ]
 4951                          },
 4952                          "stdio": {
 4953                            "description": "Whether to return trace data from the launched application or browser.",
 4954                            "type": "boolean"
 4955                          }
 4956                        },
 4957                        "additionalProperties": false
 4958                      }
 4959                    ]
 4960                  }
 4961                },
 4962                "additionalProperties": false,
 4963                "default": {
 4964                  "program": "node my-server.js"
 4965                }
 4966              },
 4967              {
 4968                "description": "JavaScript Debug Terminal",
 4969                "type": "object",
 4970                "properties": {
 4971                  "autoAttachChildProcesses": {
 4972                    "description": "Attach debugger to new child processes automatically.",
 4973                    "type": "boolean",
 4974                    "default": true
 4975                  },
 4976                  "cascadeTerminateToConfigurations": {
 4977                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 4978                    "type": "array",
 4979                    "default": [],
 4980                    "items": {
 4981                      "type": "string",
 4982                      "uniqueItems": true
 4983                    }
 4984                  },
 4985                  "command": {
 4986                    "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
 4987                    "type": [
 4988                      "string",
 4989                      "null"
 4990                    ],
 4991                    "default": "npm start",
 4992                    "tags": [
 4993                      "setup"
 4994                    ]
 4995                  },
 4996                  "customDescriptionGenerator": {
 4997                    "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      ",
 4998                    "type": "string"
 4999                  },
 5000                  "customPropertiesGenerator": {
 5001                    "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",
 5002                    "type": "string",
 5003                    "deprecated": true
 5004                  },
 5005                  "cwd": {
 5006                    "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",
 5007                    "type": "string",
 5008                    "default": "${ZED_WORKTREE_ROOT}",
 5009                    "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
 5010                    "tags": [
 5011                      "setup"
 5012                    ]
 5013                  },
 5014                  "enableContentValidation": {
 5015                    "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.",
 5016                    "type": "boolean",
 5017                    "default": true
 5018                  },
 5019                  "enableDWARF": {
 5020                    "type": "boolean",
 5021                    "default": true,
 5022                    "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."
 5023                  },
 5024                  "env": {
 5025                    "type": "object",
 5026                    "additionalProperties": {
 5027                      "type": [
 5028                        "string",
 5029                        "null"
 5030                      ]
 5031                    },
 5032                    "default": {},
 5033                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 5034                    "tags": [
 5035                      "setup"
 5036                    ]
 5037                  },
 5038                  "envFile": {
 5039                    "description": "Absolute path to a file containing environment variable definitions.",
 5040                    "type": "string",
 5041                    "default": "${ZED_WORKTREE_ROOT}/.env"
 5042                  },
 5043                  "localRoot": {
 5044                    "description": "Path to the local directory containing the program.",
 5045                    "type": [
 5046                      "string",
 5047                      "null"
 5048                    ],
 5049                    "default": null
 5050                  },
 5051                  "nodeVersionHint": {
 5052                    "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.",
 5053                    "type": "number",
 5054                    "default": 12,
 5055                    "minimum": 8
 5056                  },
 5057                  "outFiles": {
 5058                    "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.",
 5059                    "type": [
 5060                      "array"
 5061                    ],
 5062                    "default": [
 5063                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 5064                      "!**/node_modules/**"
 5065                    ],
 5066                    "items": {
 5067                      "type": "string"
 5068                    },
 5069                    "tags": [
 5070                      "setup"
 5071                    ]
 5072                  },
 5073                  "outputCapture": {
 5074                    "default": "console",
 5075                    "enum": [
 5076                      "console",
 5077                      "std"
 5078                    ],
 5079                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 5080                  },
 5081                  "pauseForSourceMap": {
 5082                    "type": "boolean",
 5083                    "default": false,
 5084                    "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."
 5085                  },
 5086                  "remoteRoot": {
 5087                    "description": "Absolute path to the remote directory containing the program.",
 5088                    "type": [
 5089                      "string",
 5090                      "null"
 5091                    ],
 5092                    "default": null
 5093                  },
 5094                  "resolveSourceMapLocations": {
 5095                    "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.",
 5096                    "type": [
 5097                      "array",
 5098                      "null"
 5099                    ],
 5100                    "default": [
 5101                      "${ZED_WORKTREE_ROOT}/**",
 5102                      "!**/node_modules/**"
 5103                    ],
 5104                    "items": {
 5105                      "type": "string"
 5106                    }
 5107                  },
 5108                  "runtimeSourcemapPausePatterns": {
 5109                    "type": "array",
 5110                    "default": [],
 5111                    "items": {
 5112                      "type": "string"
 5113                    },
 5114                    "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)."
 5115                  },
 5116                  "showAsyncStacks": {
 5117                    "description": "Show the async calls that led to the current call stack.",
 5118                    "default": true,
 5119                    "oneOf": [
 5120                      {
 5121                        "type": "boolean"
 5122                      },
 5123                      {
 5124                        "type": "object",
 5125                        "properties": {
 5126                          "onAttach": {
 5127                            "type": "number",
 5128                            "default": 32
 5129                          }
 5130                        },
 5131                        "required": [
 5132                          "onAttach"
 5133                        ]
 5134                      },
 5135                      {
 5136                        "type": "object",
 5137                        "properties": {
 5138                          "onceBreakpointResolved": {
 5139                            "type": "number",
 5140                            "default": 32
 5141                          }
 5142                        },
 5143                        "required": [
 5144                          "onceBreakpointResolved"
 5145                        ]
 5146                      }
 5147                    ]
 5148                  },
 5149                  "skipFiles": {
 5150                    "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/**\"]`",
 5151                    "type": "array",
 5152                    "default": [
 5153                      "${/**"
 5154                    ]
 5155                  },
 5156                  "smartStep": {
 5157                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 5158                    "type": "boolean",
 5159                    "default": true
 5160                  },
 5161                  "sourceMapPathOverrides": {
 5162                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 5163                    "type": "object",
 5164                    "default": {
 5165                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 5166                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 5167                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 5168                    }
 5169                  },
 5170                  "sourceMapRenames": {
 5171                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 5172                    "type": "boolean",
 5173                    "default": true
 5174                  },
 5175                  "sourceMaps": {
 5176                    "description": "Use JavaScript source maps (if they exist).",
 5177                    "type": "boolean",
 5178                    "default": true
 5179                  },
 5180                  "timeout": {
 5181                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 5182                    "type": "number",
 5183                    "default": 10000
 5184                  },
 5185                  "timeouts": {
 5186                    "description": "Timeouts for several debugger operations.",
 5187                    "type": "object",
 5188                    "properties": {
 5189                      "hoverEvaluation": {
 5190                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 5191                        "type": "number",
 5192                        "default": 500
 5193                      },
 5194                      "sourceMapCumulativePause": {
 5195                        "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",
 5196                        "type": "number",
 5197                        "default": 1000
 5198                      },
 5199                      "sourceMapMinPause": {
 5200                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 5201                        "type": "number",
 5202                        "default": 1000
 5203                      }
 5204                    },
 5205                    "additionalProperties": false,
 5206                    "default": {},
 5207                    "markdownDescription": "Timeouts for several debugger operations."
 5208                  },
 5209                  "trace": {
 5210                    "description": "Configures what diagnostic output is produced.",
 5211                    "default": true,
 5212                    "oneOf": [
 5213                      {
 5214                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 5215                        "type": "boolean"
 5216                      },
 5217                      {
 5218                        "type": "object",
 5219                        "properties": {
 5220                          "logFile": {
 5221                            "description": "Configures where on disk logs are written.",
 5222                            "type": [
 5223                              "string",
 5224                              "null"
 5225                            ]
 5226                          },
 5227                          "stdio": {
 5228                            "description": "Whether to return trace data from the launched application or browser.",
 5229                            "type": "boolean"
 5230                          }
 5231                        },
 5232                        "additionalProperties": false
 5233                      }
 5234                    ]
 5235                  }
 5236                },
 5237                "additionalProperties": false,
 5238                "default": {
 5239                  "program": "npm start"
 5240                }
 5241              }
 5242            ]
 5243          },
 5244          "showAsyncStacks": {
 5245            "description": "Show the async calls that led to the current call stack.",
 5246            "default": true,
 5247            "oneOf": [
 5248              {
 5249                "type": "boolean"
 5250              },
 5251              {
 5252                "type": "object",
 5253                "properties": {
 5254                  "onAttach": {
 5255                    "type": "number",
 5256                    "default": 32
 5257                  }
 5258                },
 5259                "required": [
 5260                  "onAttach"
 5261                ]
 5262              },
 5263              {
 5264                "type": "object",
 5265                "properties": {
 5266                  "onceBreakpointResolved": {
 5267                    "type": "number",
 5268                    "default": 32
 5269                  }
 5270                },
 5271                "required": [
 5272                  "onceBreakpointResolved"
 5273                ]
 5274              }
 5275            ]
 5276          },
 5277          "skipFiles": {
 5278            "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/**\"]`",
 5279            "type": "array",
 5280            "default": [
 5281              "${/**"
 5282            ]
 5283          },
 5284          "smartStep": {
 5285            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 5286            "type": "boolean",
 5287            "default": true
 5288          },
 5289          "sourceMapPathOverrides": {
 5290            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 5291            "type": "object",
 5292            "default": {
 5293              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 5294              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 5295              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 5296            }
 5297          },
 5298          "sourceMapRenames": {
 5299            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 5300            "type": "boolean",
 5301            "default": true
 5302          },
 5303          "sourceMaps": {
 5304            "description": "Use JavaScript source maps (if they exist).",
 5305            "type": "boolean",
 5306            "default": true
 5307          },
 5308          "timeout": {
 5309            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 5310            "type": "number",
 5311            "default": 10000
 5312          },
 5313          "timeouts": {
 5314            "description": "Timeouts for several debugger operations.",
 5315            "type": "object",
 5316            "properties": {
 5317              "hoverEvaluation": {
 5318                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 5319                "type": "number",
 5320                "default": 500
 5321              },
 5322              "sourceMapCumulativePause": {
 5323                "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",
 5324                "type": "number",
 5325                "default": 1000
 5326              },
 5327              "sourceMapMinPause": {
 5328                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 5329                "type": "number",
 5330                "default": 1000
 5331              }
 5332            },
 5333            "additionalProperties": false,
 5334            "default": {},
 5335            "markdownDescription": "Timeouts for several debugger operations."
 5336          },
 5337          "trace": {
 5338            "description": "Configures what diagnostic output is produced.",
 5339            "default": true,
 5340            "oneOf": [
 5341              {
 5342                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 5343                "type": "boolean"
 5344              },
 5345              {
 5346                "type": "object",
 5347                "properties": {
 5348                  "logFile": {
 5349                    "description": "Configures where on disk logs are written.",
 5350                    "type": [
 5351                      "string",
 5352                      "null"
 5353                    ]
 5354                  },
 5355                  "stdio": {
 5356                    "description": "Whether to return trace data from the launched application or browser.",
 5357                    "type": "boolean"
 5358                  }
 5359                },
 5360                "additionalProperties": false
 5361              }
 5362            ]
 5363          },
 5364          "url": {
 5365            "description": "Will search for a tab with this exact url and attach to it, if found",
 5366            "type": "string",
 5367            "default": "http://localhost:8080",
 5368            "tags": [
 5369              "setup"
 5370            ]
 5371          },
 5372          "urlFilter": {
 5373            "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
 5374            "type": "string",
 5375            "default": ""
 5376          },
 5377          "userDataDir": {
 5378            "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`.",
 5379            "type": [
 5380              "string",
 5381              "boolean"
 5382            ],
 5383            "default": true
 5384          },
 5385          "vueComponentPaths": {
 5386            "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.",
 5387            "type": "array",
 5388            "default": [
 5389              "${ZED_WORKTREE_ROOT}/**/*.vue"
 5390            ]
 5391          },
 5392          "webRoot": {
 5393            "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 \"/\"",
 5394            "type": "string",
 5395            "default": "${ZED_WORKTREE_ROOT}",
 5396            "tags": [
 5397              "setup"
 5398            ]
 5399          }
 5400        }
 5401      }
 5402    },
 5403    {
 5404      "if": {
 5405        "properties": {
 5406          "type": {
 5407            "const": "pwa-chrome"
 5408          },
 5409          "request": {
 5410            "const": "attach"
 5411          }
 5412        },
 5413        "required": [
 5414          "type",
 5415          "request"
 5416        ]
 5417      },
 5418      "then": {
 5419        "properties": {
 5420          "address": {
 5421            "description": "IP address or hostname the debugged browser is listening on.",
 5422            "type": "string",
 5423            "default": "localhost"
 5424          },
 5425          "browserAttachLocation": {
 5426            "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.",
 5427            "default": null,
 5428            "oneOf": [
 5429              {
 5430                "type": "null"
 5431              },
 5432              {
 5433                "type": "string",
 5434                "enum": [
 5435                  "ui",
 5436                  "workspace"
 5437                ]
 5438              }
 5439            ]
 5440          },
 5441          "cascadeTerminateToConfigurations": {
 5442            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 5443            "type": "array",
 5444            "default": [],
 5445            "items": {
 5446              "type": "string",
 5447              "uniqueItems": true
 5448            }
 5449          },
 5450          "customDescriptionGenerator": {
 5451            "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      ",
 5452            "type": "string"
 5453          },
 5454          "customPropertiesGenerator": {
 5455            "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",
 5456            "type": "string",
 5457            "deprecated": true
 5458          },
 5459          "disableNetworkCache": {
 5460            "description": "Controls whether to skip the network cache for each request",
 5461            "type": "boolean",
 5462            "default": true
 5463          },
 5464          "enableContentValidation": {
 5465            "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.",
 5466            "type": "boolean",
 5467            "default": true
 5468          },
 5469          "enableDWARF": {
 5470            "type": "boolean",
 5471            "default": true,
 5472            "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."
 5473          },
 5474          "inspectUri": {
 5475            "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",
 5476            "type": [
 5477              "string",
 5478              "null"
 5479            ],
 5480            "default": null
 5481          },
 5482          "outFiles": {
 5483            "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.",
 5484            "type": [
 5485              "array"
 5486            ],
 5487            "default": [
 5488              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 5489              "!**/node_modules/**"
 5490            ],
 5491            "items": {
 5492              "type": "string"
 5493            },
 5494            "tags": [
 5495              "setup"
 5496            ]
 5497          },
 5498          "outputCapture": {
 5499            "default": "console",
 5500            "enum": [
 5501              "console",
 5502              "std"
 5503            ],
 5504            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 5505          },
 5506          "pathMapping": {
 5507            "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
 5508            "type": "object",
 5509            "default": {}
 5510          },
 5511          "pauseForSourceMap": {
 5512            "type": "boolean",
 5513            "default": false,
 5514            "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."
 5515          },
 5516          "perScriptSourcemaps": {
 5517            "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.",
 5518            "type": "string",
 5519            "default": "auto",
 5520            "enum": [
 5521              "yes",
 5522              "no",
 5523              "auto"
 5524            ]
 5525          },
 5526          "port": {
 5527            "description": "Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.",
 5528            "default": 9229,
 5529            "oneOf": [
 5530              {
 5531                "type": "integer"
 5532              },
 5533              {
 5534                "type": "string",
 5535                "pattern": "^\\${.*}$"
 5536              }
 5537            ],
 5538            "tags": [
 5539              "setup"
 5540            ]
 5541          },
 5542          "resolveSourceMapLocations": {
 5543            "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.",
 5544            "type": [
 5545              "array",
 5546              "null"
 5547            ],
 5548            "default": null,
 5549            "items": {
 5550              "type": "string"
 5551            }
 5552          },
 5553          "restart": {
 5554            "type": "boolean",
 5555            "default": false,
 5556            "markdownDescription": "Whether to reconnect if the browser connection is closed"
 5557          },
 5558          "server": {
 5559            "oneOf": [
 5560              {
 5561                "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
 5562                "type": "object",
 5563                "properties": {
 5564                  "args": {
 5565                    "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.",
 5566                    "type": [
 5567                      "array",
 5568                      "string"
 5569                    ],
 5570                    "default": [],
 5571                    "items": {
 5572                      "type": "string"
 5573                    },
 5574                    "tags": [
 5575                      "setup"
 5576                    ]
 5577                  },
 5578                  "attachSimplePort": {
 5579                    "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.",
 5580                    "default": 9229,
 5581                    "oneOf": [
 5582                      {
 5583                        "type": "integer"
 5584                      },
 5585                      {
 5586                        "type": "string",
 5587                        "pattern": "^\\${.*}$"
 5588                      }
 5589                    ]
 5590                  },
 5591                  "autoAttachChildProcesses": {
 5592                    "description": "Attach debugger to new child processes automatically.",
 5593                    "type": "boolean",
 5594                    "default": true
 5595                  },
 5596                  "cascadeTerminateToConfigurations": {
 5597                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 5598                    "type": "array",
 5599                    "default": [],
 5600                    "items": {
 5601                      "type": "string",
 5602                      "uniqueItems": true
 5603                    }
 5604                  },
 5605                  "console": {
 5606                    "description": "Where to launch the debug target.",
 5607                    "type": "string",
 5608                    "default": "internalConsole",
 5609                    "enum": [
 5610                      "internalConsole",
 5611                      "integratedTerminal",
 5612                      "externalTerminal"
 5613                    ],
 5614                    "enumDescriptions": [
 5615                      "VS Code Debug Console (which doesn't support to read input from a program)",
 5616                      "VS Code's integrated terminal",
 5617                      "External terminal that can be configured via user settings"
 5618                    ]
 5619                  },
 5620                  "customDescriptionGenerator": {
 5621                    "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      ",
 5622                    "type": "string"
 5623                  },
 5624                  "customPropertiesGenerator": {
 5625                    "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",
 5626                    "type": "string",
 5627                    "deprecated": true
 5628                  },
 5629                  "cwd": {
 5630                    "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",
 5631                    "type": "string",
 5632                    "default": "${ZED_WORKTREE_ROOT}",
 5633                    "tags": [
 5634                      "setup"
 5635                    ]
 5636                  },
 5637                  "enableContentValidation": {
 5638                    "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.",
 5639                    "type": "boolean",
 5640                    "default": true
 5641                  },
 5642                  "enableDWARF": {
 5643                    "type": "boolean",
 5644                    "default": true,
 5645                    "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."
 5646                  },
 5647                  "env": {
 5648                    "type": "object",
 5649                    "additionalProperties": {
 5650                      "type": [
 5651                        "string",
 5652                        "null"
 5653                      ]
 5654                    },
 5655                    "default": {},
 5656                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 5657                    "tags": [
 5658                      "setup"
 5659                    ]
 5660                  },
 5661                  "envFile": {
 5662                    "description": "Absolute path to a file containing environment variable definitions.",
 5663                    "type": "string",
 5664                    "default": "${ZED_WORKTREE_ROOT}/.env"
 5665                  },
 5666                  "experimentalNetworking": {
 5667                    "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.",
 5668                    "type": "string",
 5669                    "default": "auto",
 5670                    "enum": [
 5671                      "auto",
 5672                      "on",
 5673                      "off"
 5674                    ]
 5675                  },
 5676                  "killBehavior": {
 5677                    "type": "string",
 5678                    "default": "forceful",
 5679                    "enum": [
 5680                      "forceful",
 5681                      "polite",
 5682                      "none"
 5683                    ],
 5684                    "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."
 5685                  },
 5686                  "localRoot": {
 5687                    "description": "Path to the local directory containing the program.",
 5688                    "type": [
 5689                      "string",
 5690                      "null"
 5691                    ],
 5692                    "default": null
 5693                  },
 5694                  "nodeVersionHint": {
 5695                    "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.",
 5696                    "type": "number",
 5697                    "default": 12,
 5698                    "minimum": 8
 5699                  },
 5700                  "outFiles": {
 5701                    "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.",
 5702                    "type": [
 5703                      "array"
 5704                    ],
 5705                    "default": [
 5706                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 5707                      "!**/node_modules/**"
 5708                    ],
 5709                    "items": {
 5710                      "type": "string"
 5711                    },
 5712                    "tags": [
 5713                      "setup"
 5714                    ]
 5715                  },
 5716                  "outputCapture": {
 5717                    "default": "console",
 5718                    "enum": [
 5719                      "console",
 5720                      "std"
 5721                    ],
 5722                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 5723                  },
 5724                  "pauseForSourceMap": {
 5725                    "type": "boolean",
 5726                    "default": false,
 5727                    "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."
 5728                  },
 5729                  "profileStartup": {
 5730                    "description": "If true, will start profiling as soon as the process launches",
 5731                    "type": "boolean",
 5732                    "default": true
 5733                  },
 5734                  "program": {
 5735                    "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
 5736                    "type": "string",
 5737                    "default": "",
 5738                    "tags": [
 5739                      "setup"
 5740                    ]
 5741                  },
 5742                  "remoteRoot": {
 5743                    "description": "Absolute path to the remote directory containing the program.",
 5744                    "type": [
 5745                      "string",
 5746                      "null"
 5747                    ],
 5748                    "default": null
 5749                  },
 5750                  "resolveSourceMapLocations": {
 5751                    "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.",
 5752                    "type": [
 5753                      "array",
 5754                      "null"
 5755                    ],
 5756                    "default": [
 5757                      "${ZED_WORKTREE_ROOT}/**",
 5758                      "!**/node_modules/**"
 5759                    ],
 5760                    "items": {
 5761                      "type": "string"
 5762                    }
 5763                  },
 5764                  "restart": {
 5765                    "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.",
 5766                    "default": true,
 5767                    "oneOf": [
 5768                      {
 5769                        "type": "boolean"
 5770                      },
 5771                      {
 5772                        "type": "object",
 5773                        "properties": {
 5774                          "delay": {
 5775                            "type": "number",
 5776                            "default": 1000,
 5777                            "minimum": 0
 5778                          },
 5779                          "maxAttempts": {
 5780                            "type": "number",
 5781                            "default": 10,
 5782                            "minimum": 0
 5783                          }
 5784                        }
 5785                      }
 5786                    ]
 5787                  },
 5788                  "runtimeArgs": {
 5789                    "description": "Optional arguments passed to the runtime executable.",
 5790                    "type": "array",
 5791                    "default": [],
 5792                    "items": {
 5793                      "type": "string"
 5794                    },
 5795                    "tags": [
 5796                      "setup"
 5797                    ]
 5798                  },
 5799                  "runtimeExecutable": {
 5800                    "type": [
 5801                      "string",
 5802                      "null"
 5803                    ],
 5804                    "default": "node",
 5805                    "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
 5806                  },
 5807                  "runtimeSourcemapPausePatterns": {
 5808                    "type": "array",
 5809                    "default": [],
 5810                    "items": {
 5811                      "type": "string"
 5812                    },
 5813                    "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)."
 5814                  },
 5815                  "runtimeVersion": {
 5816                    "type": "string",
 5817                    "default": "default",
 5818                    "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
 5819                  },
 5820                  "showAsyncStacks": {
 5821                    "description": "Show the async calls that led to the current call stack.",
 5822                    "default": true,
 5823                    "oneOf": [
 5824                      {
 5825                        "type": "boolean"
 5826                      },
 5827                      {
 5828                        "type": "object",
 5829                        "properties": {
 5830                          "onAttach": {
 5831                            "type": "number",
 5832                            "default": 32
 5833                          }
 5834                        },
 5835                        "required": [
 5836                          "onAttach"
 5837                        ]
 5838                      },
 5839                      {
 5840                        "type": "object",
 5841                        "properties": {
 5842                          "onceBreakpointResolved": {
 5843                            "type": "number",
 5844                            "default": 32
 5845                          }
 5846                        },
 5847                        "required": [
 5848                          "onceBreakpointResolved"
 5849                        ]
 5850                      }
 5851                    ]
 5852                  },
 5853                  "skipFiles": {
 5854                    "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/**\"]`",
 5855                    "type": "array",
 5856                    "default": [
 5857                      "${/**"
 5858                    ]
 5859                  },
 5860                  "smartStep": {
 5861                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 5862                    "type": "boolean",
 5863                    "default": true
 5864                  },
 5865                  "sourceMapPathOverrides": {
 5866                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 5867                    "type": "object",
 5868                    "default": {
 5869                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 5870                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 5871                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 5872                    }
 5873                  },
 5874                  "sourceMapRenames": {
 5875                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 5876                    "type": "boolean",
 5877                    "default": true
 5878                  },
 5879                  "sourceMaps": {
 5880                    "description": "Use JavaScript source maps (if they exist).",
 5881                    "type": "boolean",
 5882                    "default": true
 5883                  },
 5884                  "stopOnEntry": {
 5885                    "description": "Automatically stop program after launch.",
 5886                    "type": [
 5887                      "boolean",
 5888                      "string"
 5889                    ],
 5890                    "default": true
 5891                  },
 5892                  "timeout": {
 5893                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 5894                    "type": "number",
 5895                    "default": 10000
 5896                  },
 5897                  "timeouts": {
 5898                    "description": "Timeouts for several debugger operations.",
 5899                    "type": "object",
 5900                    "properties": {
 5901                      "hoverEvaluation": {
 5902                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 5903                        "type": "number",
 5904                        "default": 500
 5905                      },
 5906                      "sourceMapCumulativePause": {
 5907                        "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",
 5908                        "type": "number",
 5909                        "default": 1000
 5910                      },
 5911                      "sourceMapMinPause": {
 5912                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 5913                        "type": "number",
 5914                        "default": 1000
 5915                      }
 5916                    },
 5917                    "additionalProperties": false,
 5918                    "default": {},
 5919                    "markdownDescription": "Timeouts for several debugger operations."
 5920                  },
 5921                  "trace": {
 5922                    "description": "Configures what diagnostic output is produced.",
 5923                    "default": true,
 5924                    "oneOf": [
 5925                      {
 5926                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 5927                        "type": "boolean"
 5928                      },
 5929                      {
 5930                        "type": "object",
 5931                        "properties": {
 5932                          "logFile": {
 5933                            "description": "Configures where on disk logs are written.",
 5934                            "type": [
 5935                              "string",
 5936                              "null"
 5937                            ]
 5938                          },
 5939                          "stdio": {
 5940                            "description": "Whether to return trace data from the launched application or browser.",
 5941                            "type": "boolean"
 5942                          }
 5943                        },
 5944                        "additionalProperties": false
 5945                      }
 5946                    ]
 5947                  }
 5948                },
 5949                "additionalProperties": false,
 5950                "default": {
 5951                  "program": "node my-server.js"
 5952                }
 5953              },
 5954              {
 5955                "description": "JavaScript Debug Terminal",
 5956                "type": "object",
 5957                "properties": {
 5958                  "autoAttachChildProcesses": {
 5959                    "description": "Attach debugger to new child processes automatically.",
 5960                    "type": "boolean",
 5961                    "default": true
 5962                  },
 5963                  "cascadeTerminateToConfigurations": {
 5964                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 5965                    "type": "array",
 5966                    "default": [],
 5967                    "items": {
 5968                      "type": "string",
 5969                      "uniqueItems": true
 5970                    }
 5971                  },
 5972                  "command": {
 5973                    "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
 5974                    "type": [
 5975                      "string",
 5976                      "null"
 5977                    ],
 5978                    "default": "npm start",
 5979                    "tags": [
 5980                      "setup"
 5981                    ]
 5982                  },
 5983                  "customDescriptionGenerator": {
 5984                    "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      ",
 5985                    "type": "string"
 5986                  },
 5987                  "customPropertiesGenerator": {
 5988                    "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",
 5989                    "type": "string",
 5990                    "deprecated": true
 5991                  },
 5992                  "cwd": {
 5993                    "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",
 5994                    "type": "string",
 5995                    "default": "${ZED_WORKTREE_ROOT}",
 5996                    "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
 5997                    "tags": [
 5998                      "setup"
 5999                    ]
 6000                  },
 6001                  "enableContentValidation": {
 6002                    "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.",
 6003                    "type": "boolean",
 6004                    "default": true
 6005                  },
 6006                  "enableDWARF": {
 6007                    "type": "boolean",
 6008                    "default": true,
 6009                    "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."
 6010                  },
 6011                  "env": {
 6012                    "type": "object",
 6013                    "additionalProperties": {
 6014                      "type": [
 6015                        "string",
 6016                        "null"
 6017                      ]
 6018                    },
 6019                    "default": {},
 6020                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 6021                    "tags": [
 6022                      "setup"
 6023                    ]
 6024                  },
 6025                  "envFile": {
 6026                    "description": "Absolute path to a file containing environment variable definitions.",
 6027                    "type": "string",
 6028                    "default": "${ZED_WORKTREE_ROOT}/.env"
 6029                  },
 6030                  "localRoot": {
 6031                    "description": "Path to the local directory containing the program.",
 6032                    "type": [
 6033                      "string",
 6034                      "null"
 6035                    ],
 6036                    "default": null
 6037                  },
 6038                  "nodeVersionHint": {
 6039                    "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.",
 6040                    "type": "number",
 6041                    "default": 12,
 6042                    "minimum": 8
 6043                  },
 6044                  "outFiles": {
 6045                    "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.",
 6046                    "type": [
 6047                      "array"
 6048                    ],
 6049                    "default": [
 6050                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 6051                      "!**/node_modules/**"
 6052                    ],
 6053                    "items": {
 6054                      "type": "string"
 6055                    },
 6056                    "tags": [
 6057                      "setup"
 6058                    ]
 6059                  },
 6060                  "outputCapture": {
 6061                    "default": "console",
 6062                    "enum": [
 6063                      "console",
 6064                      "std"
 6065                    ],
 6066                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 6067                  },
 6068                  "pauseForSourceMap": {
 6069                    "type": "boolean",
 6070                    "default": false,
 6071                    "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."
 6072                  },
 6073                  "remoteRoot": {
 6074                    "description": "Absolute path to the remote directory containing the program.",
 6075                    "type": [
 6076                      "string",
 6077                      "null"
 6078                    ],
 6079                    "default": null
 6080                  },
 6081                  "resolveSourceMapLocations": {
 6082                    "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.",
 6083                    "type": [
 6084                      "array",
 6085                      "null"
 6086                    ],
 6087                    "default": [
 6088                      "${ZED_WORKTREE_ROOT}/**",
 6089                      "!**/node_modules/**"
 6090                    ],
 6091                    "items": {
 6092                      "type": "string"
 6093                    }
 6094                  },
 6095                  "runtimeSourcemapPausePatterns": {
 6096                    "type": "array",
 6097                    "default": [],
 6098                    "items": {
 6099                      "type": "string"
 6100                    },
 6101                    "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)."
 6102                  },
 6103                  "showAsyncStacks": {
 6104                    "description": "Show the async calls that led to the current call stack.",
 6105                    "default": true,
 6106                    "oneOf": [
 6107                      {
 6108                        "type": "boolean"
 6109                      },
 6110                      {
 6111                        "type": "object",
 6112                        "properties": {
 6113                          "onAttach": {
 6114                            "type": "number",
 6115                            "default": 32
 6116                          }
 6117                        },
 6118                        "required": [
 6119                          "onAttach"
 6120                        ]
 6121                      },
 6122                      {
 6123                        "type": "object",
 6124                        "properties": {
 6125                          "onceBreakpointResolved": {
 6126                            "type": "number",
 6127                            "default": 32
 6128                          }
 6129                        },
 6130                        "required": [
 6131                          "onceBreakpointResolved"
 6132                        ]
 6133                      }
 6134                    ]
 6135                  },
 6136                  "skipFiles": {
 6137                    "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/**\"]`",
 6138                    "type": "array",
 6139                    "default": [
 6140                      "${/**"
 6141                    ]
 6142                  },
 6143                  "smartStep": {
 6144                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 6145                    "type": "boolean",
 6146                    "default": true
 6147                  },
 6148                  "sourceMapPathOverrides": {
 6149                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 6150                    "type": "object",
 6151                    "default": {
 6152                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 6153                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 6154                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 6155                    }
 6156                  },
 6157                  "sourceMapRenames": {
 6158                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 6159                    "type": "boolean",
 6160                    "default": true
 6161                  },
 6162                  "sourceMaps": {
 6163                    "description": "Use JavaScript source maps (if they exist).",
 6164                    "type": "boolean",
 6165                    "default": true
 6166                  },
 6167                  "timeout": {
 6168                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 6169                    "type": "number",
 6170                    "default": 10000
 6171                  },
 6172                  "timeouts": {
 6173                    "description": "Timeouts for several debugger operations.",
 6174                    "type": "object",
 6175                    "properties": {
 6176                      "hoverEvaluation": {
 6177                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 6178                        "type": "number",
 6179                        "default": 500
 6180                      },
 6181                      "sourceMapCumulativePause": {
 6182                        "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",
 6183                        "type": "number",
 6184                        "default": 1000
 6185                      },
 6186                      "sourceMapMinPause": {
 6187                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 6188                        "type": "number",
 6189                        "default": 1000
 6190                      }
 6191                    },
 6192                    "additionalProperties": false,
 6193                    "default": {},
 6194                    "markdownDescription": "Timeouts for several debugger operations."
 6195                  },
 6196                  "trace": {
 6197                    "description": "Configures what diagnostic output is produced.",
 6198                    "default": true,
 6199                    "oneOf": [
 6200                      {
 6201                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 6202                        "type": "boolean"
 6203                      },
 6204                      {
 6205                        "type": "object",
 6206                        "properties": {
 6207                          "logFile": {
 6208                            "description": "Configures where on disk logs are written.",
 6209                            "type": [
 6210                              "string",
 6211                              "null"
 6212                            ]
 6213                          },
 6214                          "stdio": {
 6215                            "description": "Whether to return trace data from the launched application or browser.",
 6216                            "type": "boolean"
 6217                          }
 6218                        },
 6219                        "additionalProperties": false
 6220                      }
 6221                    ]
 6222                  }
 6223                },
 6224                "additionalProperties": false,
 6225                "default": {
 6226                  "program": "npm start"
 6227                }
 6228              }
 6229            ]
 6230          },
 6231          "showAsyncStacks": {
 6232            "description": "Show the async calls that led to the current call stack.",
 6233            "default": true,
 6234            "oneOf": [
 6235              {
 6236                "type": "boolean"
 6237              },
 6238              {
 6239                "type": "object",
 6240                "properties": {
 6241                  "onAttach": {
 6242                    "type": "number",
 6243                    "default": 32
 6244                  }
 6245                },
 6246                "required": [
 6247                  "onAttach"
 6248                ]
 6249              },
 6250              {
 6251                "type": "object",
 6252                "properties": {
 6253                  "onceBreakpointResolved": {
 6254                    "type": "number",
 6255                    "default": 32
 6256                  }
 6257                },
 6258                "required": [
 6259                  "onceBreakpointResolved"
 6260                ]
 6261              }
 6262            ]
 6263          },
 6264          "skipFiles": {
 6265            "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/**\"]`",
 6266            "type": "array",
 6267            "default": [
 6268              "${/**"
 6269            ]
 6270          },
 6271          "smartStep": {
 6272            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 6273            "type": "boolean",
 6274            "default": true
 6275          },
 6276          "sourceMapPathOverrides": {
 6277            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 6278            "type": "object",
 6279            "default": {
 6280              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 6281              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 6282              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 6283            }
 6284          },
 6285          "sourceMapRenames": {
 6286            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 6287            "type": "boolean",
 6288            "default": true
 6289          },
 6290          "sourceMaps": {
 6291            "description": "Use JavaScript source maps (if they exist).",
 6292            "type": "boolean",
 6293            "default": true
 6294          },
 6295          "targetSelection": {
 6296            "type": "string",
 6297            "default": "automatic",
 6298            "enum": [
 6299              "pick",
 6300              "automatic"
 6301            ],
 6302            "markdownDescription": "Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\")."
 6303          },
 6304          "timeout": {
 6305            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 6306            "type": "number",
 6307            "default": 10000
 6308          },
 6309          "timeouts": {
 6310            "description": "Timeouts for several debugger operations.",
 6311            "type": "object",
 6312            "properties": {
 6313              "hoverEvaluation": {
 6314                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 6315                "type": "number",
 6316                "default": 500
 6317              },
 6318              "sourceMapCumulativePause": {
 6319                "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",
 6320                "type": "number",
 6321                "default": 1000
 6322              },
 6323              "sourceMapMinPause": {
 6324                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 6325                "type": "number",
 6326                "default": 1000
 6327              }
 6328            },
 6329            "additionalProperties": false,
 6330            "default": {},
 6331            "markdownDescription": "Timeouts for several debugger operations."
 6332          },
 6333          "trace": {
 6334            "description": "Configures what diagnostic output is produced.",
 6335            "default": true,
 6336            "oneOf": [
 6337              {
 6338                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 6339                "type": "boolean"
 6340              },
 6341              {
 6342                "type": "object",
 6343                "properties": {
 6344                  "logFile": {
 6345                    "description": "Configures where on disk logs are written.",
 6346                    "type": [
 6347                      "string",
 6348                      "null"
 6349                    ]
 6350                  },
 6351                  "stdio": {
 6352                    "description": "Whether to return trace data from the launched application or browser.",
 6353                    "type": "boolean"
 6354                  }
 6355                },
 6356                "additionalProperties": false
 6357              }
 6358            ]
 6359          },
 6360          "url": {
 6361            "description": "Will search for a tab with this exact url and attach to it, if found",
 6362            "type": "string",
 6363            "default": "http://localhost:8080",
 6364            "tags": [
 6365              "setup"
 6366            ]
 6367          },
 6368          "urlFilter": {
 6369            "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
 6370            "type": "string",
 6371            "default": ""
 6372          },
 6373          "vueComponentPaths": {
 6374            "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.",
 6375            "type": "array",
 6376            "default": [
 6377              "${ZED_WORKTREE_ROOT}/**/*.vue"
 6378            ]
 6379          },
 6380          "webRoot": {
 6381            "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 \"/\"",
 6382            "type": "string",
 6383            "default": "${ZED_WORKTREE_ROOT}",
 6384            "tags": [
 6385              "setup"
 6386            ]
 6387          }
 6388        }
 6389      }
 6390    },
 6391    {
 6392      "if": {
 6393        "properties": {
 6394          "type": {
 6395            "const": "chrome"
 6396          },
 6397          "request": {
 6398            "const": "launch"
 6399          }
 6400        },
 6401        "required": [
 6402          "type",
 6403          "request"
 6404        ]
 6405      },
 6406      "then": {
 6407        "properties": {
 6408          "browserLaunchLocation": {
 6409            "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.",
 6410            "default": null,
 6411            "oneOf": [
 6412              {
 6413                "type": "null"
 6414              },
 6415              {
 6416                "type": "string",
 6417                "enum": [
 6418                  "ui",
 6419                  "workspace"
 6420                ]
 6421              }
 6422            ]
 6423          },
 6424          "cascadeTerminateToConfigurations": {
 6425            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 6426            "type": "array",
 6427            "default": [],
 6428            "items": {
 6429              "type": "string",
 6430              "uniqueItems": true
 6431            }
 6432          },
 6433          "cleanUp": {
 6434            "description": "What clean-up to do after the debugging session finishes. Close only the tab being debug, vs. close the whole browser.",
 6435            "type": "string",
 6436            "default": "wholeBrowser",
 6437            "enum": [
 6438              "wholeBrowser",
 6439              "onlyTab"
 6440            ]
 6441          },
 6442          "customDescriptionGenerator": {
 6443            "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      ",
 6444            "type": "string"
 6445          },
 6446          "customPropertiesGenerator": {
 6447            "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",
 6448            "type": "string",
 6449            "deprecated": true
 6450          },
 6451          "cwd": {
 6452            "description": "Optional working directory for the runtime executable.",
 6453            "type": "string",
 6454            "default": null
 6455          },
 6456          "disableNetworkCache": {
 6457            "description": "Controls whether to skip the network cache for each request",
 6458            "type": "boolean",
 6459            "default": true
 6460          },
 6461          "enableContentValidation": {
 6462            "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.",
 6463            "type": "boolean",
 6464            "default": true
 6465          },
 6466          "enableDWARF": {
 6467            "type": "boolean",
 6468            "default": true,
 6469            "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."
 6470          },
 6471          "env": {
 6472            "description": "Optional dictionary of environment key/value pairs for the browser.",
 6473            "type": "object",
 6474            "default": {}
 6475          },
 6476          "file": {
 6477            "description": "A local html file to open in the browser",
 6478            "type": "string",
 6479            "default": "${ZED_WORKTREE_ROOT}/index.html",
 6480            "tags": [
 6481              "setup"
 6482            ]
 6483          },
 6484          "includeDefaultArgs": {
 6485            "description": "Whether default browser launch arguments (to disable features that may make debugging harder) will be included in the launch.",
 6486            "type": "boolean",
 6487            "default": true
 6488          },
 6489          "includeLaunchArgs": {
 6490            "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`.",
 6491            "type": "boolean",
 6492            "default": true
 6493          },
 6494          "inspectUri": {
 6495            "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",
 6496            "type": [
 6497              "string",
 6498              "null"
 6499            ],
 6500            "default": null
 6501          },
 6502          "killBehavior": {
 6503            "type": "string",
 6504            "default": "forceful",
 6505            "enum": [
 6506              "forceful",
 6507              "polite",
 6508              "none"
 6509            ],
 6510            "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."
 6511          },
 6512          "outFiles": {
 6513            "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.",
 6514            "type": [
 6515              "array"
 6516            ],
 6517            "default": [
 6518              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 6519              "!**/node_modules/**"
 6520            ],
 6521            "items": {
 6522              "type": "string"
 6523            },
 6524            "tags": [
 6525              "setup"
 6526            ]
 6527          },
 6528          "outputCapture": {
 6529            "default": "console",
 6530            "enum": [
 6531              "console",
 6532              "std"
 6533            ],
 6534            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 6535          },
 6536          "pathMapping": {
 6537            "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
 6538            "type": "object",
 6539            "default": {}
 6540          },
 6541          "pauseForSourceMap": {
 6542            "type": "boolean",
 6543            "default": false,
 6544            "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."
 6545          },
 6546          "perScriptSourcemaps": {
 6547            "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.",
 6548            "type": "string",
 6549            "default": "auto",
 6550            "enum": [
 6551              "yes",
 6552              "no",
 6553              "auto"
 6554            ]
 6555          },
 6556          "port": {
 6557            "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.",
 6558            "type": "number",
 6559            "default": 0
 6560          },
 6561          "profileStartup": {
 6562            "description": "If true, will start profiling soon as the process launches",
 6563            "type": "boolean",
 6564            "default": true
 6565          },
 6566          "resolveSourceMapLocations": {
 6567            "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.",
 6568            "type": [
 6569              "array",
 6570              "null"
 6571            ],
 6572            "default": null,
 6573            "items": {
 6574              "type": "string"
 6575            }
 6576          },
 6577          "runtimeArgs": {
 6578            "description": "Optional arguments passed to the runtime executable.",
 6579            "type": "array",
 6580            "default": [],
 6581            "items": {
 6582              "type": "string"
 6583            }
 6584          },
 6585          "runtimeExecutable": {
 6586            "description": "Either 'canary', 'stable', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or CHROME_PATH environment variable.",
 6587            "type": [
 6588              "string",
 6589              "null"
 6590            ],
 6591            "default": "stable"
 6592          },
 6593          "server": {
 6594            "oneOf": [
 6595              {
 6596                "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
 6597                "type": "object",
 6598                "properties": {
 6599                  "args": {
 6600                    "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.",
 6601                    "type": [
 6602                      "array",
 6603                      "string"
 6604                    ],
 6605                    "default": [],
 6606                    "items": {
 6607                      "type": "string"
 6608                    },
 6609                    "tags": [
 6610                      "setup"
 6611                    ]
 6612                  },
 6613                  "attachSimplePort": {
 6614                    "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.",
 6615                    "default": 9229,
 6616                    "oneOf": [
 6617                      {
 6618                        "type": "integer"
 6619                      },
 6620                      {
 6621                        "type": "string",
 6622                        "pattern": "^\\${.*}$"
 6623                      }
 6624                    ]
 6625                  },
 6626                  "autoAttachChildProcesses": {
 6627                    "description": "Attach debugger to new child processes automatically.",
 6628                    "type": "boolean",
 6629                    "default": true
 6630                  },
 6631                  "cascadeTerminateToConfigurations": {
 6632                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 6633                    "type": "array",
 6634                    "default": [],
 6635                    "items": {
 6636                      "type": "string",
 6637                      "uniqueItems": true
 6638                    }
 6639                  },
 6640                  "console": {
 6641                    "description": "Where to launch the debug target.",
 6642                    "type": "string",
 6643                    "default": "internalConsole",
 6644                    "enum": [
 6645                      "internalConsole",
 6646                      "integratedTerminal",
 6647                      "externalTerminal"
 6648                    ],
 6649                    "enumDescriptions": [
 6650                      "VS Code Debug Console (which doesn't support to read input from a program)",
 6651                      "VS Code's integrated terminal",
 6652                      "External terminal that can be configured via user settings"
 6653                    ]
 6654                  },
 6655                  "customDescriptionGenerator": {
 6656                    "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      ",
 6657                    "type": "string"
 6658                  },
 6659                  "customPropertiesGenerator": {
 6660                    "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",
 6661                    "type": "string",
 6662                    "deprecated": true
 6663                  },
 6664                  "cwd": {
 6665                    "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",
 6666                    "type": "string",
 6667                    "default": "${ZED_WORKTREE_ROOT}",
 6668                    "tags": [
 6669                      "setup"
 6670                    ]
 6671                  },
 6672                  "enableContentValidation": {
 6673                    "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.",
 6674                    "type": "boolean",
 6675                    "default": true
 6676                  },
 6677                  "enableDWARF": {
 6678                    "type": "boolean",
 6679                    "default": true,
 6680                    "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."
 6681                  },
 6682                  "env": {
 6683                    "type": "object",
 6684                    "additionalProperties": {
 6685                      "type": [
 6686                        "string",
 6687                        "null"
 6688                      ]
 6689                    },
 6690                    "default": {},
 6691                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 6692                    "tags": [
 6693                      "setup"
 6694                    ]
 6695                  },
 6696                  "envFile": {
 6697                    "description": "Absolute path to a file containing environment variable definitions.",
 6698                    "type": "string",
 6699                    "default": "${ZED_WORKTREE_ROOT}/.env"
 6700                  },
 6701                  "experimentalNetworking": {
 6702                    "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.",
 6703                    "type": "string",
 6704                    "default": "auto",
 6705                    "enum": [
 6706                      "auto",
 6707                      "on",
 6708                      "off"
 6709                    ]
 6710                  },
 6711                  "killBehavior": {
 6712                    "type": "string",
 6713                    "default": "forceful",
 6714                    "enum": [
 6715                      "forceful",
 6716                      "polite",
 6717                      "none"
 6718                    ],
 6719                    "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."
 6720                  },
 6721                  "localRoot": {
 6722                    "description": "Path to the local directory containing the program.",
 6723                    "type": [
 6724                      "string",
 6725                      "null"
 6726                    ],
 6727                    "default": null
 6728                  },
 6729                  "nodeVersionHint": {
 6730                    "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.",
 6731                    "type": "number",
 6732                    "default": 12,
 6733                    "minimum": 8
 6734                  },
 6735                  "outFiles": {
 6736                    "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.",
 6737                    "type": [
 6738                      "array"
 6739                    ],
 6740                    "default": [
 6741                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 6742                      "!**/node_modules/**"
 6743                    ],
 6744                    "items": {
 6745                      "type": "string"
 6746                    },
 6747                    "tags": [
 6748                      "setup"
 6749                    ]
 6750                  },
 6751                  "outputCapture": {
 6752                    "default": "console",
 6753                    "enum": [
 6754                      "console",
 6755                      "std"
 6756                    ],
 6757                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 6758                  },
 6759                  "pauseForSourceMap": {
 6760                    "type": "boolean",
 6761                    "default": false,
 6762                    "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."
 6763                  },
 6764                  "profileStartup": {
 6765                    "description": "If true, will start profiling as soon as the process launches",
 6766                    "type": "boolean",
 6767                    "default": true
 6768                  },
 6769                  "program": {
 6770                    "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
 6771                    "type": "string",
 6772                    "default": "",
 6773                    "tags": [
 6774                      "setup"
 6775                    ]
 6776                  },
 6777                  "remoteRoot": {
 6778                    "description": "Absolute path to the remote directory containing the program.",
 6779                    "type": [
 6780                      "string",
 6781                      "null"
 6782                    ],
 6783                    "default": null
 6784                  },
 6785                  "resolveSourceMapLocations": {
 6786                    "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.",
 6787                    "type": [
 6788                      "array",
 6789                      "null"
 6790                    ],
 6791                    "default": [
 6792                      "${ZED_WORKTREE_ROOT}/**",
 6793                      "!**/node_modules/**"
 6794                    ],
 6795                    "items": {
 6796                      "type": "string"
 6797                    }
 6798                  },
 6799                  "restart": {
 6800                    "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.",
 6801                    "default": true,
 6802                    "oneOf": [
 6803                      {
 6804                        "type": "boolean"
 6805                      },
 6806                      {
 6807                        "type": "object",
 6808                        "properties": {
 6809                          "delay": {
 6810                            "type": "number",
 6811                            "default": 1000,
 6812                            "minimum": 0
 6813                          },
 6814                          "maxAttempts": {
 6815                            "type": "number",
 6816                            "default": 10,
 6817                            "minimum": 0
 6818                          }
 6819                        }
 6820                      }
 6821                    ]
 6822                  },
 6823                  "runtimeArgs": {
 6824                    "description": "Optional arguments passed to the runtime executable.",
 6825                    "type": "array",
 6826                    "default": [],
 6827                    "items": {
 6828                      "type": "string"
 6829                    },
 6830                    "tags": [
 6831                      "setup"
 6832                    ]
 6833                  },
 6834                  "runtimeExecutable": {
 6835                    "type": [
 6836                      "string",
 6837                      "null"
 6838                    ],
 6839                    "default": "node",
 6840                    "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
 6841                  },
 6842                  "runtimeSourcemapPausePatterns": {
 6843                    "type": "array",
 6844                    "default": [],
 6845                    "items": {
 6846                      "type": "string"
 6847                    },
 6848                    "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)."
 6849                  },
 6850                  "runtimeVersion": {
 6851                    "type": "string",
 6852                    "default": "default",
 6853                    "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
 6854                  },
 6855                  "showAsyncStacks": {
 6856                    "description": "Show the async calls that led to the current call stack.",
 6857                    "default": true,
 6858                    "oneOf": [
 6859                      {
 6860                        "type": "boolean"
 6861                      },
 6862                      {
 6863                        "type": "object",
 6864                        "properties": {
 6865                          "onAttach": {
 6866                            "type": "number",
 6867                            "default": 32
 6868                          }
 6869                        },
 6870                        "required": [
 6871                          "onAttach"
 6872                        ]
 6873                      },
 6874                      {
 6875                        "type": "object",
 6876                        "properties": {
 6877                          "onceBreakpointResolved": {
 6878                            "type": "number",
 6879                            "default": 32
 6880                          }
 6881                        },
 6882                        "required": [
 6883                          "onceBreakpointResolved"
 6884                        ]
 6885                      }
 6886                    ]
 6887                  },
 6888                  "skipFiles": {
 6889                    "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/**\"]`",
 6890                    "type": "array",
 6891                    "default": [
 6892                      "${/**"
 6893                    ]
 6894                  },
 6895                  "smartStep": {
 6896                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 6897                    "type": "boolean",
 6898                    "default": true
 6899                  },
 6900                  "sourceMapPathOverrides": {
 6901                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 6902                    "type": "object",
 6903                    "default": {
 6904                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 6905                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 6906                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 6907                    }
 6908                  },
 6909                  "sourceMapRenames": {
 6910                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 6911                    "type": "boolean",
 6912                    "default": true
 6913                  },
 6914                  "sourceMaps": {
 6915                    "description": "Use JavaScript source maps (if they exist).",
 6916                    "type": "boolean",
 6917                    "default": true
 6918                  },
 6919                  "stopOnEntry": {
 6920                    "description": "Automatically stop program after launch.",
 6921                    "type": [
 6922                      "boolean",
 6923                      "string"
 6924                    ],
 6925                    "default": true
 6926                  },
 6927                  "timeout": {
 6928                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 6929                    "type": "number",
 6930                    "default": 10000
 6931                  },
 6932                  "timeouts": {
 6933                    "description": "Timeouts for several debugger operations.",
 6934                    "type": "object",
 6935                    "properties": {
 6936                      "hoverEvaluation": {
 6937                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 6938                        "type": "number",
 6939                        "default": 500
 6940                      },
 6941                      "sourceMapCumulativePause": {
 6942                        "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",
 6943                        "type": "number",
 6944                        "default": 1000
 6945                      },
 6946                      "sourceMapMinPause": {
 6947                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 6948                        "type": "number",
 6949                        "default": 1000
 6950                      }
 6951                    },
 6952                    "additionalProperties": false,
 6953                    "default": {},
 6954                    "markdownDescription": "Timeouts for several debugger operations."
 6955                  },
 6956                  "trace": {
 6957                    "description": "Configures what diagnostic output is produced.",
 6958                    "default": true,
 6959                    "oneOf": [
 6960                      {
 6961                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 6962                        "type": "boolean"
 6963                      },
 6964                      {
 6965                        "type": "object",
 6966                        "properties": {
 6967                          "logFile": {
 6968                            "description": "Configures where on disk logs are written.",
 6969                            "type": [
 6970                              "string",
 6971                              "null"
 6972                            ]
 6973                          },
 6974                          "stdio": {
 6975                            "description": "Whether to return trace data from the launched application or browser.",
 6976                            "type": "boolean"
 6977                          }
 6978                        },
 6979                        "additionalProperties": false
 6980                      }
 6981                    ]
 6982                  }
 6983                },
 6984                "additionalProperties": false,
 6985                "default": {
 6986                  "program": "node my-server.js"
 6987                }
 6988              },
 6989              {
 6990                "description": "JavaScript Debug Terminal",
 6991                "type": "object",
 6992                "properties": {
 6993                  "autoAttachChildProcesses": {
 6994                    "description": "Attach debugger to new child processes automatically.",
 6995                    "type": "boolean",
 6996                    "default": true
 6997                  },
 6998                  "cascadeTerminateToConfigurations": {
 6999                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 7000                    "type": "array",
 7001                    "default": [],
 7002                    "items": {
 7003                      "type": "string",
 7004                      "uniqueItems": true
 7005                    }
 7006                  },
 7007                  "command": {
 7008                    "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
 7009                    "type": [
 7010                      "string",
 7011                      "null"
 7012                    ],
 7013                    "default": "npm start",
 7014                    "tags": [
 7015                      "setup"
 7016                    ]
 7017                  },
 7018                  "customDescriptionGenerator": {
 7019                    "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      ",
 7020                    "type": "string"
 7021                  },
 7022                  "customPropertiesGenerator": {
 7023                    "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",
 7024                    "type": "string",
 7025                    "deprecated": true
 7026                  },
 7027                  "cwd": {
 7028                    "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",
 7029                    "type": "string",
 7030                    "default": "${ZED_WORKTREE_ROOT}",
 7031                    "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
 7032                    "tags": [
 7033                      "setup"
 7034                    ]
 7035                  },
 7036                  "enableContentValidation": {
 7037                    "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.",
 7038                    "type": "boolean",
 7039                    "default": true
 7040                  },
 7041                  "enableDWARF": {
 7042                    "type": "boolean",
 7043                    "default": true,
 7044                    "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."
 7045                  },
 7046                  "env": {
 7047                    "type": "object",
 7048                    "additionalProperties": {
 7049                      "type": [
 7050                        "string",
 7051                        "null"
 7052                      ]
 7053                    },
 7054                    "default": {},
 7055                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 7056                    "tags": [
 7057                      "setup"
 7058                    ]
 7059                  },
 7060                  "envFile": {
 7061                    "description": "Absolute path to a file containing environment variable definitions.",
 7062                    "type": "string",
 7063                    "default": "${ZED_WORKTREE_ROOT}/.env"
 7064                  },
 7065                  "localRoot": {
 7066                    "description": "Path to the local directory containing the program.",
 7067                    "type": [
 7068                      "string",
 7069                      "null"
 7070                    ],
 7071                    "default": null
 7072                  },
 7073                  "nodeVersionHint": {
 7074                    "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.",
 7075                    "type": "number",
 7076                    "default": 12,
 7077                    "minimum": 8
 7078                  },
 7079                  "outFiles": {
 7080                    "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.",
 7081                    "type": [
 7082                      "array"
 7083                    ],
 7084                    "default": [
 7085                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 7086                      "!**/node_modules/**"
 7087                    ],
 7088                    "items": {
 7089                      "type": "string"
 7090                    },
 7091                    "tags": [
 7092                      "setup"
 7093                    ]
 7094                  },
 7095                  "outputCapture": {
 7096                    "default": "console",
 7097                    "enum": [
 7098                      "console",
 7099                      "std"
 7100                    ],
 7101                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 7102                  },
 7103                  "pauseForSourceMap": {
 7104                    "type": "boolean",
 7105                    "default": false,
 7106                    "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."
 7107                  },
 7108                  "remoteRoot": {
 7109                    "description": "Absolute path to the remote directory containing the program.",
 7110                    "type": [
 7111                      "string",
 7112                      "null"
 7113                    ],
 7114                    "default": null
 7115                  },
 7116                  "resolveSourceMapLocations": {
 7117                    "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.",
 7118                    "type": [
 7119                      "array",
 7120                      "null"
 7121                    ],
 7122                    "default": [
 7123                      "${ZED_WORKTREE_ROOT}/**",
 7124                      "!**/node_modules/**"
 7125                    ],
 7126                    "items": {
 7127                      "type": "string"
 7128                    }
 7129                  },
 7130                  "runtimeSourcemapPausePatterns": {
 7131                    "type": "array",
 7132                    "default": [],
 7133                    "items": {
 7134                      "type": "string"
 7135                    },
 7136                    "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)."
 7137                  },
 7138                  "showAsyncStacks": {
 7139                    "description": "Show the async calls that led to the current call stack.",
 7140                    "default": true,
 7141                    "oneOf": [
 7142                      {
 7143                        "type": "boolean"
 7144                      },
 7145                      {
 7146                        "type": "object",
 7147                        "properties": {
 7148                          "onAttach": {
 7149                            "type": "number",
 7150                            "default": 32
 7151                          }
 7152                        },
 7153                        "required": [
 7154                          "onAttach"
 7155                        ]
 7156                      },
 7157                      {
 7158                        "type": "object",
 7159                        "properties": {
 7160                          "onceBreakpointResolved": {
 7161                            "type": "number",
 7162                            "default": 32
 7163                          }
 7164                        },
 7165                        "required": [
 7166                          "onceBreakpointResolved"
 7167                        ]
 7168                      }
 7169                    ]
 7170                  },
 7171                  "skipFiles": {
 7172                    "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/**\"]`",
 7173                    "type": "array",
 7174                    "default": [
 7175                      "${/**"
 7176                    ]
 7177                  },
 7178                  "smartStep": {
 7179                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 7180                    "type": "boolean",
 7181                    "default": true
 7182                  },
 7183                  "sourceMapPathOverrides": {
 7184                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 7185                    "type": "object",
 7186                    "default": {
 7187                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 7188                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 7189                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 7190                    }
 7191                  },
 7192                  "sourceMapRenames": {
 7193                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 7194                    "type": "boolean",
 7195                    "default": true
 7196                  },
 7197                  "sourceMaps": {
 7198                    "description": "Use JavaScript source maps (if they exist).",
 7199                    "type": "boolean",
 7200                    "default": true
 7201                  },
 7202                  "timeout": {
 7203                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 7204                    "type": "number",
 7205                    "default": 10000
 7206                  },
 7207                  "timeouts": {
 7208                    "description": "Timeouts for several debugger operations.",
 7209                    "type": "object",
 7210                    "properties": {
 7211                      "hoverEvaluation": {
 7212                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 7213                        "type": "number",
 7214                        "default": 500
 7215                      },
 7216                      "sourceMapCumulativePause": {
 7217                        "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",
 7218                        "type": "number",
 7219                        "default": 1000
 7220                      },
 7221                      "sourceMapMinPause": {
 7222                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 7223                        "type": "number",
 7224                        "default": 1000
 7225                      }
 7226                    },
 7227                    "additionalProperties": false,
 7228                    "default": {},
 7229                    "markdownDescription": "Timeouts for several debugger operations."
 7230                  },
 7231                  "trace": {
 7232                    "description": "Configures what diagnostic output is produced.",
 7233                    "default": true,
 7234                    "oneOf": [
 7235                      {
 7236                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 7237                        "type": "boolean"
 7238                      },
 7239                      {
 7240                        "type": "object",
 7241                        "properties": {
 7242                          "logFile": {
 7243                            "description": "Configures where on disk logs are written.",
 7244                            "type": [
 7245                              "string",
 7246                              "null"
 7247                            ]
 7248                          },
 7249                          "stdio": {
 7250                            "description": "Whether to return trace data from the launched application or browser.",
 7251                            "type": "boolean"
 7252                          }
 7253                        },
 7254                        "additionalProperties": false
 7255                      }
 7256                    ]
 7257                  }
 7258                },
 7259                "additionalProperties": false,
 7260                "default": {
 7261                  "program": "npm start"
 7262                }
 7263              }
 7264            ]
 7265          },
 7266          "showAsyncStacks": {
 7267            "description": "Show the async calls that led to the current call stack.",
 7268            "default": true,
 7269            "oneOf": [
 7270              {
 7271                "type": "boolean"
 7272              },
 7273              {
 7274                "type": "object",
 7275                "properties": {
 7276                  "onAttach": {
 7277                    "type": "number",
 7278                    "default": 32
 7279                  }
 7280                },
 7281                "required": [
 7282                  "onAttach"
 7283                ]
 7284              },
 7285              {
 7286                "type": "object",
 7287                "properties": {
 7288                  "onceBreakpointResolved": {
 7289                    "type": "number",
 7290                    "default": 32
 7291                  }
 7292                },
 7293                "required": [
 7294                  "onceBreakpointResolved"
 7295                ]
 7296              }
 7297            ]
 7298          },
 7299          "skipFiles": {
 7300            "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/**\"]`",
 7301            "type": "array",
 7302            "default": [
 7303              "${/**"
 7304            ]
 7305          },
 7306          "smartStep": {
 7307            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 7308            "type": "boolean",
 7309            "default": true
 7310          },
 7311          "sourceMapPathOverrides": {
 7312            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 7313            "type": "object",
 7314            "default": {
 7315              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 7316              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 7317              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 7318            }
 7319          },
 7320          "sourceMapRenames": {
 7321            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 7322            "type": "boolean",
 7323            "default": true
 7324          },
 7325          "sourceMaps": {
 7326            "description": "Use JavaScript source maps (if they exist).",
 7327            "type": "boolean",
 7328            "default": true
 7329          },
 7330          "timeout": {
 7331            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 7332            "type": "number",
 7333            "default": 10000
 7334          },
 7335          "timeouts": {
 7336            "description": "Timeouts for several debugger operations.",
 7337            "type": "object",
 7338            "properties": {
 7339              "hoverEvaluation": {
 7340                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 7341                "type": "number",
 7342                "default": 500
 7343              },
 7344              "sourceMapCumulativePause": {
 7345                "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",
 7346                "type": "number",
 7347                "default": 1000
 7348              },
 7349              "sourceMapMinPause": {
 7350                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 7351                "type": "number",
 7352                "default": 1000
 7353              }
 7354            },
 7355            "additionalProperties": false,
 7356            "default": {},
 7357            "markdownDescription": "Timeouts for several debugger operations."
 7358          },
 7359          "trace": {
 7360            "description": "Configures what diagnostic output is produced.",
 7361            "default": true,
 7362            "oneOf": [
 7363              {
 7364                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 7365                "type": "boolean"
 7366              },
 7367              {
 7368                "type": "object",
 7369                "properties": {
 7370                  "logFile": {
 7371                    "description": "Configures where on disk logs are written.",
 7372                    "type": [
 7373                      "string",
 7374                      "null"
 7375                    ]
 7376                  },
 7377                  "stdio": {
 7378                    "description": "Whether to return trace data from the launched application or browser.",
 7379                    "type": "boolean"
 7380                  }
 7381                },
 7382                "additionalProperties": false
 7383              }
 7384            ]
 7385          },
 7386          "url": {
 7387            "description": "Will search for a tab with this exact url and attach to it, if found",
 7388            "type": "string",
 7389            "default": "http://localhost:8080",
 7390            "tags": [
 7391              "setup"
 7392            ]
 7393          },
 7394          "urlFilter": {
 7395            "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
 7396            "type": "string",
 7397            "default": ""
 7398          },
 7399          "userDataDir": {
 7400            "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`.",
 7401            "type": [
 7402              "string",
 7403              "boolean"
 7404            ],
 7405            "default": true
 7406          },
 7407          "vueComponentPaths": {
 7408            "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.",
 7409            "type": "array",
 7410            "default": [
 7411              "${ZED_WORKTREE_ROOT}/**/*.vue"
 7412            ]
 7413          },
 7414          "webRoot": {
 7415            "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 \"/\"",
 7416            "type": "string",
 7417            "default": "${ZED_WORKTREE_ROOT}",
 7418            "tags": [
 7419              "setup"
 7420            ]
 7421          }
 7422        }
 7423      }
 7424    },
 7425    {
 7426      "if": {
 7427        "properties": {
 7428          "type": {
 7429            "const": "chrome"
 7430          },
 7431          "request": {
 7432            "const": "attach"
 7433          }
 7434        },
 7435        "required": [
 7436          "type",
 7437          "request"
 7438        ]
 7439      },
 7440      "then": {
 7441        "properties": {
 7442          "address": {
 7443            "description": "IP address or hostname the debugged browser is listening on.",
 7444            "type": "string",
 7445            "default": "localhost"
 7446          },
 7447          "browserAttachLocation": {
 7448            "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.",
 7449            "default": null,
 7450            "oneOf": [
 7451              {
 7452                "type": "null"
 7453              },
 7454              {
 7455                "type": "string",
 7456                "enum": [
 7457                  "ui",
 7458                  "workspace"
 7459                ]
 7460              }
 7461            ]
 7462          },
 7463          "cascadeTerminateToConfigurations": {
 7464            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 7465            "type": "array",
 7466            "default": [],
 7467            "items": {
 7468              "type": "string",
 7469              "uniqueItems": true
 7470            }
 7471          },
 7472          "customDescriptionGenerator": {
 7473            "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      ",
 7474            "type": "string"
 7475          },
 7476          "customPropertiesGenerator": {
 7477            "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",
 7478            "type": "string",
 7479            "deprecated": true
 7480          },
 7481          "disableNetworkCache": {
 7482            "description": "Controls whether to skip the network cache for each request",
 7483            "type": "boolean",
 7484            "default": true
 7485          },
 7486          "enableContentValidation": {
 7487            "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.",
 7488            "type": "boolean",
 7489            "default": true
 7490          },
 7491          "enableDWARF": {
 7492            "type": "boolean",
 7493            "default": true,
 7494            "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."
 7495          },
 7496          "inspectUri": {
 7497            "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",
 7498            "type": [
 7499              "string",
 7500              "null"
 7501            ],
 7502            "default": null
 7503          },
 7504          "outFiles": {
 7505            "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.",
 7506            "type": [
 7507              "array"
 7508            ],
 7509            "default": [
 7510              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 7511              "!**/node_modules/**"
 7512            ],
 7513            "items": {
 7514              "type": "string"
 7515            },
 7516            "tags": [
 7517              "setup"
 7518            ]
 7519          },
 7520          "outputCapture": {
 7521            "default": "console",
 7522            "enum": [
 7523              "console",
 7524              "std"
 7525            ],
 7526            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 7527          },
 7528          "pathMapping": {
 7529            "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
 7530            "type": "object",
 7531            "default": {}
 7532          },
 7533          "pauseForSourceMap": {
 7534            "type": "boolean",
 7535            "default": false,
 7536            "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."
 7537          },
 7538          "perScriptSourcemaps": {
 7539            "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.",
 7540            "type": "string",
 7541            "default": "auto",
 7542            "enum": [
 7543              "yes",
 7544              "no",
 7545              "auto"
 7546            ]
 7547          },
 7548          "port": {
 7549            "description": "Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.",
 7550            "default": 9229,
 7551            "oneOf": [
 7552              {
 7553                "type": "integer"
 7554              },
 7555              {
 7556                "type": "string",
 7557                "pattern": "^\\${.*}$"
 7558              }
 7559            ],
 7560            "tags": [
 7561              "setup"
 7562            ]
 7563          },
 7564          "resolveSourceMapLocations": {
 7565            "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.",
 7566            "type": [
 7567              "array",
 7568              "null"
 7569            ],
 7570            "default": null,
 7571            "items": {
 7572              "type": "string"
 7573            }
 7574          },
 7575          "restart": {
 7576            "type": "boolean",
 7577            "default": false,
 7578            "markdownDescription": "Whether to reconnect if the browser connection is closed"
 7579          },
 7580          "server": {
 7581            "oneOf": [
 7582              {
 7583                "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
 7584                "type": "object",
 7585                "properties": {
 7586                  "args": {
 7587                    "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.",
 7588                    "type": [
 7589                      "array",
 7590                      "string"
 7591                    ],
 7592                    "default": [],
 7593                    "items": {
 7594                      "type": "string"
 7595                    },
 7596                    "tags": [
 7597                      "setup"
 7598                    ]
 7599                  },
 7600                  "attachSimplePort": {
 7601                    "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.",
 7602                    "default": 9229,
 7603                    "oneOf": [
 7604                      {
 7605                        "type": "integer"
 7606                      },
 7607                      {
 7608                        "type": "string",
 7609                        "pattern": "^\\${.*}$"
 7610                      }
 7611                    ]
 7612                  },
 7613                  "autoAttachChildProcesses": {
 7614                    "description": "Attach debugger to new child processes automatically.",
 7615                    "type": "boolean",
 7616                    "default": true
 7617                  },
 7618                  "cascadeTerminateToConfigurations": {
 7619                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 7620                    "type": "array",
 7621                    "default": [],
 7622                    "items": {
 7623                      "type": "string",
 7624                      "uniqueItems": true
 7625                    }
 7626                  },
 7627                  "console": {
 7628                    "description": "Where to launch the debug target.",
 7629                    "type": "string",
 7630                    "default": "internalConsole",
 7631                    "enum": [
 7632                      "internalConsole",
 7633                      "integratedTerminal",
 7634                      "externalTerminal"
 7635                    ],
 7636                    "enumDescriptions": [
 7637                      "VS Code Debug Console (which doesn't support to read input from a program)",
 7638                      "VS Code's integrated terminal",
 7639                      "External terminal that can be configured via user settings"
 7640                    ]
 7641                  },
 7642                  "customDescriptionGenerator": {
 7643                    "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      ",
 7644                    "type": "string"
 7645                  },
 7646                  "customPropertiesGenerator": {
 7647                    "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",
 7648                    "type": "string",
 7649                    "deprecated": true
 7650                  },
 7651                  "cwd": {
 7652                    "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",
 7653                    "type": "string",
 7654                    "default": "${ZED_WORKTREE_ROOT}",
 7655                    "tags": [
 7656                      "setup"
 7657                    ]
 7658                  },
 7659                  "enableContentValidation": {
 7660                    "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.",
 7661                    "type": "boolean",
 7662                    "default": true
 7663                  },
 7664                  "enableDWARF": {
 7665                    "type": "boolean",
 7666                    "default": true,
 7667                    "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."
 7668                  },
 7669                  "env": {
 7670                    "type": "object",
 7671                    "additionalProperties": {
 7672                      "type": [
 7673                        "string",
 7674                        "null"
 7675                      ]
 7676                    },
 7677                    "default": {},
 7678                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 7679                    "tags": [
 7680                      "setup"
 7681                    ]
 7682                  },
 7683                  "envFile": {
 7684                    "description": "Absolute path to a file containing environment variable definitions.",
 7685                    "type": "string",
 7686                    "default": "${ZED_WORKTREE_ROOT}/.env"
 7687                  },
 7688                  "experimentalNetworking": {
 7689                    "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.",
 7690                    "type": "string",
 7691                    "default": "auto",
 7692                    "enum": [
 7693                      "auto",
 7694                      "on",
 7695                      "off"
 7696                    ]
 7697                  },
 7698                  "killBehavior": {
 7699                    "type": "string",
 7700                    "default": "forceful",
 7701                    "enum": [
 7702                      "forceful",
 7703                      "polite",
 7704                      "none"
 7705                    ],
 7706                    "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."
 7707                  },
 7708                  "localRoot": {
 7709                    "description": "Path to the local directory containing the program.",
 7710                    "type": [
 7711                      "string",
 7712                      "null"
 7713                    ],
 7714                    "default": null
 7715                  },
 7716                  "nodeVersionHint": {
 7717                    "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.",
 7718                    "type": "number",
 7719                    "default": 12,
 7720                    "minimum": 8
 7721                  },
 7722                  "outFiles": {
 7723                    "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.",
 7724                    "type": [
 7725                      "array"
 7726                    ],
 7727                    "default": [
 7728                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 7729                      "!**/node_modules/**"
 7730                    ],
 7731                    "items": {
 7732                      "type": "string"
 7733                    },
 7734                    "tags": [
 7735                      "setup"
 7736                    ]
 7737                  },
 7738                  "outputCapture": {
 7739                    "default": "console",
 7740                    "enum": [
 7741                      "console",
 7742                      "std"
 7743                    ],
 7744                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 7745                  },
 7746                  "pauseForSourceMap": {
 7747                    "type": "boolean",
 7748                    "default": false,
 7749                    "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."
 7750                  },
 7751                  "profileStartup": {
 7752                    "description": "If true, will start profiling as soon as the process launches",
 7753                    "type": "boolean",
 7754                    "default": true
 7755                  },
 7756                  "program": {
 7757                    "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
 7758                    "type": "string",
 7759                    "default": "",
 7760                    "tags": [
 7761                      "setup"
 7762                    ]
 7763                  },
 7764                  "remoteRoot": {
 7765                    "description": "Absolute path to the remote directory containing the program.",
 7766                    "type": [
 7767                      "string",
 7768                      "null"
 7769                    ],
 7770                    "default": null
 7771                  },
 7772                  "resolveSourceMapLocations": {
 7773                    "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.",
 7774                    "type": [
 7775                      "array",
 7776                      "null"
 7777                    ],
 7778                    "default": [
 7779                      "${ZED_WORKTREE_ROOT}/**",
 7780                      "!**/node_modules/**"
 7781                    ],
 7782                    "items": {
 7783                      "type": "string"
 7784                    }
 7785                  },
 7786                  "restart": {
 7787                    "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.",
 7788                    "default": true,
 7789                    "oneOf": [
 7790                      {
 7791                        "type": "boolean"
 7792                      },
 7793                      {
 7794                        "type": "object",
 7795                        "properties": {
 7796                          "delay": {
 7797                            "type": "number",
 7798                            "default": 1000,
 7799                            "minimum": 0
 7800                          },
 7801                          "maxAttempts": {
 7802                            "type": "number",
 7803                            "default": 10,
 7804                            "minimum": 0
 7805                          }
 7806                        }
 7807                      }
 7808                    ]
 7809                  },
 7810                  "runtimeArgs": {
 7811                    "description": "Optional arguments passed to the runtime executable.",
 7812                    "type": "array",
 7813                    "default": [],
 7814                    "items": {
 7815                      "type": "string"
 7816                    },
 7817                    "tags": [
 7818                      "setup"
 7819                    ]
 7820                  },
 7821                  "runtimeExecutable": {
 7822                    "type": [
 7823                      "string",
 7824                      "null"
 7825                    ],
 7826                    "default": "node",
 7827                    "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
 7828                  },
 7829                  "runtimeSourcemapPausePatterns": {
 7830                    "type": "array",
 7831                    "default": [],
 7832                    "items": {
 7833                      "type": "string"
 7834                    },
 7835                    "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)."
 7836                  },
 7837                  "runtimeVersion": {
 7838                    "type": "string",
 7839                    "default": "default",
 7840                    "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
 7841                  },
 7842                  "showAsyncStacks": {
 7843                    "description": "Show the async calls that led to the current call stack.",
 7844                    "default": true,
 7845                    "oneOf": [
 7846                      {
 7847                        "type": "boolean"
 7848                      },
 7849                      {
 7850                        "type": "object",
 7851                        "properties": {
 7852                          "onAttach": {
 7853                            "type": "number",
 7854                            "default": 32
 7855                          }
 7856                        },
 7857                        "required": [
 7858                          "onAttach"
 7859                        ]
 7860                      },
 7861                      {
 7862                        "type": "object",
 7863                        "properties": {
 7864                          "onceBreakpointResolved": {
 7865                            "type": "number",
 7866                            "default": 32
 7867                          }
 7868                        },
 7869                        "required": [
 7870                          "onceBreakpointResolved"
 7871                        ]
 7872                      }
 7873                    ]
 7874                  },
 7875                  "skipFiles": {
 7876                    "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/**\"]`",
 7877                    "type": "array",
 7878                    "default": [
 7879                      "${/**"
 7880                    ]
 7881                  },
 7882                  "smartStep": {
 7883                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 7884                    "type": "boolean",
 7885                    "default": true
 7886                  },
 7887                  "sourceMapPathOverrides": {
 7888                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 7889                    "type": "object",
 7890                    "default": {
 7891                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 7892                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 7893                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 7894                    }
 7895                  },
 7896                  "sourceMapRenames": {
 7897                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 7898                    "type": "boolean",
 7899                    "default": true
 7900                  },
 7901                  "sourceMaps": {
 7902                    "description": "Use JavaScript source maps (if they exist).",
 7903                    "type": "boolean",
 7904                    "default": true
 7905                  },
 7906                  "stopOnEntry": {
 7907                    "description": "Automatically stop program after launch.",
 7908                    "type": [
 7909                      "boolean",
 7910                      "string"
 7911                    ],
 7912                    "default": true
 7913                  },
 7914                  "timeout": {
 7915                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 7916                    "type": "number",
 7917                    "default": 10000
 7918                  },
 7919                  "timeouts": {
 7920                    "description": "Timeouts for several debugger operations.",
 7921                    "type": "object",
 7922                    "properties": {
 7923                      "hoverEvaluation": {
 7924                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 7925                        "type": "number",
 7926                        "default": 500
 7927                      },
 7928                      "sourceMapCumulativePause": {
 7929                        "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",
 7930                        "type": "number",
 7931                        "default": 1000
 7932                      },
 7933                      "sourceMapMinPause": {
 7934                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 7935                        "type": "number",
 7936                        "default": 1000
 7937                      }
 7938                    },
 7939                    "additionalProperties": false,
 7940                    "default": {},
 7941                    "markdownDescription": "Timeouts for several debugger operations."
 7942                  },
 7943                  "trace": {
 7944                    "description": "Configures what diagnostic output is produced.",
 7945                    "default": true,
 7946                    "oneOf": [
 7947                      {
 7948                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 7949                        "type": "boolean"
 7950                      },
 7951                      {
 7952                        "type": "object",
 7953                        "properties": {
 7954                          "logFile": {
 7955                            "description": "Configures where on disk logs are written.",
 7956                            "type": [
 7957                              "string",
 7958                              "null"
 7959                            ]
 7960                          },
 7961                          "stdio": {
 7962                            "description": "Whether to return trace data from the launched application or browser.",
 7963                            "type": "boolean"
 7964                          }
 7965                        },
 7966                        "additionalProperties": false
 7967                      }
 7968                    ]
 7969                  }
 7970                },
 7971                "additionalProperties": false,
 7972                "default": {
 7973                  "program": "node my-server.js"
 7974                }
 7975              },
 7976              {
 7977                "description": "JavaScript Debug Terminal",
 7978                "type": "object",
 7979                "properties": {
 7980                  "autoAttachChildProcesses": {
 7981                    "description": "Attach debugger to new child processes automatically.",
 7982                    "type": "boolean",
 7983                    "default": true
 7984                  },
 7985                  "cascadeTerminateToConfigurations": {
 7986                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 7987                    "type": "array",
 7988                    "default": [],
 7989                    "items": {
 7990                      "type": "string",
 7991                      "uniqueItems": true
 7992                    }
 7993                  },
 7994                  "command": {
 7995                    "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
 7996                    "type": [
 7997                      "string",
 7998                      "null"
 7999                    ],
 8000                    "default": "npm start",
 8001                    "tags": [
 8002                      "setup"
 8003                    ]
 8004                  },
 8005                  "customDescriptionGenerator": {
 8006                    "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      ",
 8007                    "type": "string"
 8008                  },
 8009                  "customPropertiesGenerator": {
 8010                    "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",
 8011                    "type": "string",
 8012                    "deprecated": true
 8013                  },
 8014                  "cwd": {
 8015                    "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",
 8016                    "type": "string",
 8017                    "default": "${ZED_WORKTREE_ROOT}",
 8018                    "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
 8019                    "tags": [
 8020                      "setup"
 8021                    ]
 8022                  },
 8023                  "enableContentValidation": {
 8024                    "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.",
 8025                    "type": "boolean",
 8026                    "default": true
 8027                  },
 8028                  "enableDWARF": {
 8029                    "type": "boolean",
 8030                    "default": true,
 8031                    "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."
 8032                  },
 8033                  "env": {
 8034                    "type": "object",
 8035                    "additionalProperties": {
 8036                      "type": [
 8037                        "string",
 8038                        "null"
 8039                      ]
 8040                    },
 8041                    "default": {},
 8042                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 8043                    "tags": [
 8044                      "setup"
 8045                    ]
 8046                  },
 8047                  "envFile": {
 8048                    "description": "Absolute path to a file containing environment variable definitions.",
 8049                    "type": "string",
 8050                    "default": "${ZED_WORKTREE_ROOT}/.env"
 8051                  },
 8052                  "localRoot": {
 8053                    "description": "Path to the local directory containing the program.",
 8054                    "type": [
 8055                      "string",
 8056                      "null"
 8057                    ],
 8058                    "default": null
 8059                  },
 8060                  "nodeVersionHint": {
 8061                    "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.",
 8062                    "type": "number",
 8063                    "default": 12,
 8064                    "minimum": 8
 8065                  },
 8066                  "outFiles": {
 8067                    "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.",
 8068                    "type": [
 8069                      "array"
 8070                    ],
 8071                    "default": [
 8072                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 8073                      "!**/node_modules/**"
 8074                    ],
 8075                    "items": {
 8076                      "type": "string"
 8077                    },
 8078                    "tags": [
 8079                      "setup"
 8080                    ]
 8081                  },
 8082                  "outputCapture": {
 8083                    "default": "console",
 8084                    "enum": [
 8085                      "console",
 8086                      "std"
 8087                    ],
 8088                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 8089                  },
 8090                  "pauseForSourceMap": {
 8091                    "type": "boolean",
 8092                    "default": false,
 8093                    "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."
 8094                  },
 8095                  "remoteRoot": {
 8096                    "description": "Absolute path to the remote directory containing the program.",
 8097                    "type": [
 8098                      "string",
 8099                      "null"
 8100                    ],
 8101                    "default": null
 8102                  },
 8103                  "resolveSourceMapLocations": {
 8104                    "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.",
 8105                    "type": [
 8106                      "array",
 8107                      "null"
 8108                    ],
 8109                    "default": [
 8110                      "${ZED_WORKTREE_ROOT}/**",
 8111                      "!**/node_modules/**"
 8112                    ],
 8113                    "items": {
 8114                      "type": "string"
 8115                    }
 8116                  },
 8117                  "runtimeSourcemapPausePatterns": {
 8118                    "type": "array",
 8119                    "default": [],
 8120                    "items": {
 8121                      "type": "string"
 8122                    },
 8123                    "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)."
 8124                  },
 8125                  "showAsyncStacks": {
 8126                    "description": "Show the async calls that led to the current call stack.",
 8127                    "default": true,
 8128                    "oneOf": [
 8129                      {
 8130                        "type": "boolean"
 8131                      },
 8132                      {
 8133                        "type": "object",
 8134                        "properties": {
 8135                          "onAttach": {
 8136                            "type": "number",
 8137                            "default": 32
 8138                          }
 8139                        },
 8140                        "required": [
 8141                          "onAttach"
 8142                        ]
 8143                      },
 8144                      {
 8145                        "type": "object",
 8146                        "properties": {
 8147                          "onceBreakpointResolved": {
 8148                            "type": "number",
 8149                            "default": 32
 8150                          }
 8151                        },
 8152                        "required": [
 8153                          "onceBreakpointResolved"
 8154                        ]
 8155                      }
 8156                    ]
 8157                  },
 8158                  "skipFiles": {
 8159                    "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/**\"]`",
 8160                    "type": "array",
 8161                    "default": [
 8162                      "${/**"
 8163                    ]
 8164                  },
 8165                  "smartStep": {
 8166                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 8167                    "type": "boolean",
 8168                    "default": true
 8169                  },
 8170                  "sourceMapPathOverrides": {
 8171                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 8172                    "type": "object",
 8173                    "default": {
 8174                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 8175                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 8176                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 8177                    }
 8178                  },
 8179                  "sourceMapRenames": {
 8180                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 8181                    "type": "boolean",
 8182                    "default": true
 8183                  },
 8184                  "sourceMaps": {
 8185                    "description": "Use JavaScript source maps (if they exist).",
 8186                    "type": "boolean",
 8187                    "default": true
 8188                  },
 8189                  "timeout": {
 8190                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 8191                    "type": "number",
 8192                    "default": 10000
 8193                  },
 8194                  "timeouts": {
 8195                    "description": "Timeouts for several debugger operations.",
 8196                    "type": "object",
 8197                    "properties": {
 8198                      "hoverEvaluation": {
 8199                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 8200                        "type": "number",
 8201                        "default": 500
 8202                      },
 8203                      "sourceMapCumulativePause": {
 8204                        "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",
 8205                        "type": "number",
 8206                        "default": 1000
 8207                      },
 8208                      "sourceMapMinPause": {
 8209                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 8210                        "type": "number",
 8211                        "default": 1000
 8212                      }
 8213                    },
 8214                    "additionalProperties": false,
 8215                    "default": {},
 8216                    "markdownDescription": "Timeouts for several debugger operations."
 8217                  },
 8218                  "trace": {
 8219                    "description": "Configures what diagnostic output is produced.",
 8220                    "default": true,
 8221                    "oneOf": [
 8222                      {
 8223                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 8224                        "type": "boolean"
 8225                      },
 8226                      {
 8227                        "type": "object",
 8228                        "properties": {
 8229                          "logFile": {
 8230                            "description": "Configures where on disk logs are written.",
 8231                            "type": [
 8232                              "string",
 8233                              "null"
 8234                            ]
 8235                          },
 8236                          "stdio": {
 8237                            "description": "Whether to return trace data from the launched application or browser.",
 8238                            "type": "boolean"
 8239                          }
 8240                        },
 8241                        "additionalProperties": false
 8242                      }
 8243                    ]
 8244                  }
 8245                },
 8246                "additionalProperties": false,
 8247                "default": {
 8248                  "program": "npm start"
 8249                }
 8250              }
 8251            ]
 8252          },
 8253          "showAsyncStacks": {
 8254            "description": "Show the async calls that led to the current call stack.",
 8255            "default": true,
 8256            "oneOf": [
 8257              {
 8258                "type": "boolean"
 8259              },
 8260              {
 8261                "type": "object",
 8262                "properties": {
 8263                  "onAttach": {
 8264                    "type": "number",
 8265                    "default": 32
 8266                  }
 8267                },
 8268                "required": [
 8269                  "onAttach"
 8270                ]
 8271              },
 8272              {
 8273                "type": "object",
 8274                "properties": {
 8275                  "onceBreakpointResolved": {
 8276                    "type": "number",
 8277                    "default": 32
 8278                  }
 8279                },
 8280                "required": [
 8281                  "onceBreakpointResolved"
 8282                ]
 8283              }
 8284            ]
 8285          },
 8286          "skipFiles": {
 8287            "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/**\"]`",
 8288            "type": "array",
 8289            "default": [
 8290              "${/**"
 8291            ]
 8292          },
 8293          "smartStep": {
 8294            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 8295            "type": "boolean",
 8296            "default": true
 8297          },
 8298          "sourceMapPathOverrides": {
 8299            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 8300            "type": "object",
 8301            "default": {
 8302              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 8303              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 8304              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 8305            }
 8306          },
 8307          "sourceMapRenames": {
 8308            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 8309            "type": "boolean",
 8310            "default": true
 8311          },
 8312          "sourceMaps": {
 8313            "description": "Use JavaScript source maps (if they exist).",
 8314            "type": "boolean",
 8315            "default": true
 8316          },
 8317          "targetSelection": {
 8318            "type": "string",
 8319            "default": "automatic",
 8320            "enum": [
 8321              "pick",
 8322              "automatic"
 8323            ],
 8324            "markdownDescription": "Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\")."
 8325          },
 8326          "timeout": {
 8327            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 8328            "type": "number",
 8329            "default": 10000
 8330          },
 8331          "timeouts": {
 8332            "description": "Timeouts for several debugger operations.",
 8333            "type": "object",
 8334            "properties": {
 8335              "hoverEvaluation": {
 8336                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 8337                "type": "number",
 8338                "default": 500
 8339              },
 8340              "sourceMapCumulativePause": {
 8341                "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",
 8342                "type": "number",
 8343                "default": 1000
 8344              },
 8345              "sourceMapMinPause": {
 8346                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 8347                "type": "number",
 8348                "default": 1000
 8349              }
 8350            },
 8351            "additionalProperties": false,
 8352            "default": {},
 8353            "markdownDescription": "Timeouts for several debugger operations."
 8354          },
 8355          "trace": {
 8356            "description": "Configures what diagnostic output is produced.",
 8357            "default": true,
 8358            "oneOf": [
 8359              {
 8360                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 8361                "type": "boolean"
 8362              },
 8363              {
 8364                "type": "object",
 8365                "properties": {
 8366                  "logFile": {
 8367                    "description": "Configures where on disk logs are written.",
 8368                    "type": [
 8369                      "string",
 8370                      "null"
 8371                    ]
 8372                  },
 8373                  "stdio": {
 8374                    "description": "Whether to return trace data from the launched application or browser.",
 8375                    "type": "boolean"
 8376                  }
 8377                },
 8378                "additionalProperties": false
 8379              }
 8380            ]
 8381          },
 8382          "url": {
 8383            "description": "Will search for a tab with this exact url and attach to it, if found",
 8384            "type": "string",
 8385            "default": "http://localhost:8080",
 8386            "tags": [
 8387              "setup"
 8388            ]
 8389          },
 8390          "urlFilter": {
 8391            "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
 8392            "type": "string",
 8393            "default": ""
 8394          },
 8395          "vueComponentPaths": {
 8396            "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.",
 8397            "type": "array",
 8398            "default": [
 8399              "${ZED_WORKTREE_ROOT}/**/*.vue"
 8400            ]
 8401          },
 8402          "webRoot": {
 8403            "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 \"/\"",
 8404            "type": "string",
 8405            "default": "${ZED_WORKTREE_ROOT}",
 8406            "tags": [
 8407              "setup"
 8408            ]
 8409          }
 8410        }
 8411      }
 8412    },
 8413    {
 8414      "if": {
 8415        "properties": {
 8416          "type": {
 8417            "const": "pwa-msedge"
 8418          },
 8419          "request": {
 8420            "const": "launch"
 8421          }
 8422        },
 8423        "required": [
 8424          "type",
 8425          "request"
 8426        ]
 8427      },
 8428      "then": {
 8429        "properties": {
 8430          "address": {
 8431            "description": "When debugging webviews, the IP address or hostname the webview is listening on. Will be automatically discovered if not set.",
 8432            "type": "string",
 8433            "default": "localhost"
 8434          },
 8435          "browserLaunchLocation": {
 8436            "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.",
 8437            "default": null,
 8438            "oneOf": [
 8439              {
 8440                "type": "null"
 8441              },
 8442              {
 8443                "type": "string",
 8444                "enum": [
 8445                  "ui",
 8446                  "workspace"
 8447                ]
 8448              }
 8449            ]
 8450          },
 8451          "cascadeTerminateToConfigurations": {
 8452            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 8453            "type": "array",
 8454            "default": [],
 8455            "items": {
 8456              "type": "string",
 8457              "uniqueItems": true
 8458            }
 8459          },
 8460          "cleanUp": {
 8461            "description": "What clean-up to do after the debugging session finishes. Close only the tab being debug, vs. close the whole browser.",
 8462            "type": "string",
 8463            "default": "wholeBrowser",
 8464            "enum": [
 8465              "wholeBrowser",
 8466              "onlyTab"
 8467            ]
 8468          },
 8469          "customDescriptionGenerator": {
 8470            "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      ",
 8471            "type": "string"
 8472          },
 8473          "customPropertiesGenerator": {
 8474            "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",
 8475            "type": "string",
 8476            "deprecated": true
 8477          },
 8478          "cwd": {
 8479            "description": "Optional working directory for the runtime executable.",
 8480            "type": "string",
 8481            "default": null
 8482          },
 8483          "disableNetworkCache": {
 8484            "description": "Controls whether to skip the network cache for each request",
 8485            "type": "boolean",
 8486            "default": true
 8487          },
 8488          "enableContentValidation": {
 8489            "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.",
 8490            "type": "boolean",
 8491            "default": true
 8492          },
 8493          "enableDWARF": {
 8494            "type": "boolean",
 8495            "default": true,
 8496            "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."
 8497          },
 8498          "env": {
 8499            "description": "Optional dictionary of environment key/value pairs for the browser.",
 8500            "type": "object",
 8501            "default": {}
 8502          },
 8503          "file": {
 8504            "description": "A local html file to open in the browser",
 8505            "type": "string",
 8506            "default": "${ZED_WORKTREE_ROOT}/index.html",
 8507            "tags": [
 8508              "setup"
 8509            ]
 8510          },
 8511          "includeDefaultArgs": {
 8512            "description": "Whether default browser launch arguments (to disable features that may make debugging harder) will be included in the launch.",
 8513            "type": "boolean",
 8514            "default": true
 8515          },
 8516          "includeLaunchArgs": {
 8517            "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`.",
 8518            "type": "boolean",
 8519            "default": true
 8520          },
 8521          "inspectUri": {
 8522            "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",
 8523            "type": [
 8524              "string",
 8525              "null"
 8526            ],
 8527            "default": null
 8528          },
 8529          "killBehavior": {
 8530            "type": "string",
 8531            "default": "forceful",
 8532            "enum": [
 8533              "forceful",
 8534              "polite",
 8535              "none"
 8536            ],
 8537            "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."
 8538          },
 8539          "outFiles": {
 8540            "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.",
 8541            "type": [
 8542              "array"
 8543            ],
 8544            "default": [
 8545              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 8546              "!**/node_modules/**"
 8547            ],
 8548            "items": {
 8549              "type": "string"
 8550            },
 8551            "tags": [
 8552              "setup"
 8553            ]
 8554          },
 8555          "outputCapture": {
 8556            "default": "console",
 8557            "enum": [
 8558              "console",
 8559              "std"
 8560            ],
 8561            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 8562          },
 8563          "pathMapping": {
 8564            "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
 8565            "type": "object",
 8566            "default": {}
 8567          },
 8568          "pauseForSourceMap": {
 8569            "type": "boolean",
 8570            "default": false,
 8571            "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."
 8572          },
 8573          "perScriptSourcemaps": {
 8574            "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.",
 8575            "type": "string",
 8576            "default": "auto",
 8577            "enum": [
 8578              "yes",
 8579              "no",
 8580              "auto"
 8581            ]
 8582          },
 8583          "port": {
 8584            "description": "When debugging webviews, the port the webview debugger is listening on. Will be automatically discovered if not set.",
 8585            "type": "number",
 8586            "default": 9229
 8587          },
 8588          "profileStartup": {
 8589            "description": "If true, will start profiling soon as the process launches",
 8590            "type": "boolean",
 8591            "default": true
 8592          },
 8593          "resolveSourceMapLocations": {
 8594            "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.",
 8595            "type": [
 8596              "array",
 8597              "null"
 8598            ],
 8599            "default": null,
 8600            "items": {
 8601              "type": "string"
 8602            }
 8603          },
 8604          "runtimeArgs": {
 8605            "description": "Optional arguments passed to the runtime executable.",
 8606            "type": "array",
 8607            "default": [],
 8608            "items": {
 8609              "type": "string"
 8610            }
 8611          },
 8612          "runtimeExecutable": {
 8613            "description": "Either 'canary', 'stable', 'dev', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or EDGE_PATH environment variable.",
 8614            "type": [
 8615              "string",
 8616              "null"
 8617            ],
 8618            "default": "stable"
 8619          },
 8620          "server": {
 8621            "oneOf": [
 8622              {
 8623                "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
 8624                "type": "object",
 8625                "properties": {
 8626                  "args": {
 8627                    "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.",
 8628                    "type": [
 8629                      "array",
 8630                      "string"
 8631                    ],
 8632                    "default": [],
 8633                    "items": {
 8634                      "type": "string"
 8635                    },
 8636                    "tags": [
 8637                      "setup"
 8638                    ]
 8639                  },
 8640                  "attachSimplePort": {
 8641                    "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.",
 8642                    "default": 9229,
 8643                    "oneOf": [
 8644                      {
 8645                        "type": "integer"
 8646                      },
 8647                      {
 8648                        "type": "string",
 8649                        "pattern": "^\\${.*}$"
 8650                      }
 8651                    ]
 8652                  },
 8653                  "autoAttachChildProcesses": {
 8654                    "description": "Attach debugger to new child processes automatically.",
 8655                    "type": "boolean",
 8656                    "default": true
 8657                  },
 8658                  "cascadeTerminateToConfigurations": {
 8659                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 8660                    "type": "array",
 8661                    "default": [],
 8662                    "items": {
 8663                      "type": "string",
 8664                      "uniqueItems": true
 8665                    }
 8666                  },
 8667                  "console": {
 8668                    "description": "Where to launch the debug target.",
 8669                    "type": "string",
 8670                    "default": "internalConsole",
 8671                    "enum": [
 8672                      "internalConsole",
 8673                      "integratedTerminal",
 8674                      "externalTerminal"
 8675                    ],
 8676                    "enumDescriptions": [
 8677                      "VS Code Debug Console (which doesn't support to read input from a program)",
 8678                      "VS Code's integrated terminal",
 8679                      "External terminal that can be configured via user settings"
 8680                    ]
 8681                  },
 8682                  "customDescriptionGenerator": {
 8683                    "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      ",
 8684                    "type": "string"
 8685                  },
 8686                  "customPropertiesGenerator": {
 8687                    "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",
 8688                    "type": "string",
 8689                    "deprecated": true
 8690                  },
 8691                  "cwd": {
 8692                    "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",
 8693                    "type": "string",
 8694                    "default": "${ZED_WORKTREE_ROOT}",
 8695                    "tags": [
 8696                      "setup"
 8697                    ]
 8698                  },
 8699                  "enableContentValidation": {
 8700                    "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.",
 8701                    "type": "boolean",
 8702                    "default": true
 8703                  },
 8704                  "enableDWARF": {
 8705                    "type": "boolean",
 8706                    "default": true,
 8707                    "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."
 8708                  },
 8709                  "env": {
 8710                    "type": "object",
 8711                    "additionalProperties": {
 8712                      "type": [
 8713                        "string",
 8714                        "null"
 8715                      ]
 8716                    },
 8717                    "default": {},
 8718                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 8719                    "tags": [
 8720                      "setup"
 8721                    ]
 8722                  },
 8723                  "envFile": {
 8724                    "description": "Absolute path to a file containing environment variable definitions.",
 8725                    "type": "string",
 8726                    "default": "${ZED_WORKTREE_ROOT}/.env"
 8727                  },
 8728                  "experimentalNetworking": {
 8729                    "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.",
 8730                    "type": "string",
 8731                    "default": "auto",
 8732                    "enum": [
 8733                      "auto",
 8734                      "on",
 8735                      "off"
 8736                    ]
 8737                  },
 8738                  "killBehavior": {
 8739                    "type": "string",
 8740                    "default": "forceful",
 8741                    "enum": [
 8742                      "forceful",
 8743                      "polite",
 8744                      "none"
 8745                    ],
 8746                    "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."
 8747                  },
 8748                  "localRoot": {
 8749                    "description": "Path to the local directory containing the program.",
 8750                    "type": [
 8751                      "string",
 8752                      "null"
 8753                    ],
 8754                    "default": null
 8755                  },
 8756                  "nodeVersionHint": {
 8757                    "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.",
 8758                    "type": "number",
 8759                    "default": 12,
 8760                    "minimum": 8
 8761                  },
 8762                  "outFiles": {
 8763                    "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.",
 8764                    "type": [
 8765                      "array"
 8766                    ],
 8767                    "default": [
 8768                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 8769                      "!**/node_modules/**"
 8770                    ],
 8771                    "items": {
 8772                      "type": "string"
 8773                    },
 8774                    "tags": [
 8775                      "setup"
 8776                    ]
 8777                  },
 8778                  "outputCapture": {
 8779                    "default": "console",
 8780                    "enum": [
 8781                      "console",
 8782                      "std"
 8783                    ],
 8784                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 8785                  },
 8786                  "pauseForSourceMap": {
 8787                    "type": "boolean",
 8788                    "default": false,
 8789                    "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."
 8790                  },
 8791                  "profileStartup": {
 8792                    "description": "If true, will start profiling as soon as the process launches",
 8793                    "type": "boolean",
 8794                    "default": true
 8795                  },
 8796                  "program": {
 8797                    "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
 8798                    "type": "string",
 8799                    "default": "",
 8800                    "tags": [
 8801                      "setup"
 8802                    ]
 8803                  },
 8804                  "remoteRoot": {
 8805                    "description": "Absolute path to the remote directory containing the program.",
 8806                    "type": [
 8807                      "string",
 8808                      "null"
 8809                    ],
 8810                    "default": null
 8811                  },
 8812                  "resolveSourceMapLocations": {
 8813                    "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.",
 8814                    "type": [
 8815                      "array",
 8816                      "null"
 8817                    ],
 8818                    "default": [
 8819                      "${ZED_WORKTREE_ROOT}/**",
 8820                      "!**/node_modules/**"
 8821                    ],
 8822                    "items": {
 8823                      "type": "string"
 8824                    }
 8825                  },
 8826                  "restart": {
 8827                    "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.",
 8828                    "default": true,
 8829                    "oneOf": [
 8830                      {
 8831                        "type": "boolean"
 8832                      },
 8833                      {
 8834                        "type": "object",
 8835                        "properties": {
 8836                          "delay": {
 8837                            "type": "number",
 8838                            "default": 1000,
 8839                            "minimum": 0
 8840                          },
 8841                          "maxAttempts": {
 8842                            "type": "number",
 8843                            "default": 10,
 8844                            "minimum": 0
 8845                          }
 8846                        }
 8847                      }
 8848                    ]
 8849                  },
 8850                  "runtimeArgs": {
 8851                    "description": "Optional arguments passed to the runtime executable.",
 8852                    "type": "array",
 8853                    "default": [],
 8854                    "items": {
 8855                      "type": "string"
 8856                    },
 8857                    "tags": [
 8858                      "setup"
 8859                    ]
 8860                  },
 8861                  "runtimeExecutable": {
 8862                    "type": [
 8863                      "string",
 8864                      "null"
 8865                    ],
 8866                    "default": "node",
 8867                    "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
 8868                  },
 8869                  "runtimeSourcemapPausePatterns": {
 8870                    "type": "array",
 8871                    "default": [],
 8872                    "items": {
 8873                      "type": "string"
 8874                    },
 8875                    "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)."
 8876                  },
 8877                  "runtimeVersion": {
 8878                    "type": "string",
 8879                    "default": "default",
 8880                    "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
 8881                  },
 8882                  "showAsyncStacks": {
 8883                    "description": "Show the async calls that led to the current call stack.",
 8884                    "default": true,
 8885                    "oneOf": [
 8886                      {
 8887                        "type": "boolean"
 8888                      },
 8889                      {
 8890                        "type": "object",
 8891                        "properties": {
 8892                          "onAttach": {
 8893                            "type": "number",
 8894                            "default": 32
 8895                          }
 8896                        },
 8897                        "required": [
 8898                          "onAttach"
 8899                        ]
 8900                      },
 8901                      {
 8902                        "type": "object",
 8903                        "properties": {
 8904                          "onceBreakpointResolved": {
 8905                            "type": "number",
 8906                            "default": 32
 8907                          }
 8908                        },
 8909                        "required": [
 8910                          "onceBreakpointResolved"
 8911                        ]
 8912                      }
 8913                    ]
 8914                  },
 8915                  "skipFiles": {
 8916                    "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/**\"]`",
 8917                    "type": "array",
 8918                    "default": [
 8919                      "${/**"
 8920                    ]
 8921                  },
 8922                  "smartStep": {
 8923                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 8924                    "type": "boolean",
 8925                    "default": true
 8926                  },
 8927                  "sourceMapPathOverrides": {
 8928                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 8929                    "type": "object",
 8930                    "default": {
 8931                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 8932                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 8933                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 8934                    }
 8935                  },
 8936                  "sourceMapRenames": {
 8937                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 8938                    "type": "boolean",
 8939                    "default": true
 8940                  },
 8941                  "sourceMaps": {
 8942                    "description": "Use JavaScript source maps (if they exist).",
 8943                    "type": "boolean",
 8944                    "default": true
 8945                  },
 8946                  "stopOnEntry": {
 8947                    "description": "Automatically stop program after launch.",
 8948                    "type": [
 8949                      "boolean",
 8950                      "string"
 8951                    ],
 8952                    "default": true
 8953                  },
 8954                  "timeout": {
 8955                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 8956                    "type": "number",
 8957                    "default": 10000
 8958                  },
 8959                  "timeouts": {
 8960                    "description": "Timeouts for several debugger operations.",
 8961                    "type": "object",
 8962                    "properties": {
 8963                      "hoverEvaluation": {
 8964                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 8965                        "type": "number",
 8966                        "default": 500
 8967                      },
 8968                      "sourceMapCumulativePause": {
 8969                        "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",
 8970                        "type": "number",
 8971                        "default": 1000
 8972                      },
 8973                      "sourceMapMinPause": {
 8974                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 8975                        "type": "number",
 8976                        "default": 1000
 8977                      }
 8978                    },
 8979                    "additionalProperties": false,
 8980                    "default": {},
 8981                    "markdownDescription": "Timeouts for several debugger operations."
 8982                  },
 8983                  "trace": {
 8984                    "description": "Configures what diagnostic output is produced.",
 8985                    "default": true,
 8986                    "oneOf": [
 8987                      {
 8988                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 8989                        "type": "boolean"
 8990                      },
 8991                      {
 8992                        "type": "object",
 8993                        "properties": {
 8994                          "logFile": {
 8995                            "description": "Configures where on disk logs are written.",
 8996                            "type": [
 8997                              "string",
 8998                              "null"
 8999                            ]
 9000                          },
 9001                          "stdio": {
 9002                            "description": "Whether to return trace data from the launched application or browser.",
 9003                            "type": "boolean"
 9004                          }
 9005                        },
 9006                        "additionalProperties": false
 9007                      }
 9008                    ]
 9009                  }
 9010                },
 9011                "additionalProperties": false,
 9012                "default": {
 9013                  "program": "node my-server.js"
 9014                }
 9015              },
 9016              {
 9017                "description": "JavaScript Debug Terminal",
 9018                "type": "object",
 9019                "properties": {
 9020                  "autoAttachChildProcesses": {
 9021                    "description": "Attach debugger to new child processes automatically.",
 9022                    "type": "boolean",
 9023                    "default": true
 9024                  },
 9025                  "cascadeTerminateToConfigurations": {
 9026                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 9027                    "type": "array",
 9028                    "default": [],
 9029                    "items": {
 9030                      "type": "string",
 9031                      "uniqueItems": true
 9032                    }
 9033                  },
 9034                  "command": {
 9035                    "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
 9036                    "type": [
 9037                      "string",
 9038                      "null"
 9039                    ],
 9040                    "default": "npm start",
 9041                    "tags": [
 9042                      "setup"
 9043                    ]
 9044                  },
 9045                  "customDescriptionGenerator": {
 9046                    "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      ",
 9047                    "type": "string"
 9048                  },
 9049                  "customPropertiesGenerator": {
 9050                    "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",
 9051                    "type": "string",
 9052                    "deprecated": true
 9053                  },
 9054                  "cwd": {
 9055                    "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",
 9056                    "type": "string",
 9057                    "default": "${ZED_WORKTREE_ROOT}",
 9058                    "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
 9059                    "tags": [
 9060                      "setup"
 9061                    ]
 9062                  },
 9063                  "enableContentValidation": {
 9064                    "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.",
 9065                    "type": "boolean",
 9066                    "default": true
 9067                  },
 9068                  "enableDWARF": {
 9069                    "type": "boolean",
 9070                    "default": true,
 9071                    "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."
 9072                  },
 9073                  "env": {
 9074                    "type": "object",
 9075                    "additionalProperties": {
 9076                      "type": [
 9077                        "string",
 9078                        "null"
 9079                      ]
 9080                    },
 9081                    "default": {},
 9082                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 9083                    "tags": [
 9084                      "setup"
 9085                    ]
 9086                  },
 9087                  "envFile": {
 9088                    "description": "Absolute path to a file containing environment variable definitions.",
 9089                    "type": "string",
 9090                    "default": "${ZED_WORKTREE_ROOT}/.env"
 9091                  },
 9092                  "localRoot": {
 9093                    "description": "Path to the local directory containing the program.",
 9094                    "type": [
 9095                      "string",
 9096                      "null"
 9097                    ],
 9098                    "default": null
 9099                  },
 9100                  "nodeVersionHint": {
 9101                    "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.",
 9102                    "type": "number",
 9103                    "default": 12,
 9104                    "minimum": 8
 9105                  },
 9106                  "outFiles": {
 9107                    "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.",
 9108                    "type": [
 9109                      "array"
 9110                    ],
 9111                    "default": [
 9112                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 9113                      "!**/node_modules/**"
 9114                    ],
 9115                    "items": {
 9116                      "type": "string"
 9117                    },
 9118                    "tags": [
 9119                      "setup"
 9120                    ]
 9121                  },
 9122                  "outputCapture": {
 9123                    "default": "console",
 9124                    "enum": [
 9125                      "console",
 9126                      "std"
 9127                    ],
 9128                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 9129                  },
 9130                  "pauseForSourceMap": {
 9131                    "type": "boolean",
 9132                    "default": false,
 9133                    "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."
 9134                  },
 9135                  "remoteRoot": {
 9136                    "description": "Absolute path to the remote directory containing the program.",
 9137                    "type": [
 9138                      "string",
 9139                      "null"
 9140                    ],
 9141                    "default": null
 9142                  },
 9143                  "resolveSourceMapLocations": {
 9144                    "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.",
 9145                    "type": [
 9146                      "array",
 9147                      "null"
 9148                    ],
 9149                    "default": [
 9150                      "${ZED_WORKTREE_ROOT}/**",
 9151                      "!**/node_modules/**"
 9152                    ],
 9153                    "items": {
 9154                      "type": "string"
 9155                    }
 9156                  },
 9157                  "runtimeSourcemapPausePatterns": {
 9158                    "type": "array",
 9159                    "default": [],
 9160                    "items": {
 9161                      "type": "string"
 9162                    },
 9163                    "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)."
 9164                  },
 9165                  "showAsyncStacks": {
 9166                    "description": "Show the async calls that led to the current call stack.",
 9167                    "default": true,
 9168                    "oneOf": [
 9169                      {
 9170                        "type": "boolean"
 9171                      },
 9172                      {
 9173                        "type": "object",
 9174                        "properties": {
 9175                          "onAttach": {
 9176                            "type": "number",
 9177                            "default": 32
 9178                          }
 9179                        },
 9180                        "required": [
 9181                          "onAttach"
 9182                        ]
 9183                      },
 9184                      {
 9185                        "type": "object",
 9186                        "properties": {
 9187                          "onceBreakpointResolved": {
 9188                            "type": "number",
 9189                            "default": 32
 9190                          }
 9191                        },
 9192                        "required": [
 9193                          "onceBreakpointResolved"
 9194                        ]
 9195                      }
 9196                    ]
 9197                  },
 9198                  "skipFiles": {
 9199                    "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/**\"]`",
 9200                    "type": "array",
 9201                    "default": [
 9202                      "${/**"
 9203                    ]
 9204                  },
 9205                  "smartStep": {
 9206                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 9207                    "type": "boolean",
 9208                    "default": true
 9209                  },
 9210                  "sourceMapPathOverrides": {
 9211                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 9212                    "type": "object",
 9213                    "default": {
 9214                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 9215                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 9216                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 9217                    }
 9218                  },
 9219                  "sourceMapRenames": {
 9220                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 9221                    "type": "boolean",
 9222                    "default": true
 9223                  },
 9224                  "sourceMaps": {
 9225                    "description": "Use JavaScript source maps (if they exist).",
 9226                    "type": "boolean",
 9227                    "default": true
 9228                  },
 9229                  "timeout": {
 9230                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 9231                    "type": "number",
 9232                    "default": 10000
 9233                  },
 9234                  "timeouts": {
 9235                    "description": "Timeouts for several debugger operations.",
 9236                    "type": "object",
 9237                    "properties": {
 9238                      "hoverEvaluation": {
 9239                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 9240                        "type": "number",
 9241                        "default": 500
 9242                      },
 9243                      "sourceMapCumulativePause": {
 9244                        "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",
 9245                        "type": "number",
 9246                        "default": 1000
 9247                      },
 9248                      "sourceMapMinPause": {
 9249                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 9250                        "type": "number",
 9251                        "default": 1000
 9252                      }
 9253                    },
 9254                    "additionalProperties": false,
 9255                    "default": {},
 9256                    "markdownDescription": "Timeouts for several debugger operations."
 9257                  },
 9258                  "trace": {
 9259                    "description": "Configures what diagnostic output is produced.",
 9260                    "default": true,
 9261                    "oneOf": [
 9262                      {
 9263                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 9264                        "type": "boolean"
 9265                      },
 9266                      {
 9267                        "type": "object",
 9268                        "properties": {
 9269                          "logFile": {
 9270                            "description": "Configures where on disk logs are written.",
 9271                            "type": [
 9272                              "string",
 9273                              "null"
 9274                            ]
 9275                          },
 9276                          "stdio": {
 9277                            "description": "Whether to return trace data from the launched application or browser.",
 9278                            "type": "boolean"
 9279                          }
 9280                        },
 9281                        "additionalProperties": false
 9282                      }
 9283                    ]
 9284                  }
 9285                },
 9286                "additionalProperties": false,
 9287                "default": {
 9288                  "program": "npm start"
 9289                }
 9290              }
 9291            ]
 9292          },
 9293          "showAsyncStacks": {
 9294            "description": "Show the async calls that led to the current call stack.",
 9295            "default": true,
 9296            "oneOf": [
 9297              {
 9298                "type": "boolean"
 9299              },
 9300              {
 9301                "type": "object",
 9302                "properties": {
 9303                  "onAttach": {
 9304                    "type": "number",
 9305                    "default": 32
 9306                  }
 9307                },
 9308                "required": [
 9309                  "onAttach"
 9310                ]
 9311              },
 9312              {
 9313                "type": "object",
 9314                "properties": {
 9315                  "onceBreakpointResolved": {
 9316                    "type": "number",
 9317                    "default": 32
 9318                  }
 9319                },
 9320                "required": [
 9321                  "onceBreakpointResolved"
 9322                ]
 9323              }
 9324            ]
 9325          },
 9326          "skipFiles": {
 9327            "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/**\"]`",
 9328            "type": "array",
 9329            "default": [
 9330              "${/**"
 9331            ]
 9332          },
 9333          "smartStep": {
 9334            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 9335            "type": "boolean",
 9336            "default": true
 9337          },
 9338          "sourceMapPathOverrides": {
 9339            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 9340            "type": "object",
 9341            "default": {
 9342              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 9343              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 9344              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 9345            }
 9346          },
 9347          "sourceMapRenames": {
 9348            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 9349            "type": "boolean",
 9350            "default": true
 9351          },
 9352          "sourceMaps": {
 9353            "description": "Use JavaScript source maps (if they exist).",
 9354            "type": "boolean",
 9355            "default": true
 9356          },
 9357          "timeout": {
 9358            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 9359            "type": "number",
 9360            "default": 10000
 9361          },
 9362          "timeouts": {
 9363            "description": "Timeouts for several debugger operations.",
 9364            "type": "object",
 9365            "properties": {
 9366              "hoverEvaluation": {
 9367                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 9368                "type": "number",
 9369                "default": 500
 9370              },
 9371              "sourceMapCumulativePause": {
 9372                "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",
 9373                "type": "number",
 9374                "default": 1000
 9375              },
 9376              "sourceMapMinPause": {
 9377                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 9378                "type": "number",
 9379                "default": 1000
 9380              }
 9381            },
 9382            "additionalProperties": false,
 9383            "default": {},
 9384            "markdownDescription": "Timeouts for several debugger operations."
 9385          },
 9386          "trace": {
 9387            "description": "Configures what diagnostic output is produced.",
 9388            "default": true,
 9389            "oneOf": [
 9390              {
 9391                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 9392                "type": "boolean"
 9393              },
 9394              {
 9395                "type": "object",
 9396                "properties": {
 9397                  "logFile": {
 9398                    "description": "Configures where on disk logs are written.",
 9399                    "type": [
 9400                      "string",
 9401                      "null"
 9402                    ]
 9403                  },
 9404                  "stdio": {
 9405                    "description": "Whether to return trace data from the launched application or browser.",
 9406                    "type": "boolean"
 9407                  }
 9408                },
 9409                "additionalProperties": false
 9410              }
 9411            ]
 9412          },
 9413          "url": {
 9414            "description": "Will search for a tab with this exact url and attach to it, if found",
 9415            "type": "string",
 9416            "default": "http://localhost:8080",
 9417            "tags": [
 9418              "setup"
 9419            ]
 9420          },
 9421          "urlFilter": {
 9422            "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
 9423            "type": "string",
 9424            "default": ""
 9425          },
 9426          "useWebView": {
 9427            "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.",
 9428            "type": "boolean",
 9429            "default": false
 9430          },
 9431          "userDataDir": {
 9432            "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`.",
 9433            "type": [
 9434              "string",
 9435              "boolean"
 9436            ],
 9437            "default": true
 9438          },
 9439          "vueComponentPaths": {
 9440            "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.",
 9441            "type": "array",
 9442            "default": [
 9443              "${ZED_WORKTREE_ROOT}/**/*.vue"
 9444            ]
 9445          },
 9446          "webRoot": {
 9447            "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 \"/\"",
 9448            "type": "string",
 9449            "default": "${ZED_WORKTREE_ROOT}",
 9450            "tags": [
 9451              "setup"
 9452            ]
 9453          }
 9454        }
 9455      }
 9456    },
 9457    {
 9458      "if": {
 9459        "properties": {
 9460          "type": {
 9461            "const": "pwa-msedge"
 9462          },
 9463          "request": {
 9464            "const": "attach"
 9465          }
 9466        },
 9467        "required": [
 9468          "type",
 9469          "request"
 9470        ]
 9471      },
 9472      "then": {
 9473        "properties": {
 9474          "address": {
 9475            "description": "IP address or hostname the debugged browser is listening on.",
 9476            "type": "string",
 9477            "default": "localhost"
 9478          },
 9479          "browserAttachLocation": {
 9480            "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.",
 9481            "default": null,
 9482            "oneOf": [
 9483              {
 9484                "type": "null"
 9485              },
 9486              {
 9487                "type": "string",
 9488                "enum": [
 9489                  "ui",
 9490                  "workspace"
 9491                ]
 9492              }
 9493            ]
 9494          },
 9495          "cascadeTerminateToConfigurations": {
 9496            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 9497            "type": "array",
 9498            "default": [],
 9499            "items": {
 9500              "type": "string",
 9501              "uniqueItems": true
 9502            }
 9503          },
 9504          "customDescriptionGenerator": {
 9505            "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      ",
 9506            "type": "string"
 9507          },
 9508          "customPropertiesGenerator": {
 9509            "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",
 9510            "type": "string",
 9511            "deprecated": true
 9512          },
 9513          "disableNetworkCache": {
 9514            "description": "Controls whether to skip the network cache for each request",
 9515            "type": "boolean",
 9516            "default": true
 9517          },
 9518          "enableContentValidation": {
 9519            "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.",
 9520            "type": "boolean",
 9521            "default": true
 9522          },
 9523          "enableDWARF": {
 9524            "type": "boolean",
 9525            "default": true,
 9526            "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."
 9527          },
 9528          "inspectUri": {
 9529            "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",
 9530            "type": [
 9531              "string",
 9532              "null"
 9533            ],
 9534            "default": null
 9535          },
 9536          "outFiles": {
 9537            "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.",
 9538            "type": [
 9539              "array"
 9540            ],
 9541            "default": [
 9542              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 9543              "!**/node_modules/**"
 9544            ],
 9545            "items": {
 9546              "type": "string"
 9547            },
 9548            "tags": [
 9549              "setup"
 9550            ]
 9551          },
 9552          "outputCapture": {
 9553            "default": "console",
 9554            "enum": [
 9555              "console",
 9556              "std"
 9557            ],
 9558            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 9559          },
 9560          "pathMapping": {
 9561            "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
 9562            "type": "object",
 9563            "default": {}
 9564          },
 9565          "pauseForSourceMap": {
 9566            "type": "boolean",
 9567            "default": false,
 9568            "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."
 9569          },
 9570          "perScriptSourcemaps": {
 9571            "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.",
 9572            "type": "string",
 9573            "default": "auto",
 9574            "enum": [
 9575              "yes",
 9576              "no",
 9577              "auto"
 9578            ]
 9579          },
 9580          "port": {
 9581            "description": "Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.",
 9582            "default": 9229,
 9583            "oneOf": [
 9584              {
 9585                "type": "integer"
 9586              },
 9587              {
 9588                "type": "string",
 9589                "pattern": "^\\${.*}$"
 9590              }
 9591            ],
 9592            "tags": [
 9593              "setup"
 9594            ]
 9595          },
 9596          "resolveSourceMapLocations": {
 9597            "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.",
 9598            "type": [
 9599              "array",
 9600              "null"
 9601            ],
 9602            "default": null,
 9603            "items": {
 9604              "type": "string"
 9605            }
 9606          },
 9607          "restart": {
 9608            "type": "boolean",
 9609            "default": false,
 9610            "markdownDescription": "Whether to reconnect if the browser connection is closed"
 9611          },
 9612          "server": {
 9613            "oneOf": [
 9614              {
 9615                "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
 9616                "type": "object",
 9617                "properties": {
 9618                  "args": {
 9619                    "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.",
 9620                    "type": [
 9621                      "array",
 9622                      "string"
 9623                    ],
 9624                    "default": [],
 9625                    "items": {
 9626                      "type": "string"
 9627                    },
 9628                    "tags": [
 9629                      "setup"
 9630                    ]
 9631                  },
 9632                  "attachSimplePort": {
 9633                    "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.",
 9634                    "default": 9229,
 9635                    "oneOf": [
 9636                      {
 9637                        "type": "integer"
 9638                      },
 9639                      {
 9640                        "type": "string",
 9641                        "pattern": "^\\${.*}$"
 9642                      }
 9643                    ]
 9644                  },
 9645                  "autoAttachChildProcesses": {
 9646                    "description": "Attach debugger to new child processes automatically.",
 9647                    "type": "boolean",
 9648                    "default": true
 9649                  },
 9650                  "cascadeTerminateToConfigurations": {
 9651                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
 9652                    "type": "array",
 9653                    "default": [],
 9654                    "items": {
 9655                      "type": "string",
 9656                      "uniqueItems": true
 9657                    }
 9658                  },
 9659                  "console": {
 9660                    "description": "Where to launch the debug target.",
 9661                    "type": "string",
 9662                    "default": "internalConsole",
 9663                    "enum": [
 9664                      "internalConsole",
 9665                      "integratedTerminal",
 9666                      "externalTerminal"
 9667                    ],
 9668                    "enumDescriptions": [
 9669                      "VS Code Debug Console (which doesn't support to read input from a program)",
 9670                      "VS Code's integrated terminal",
 9671                      "External terminal that can be configured via user settings"
 9672                    ]
 9673                  },
 9674                  "customDescriptionGenerator": {
 9675                    "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      ",
 9676                    "type": "string"
 9677                  },
 9678                  "customPropertiesGenerator": {
 9679                    "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",
 9680                    "type": "string",
 9681                    "deprecated": true
 9682                  },
 9683                  "cwd": {
 9684                    "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",
 9685                    "type": "string",
 9686                    "default": "${ZED_WORKTREE_ROOT}",
 9687                    "tags": [
 9688                      "setup"
 9689                    ]
 9690                  },
 9691                  "enableContentValidation": {
 9692                    "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.",
 9693                    "type": "boolean",
 9694                    "default": true
 9695                  },
 9696                  "enableDWARF": {
 9697                    "type": "boolean",
 9698                    "default": true,
 9699                    "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."
 9700                  },
 9701                  "env": {
 9702                    "type": "object",
 9703                    "additionalProperties": {
 9704                      "type": [
 9705                        "string",
 9706                        "null"
 9707                      ]
 9708                    },
 9709                    "default": {},
 9710                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
 9711                    "tags": [
 9712                      "setup"
 9713                    ]
 9714                  },
 9715                  "envFile": {
 9716                    "description": "Absolute path to a file containing environment variable definitions.",
 9717                    "type": "string",
 9718                    "default": "${ZED_WORKTREE_ROOT}/.env"
 9719                  },
 9720                  "experimentalNetworking": {
 9721                    "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.",
 9722                    "type": "string",
 9723                    "default": "auto",
 9724                    "enum": [
 9725                      "auto",
 9726                      "on",
 9727                      "off"
 9728                    ]
 9729                  },
 9730                  "killBehavior": {
 9731                    "type": "string",
 9732                    "default": "forceful",
 9733                    "enum": [
 9734                      "forceful",
 9735                      "polite",
 9736                      "none"
 9737                    ],
 9738                    "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."
 9739                  },
 9740                  "localRoot": {
 9741                    "description": "Path to the local directory containing the program.",
 9742                    "type": [
 9743                      "string",
 9744                      "null"
 9745                    ],
 9746                    "default": null
 9747                  },
 9748                  "nodeVersionHint": {
 9749                    "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.",
 9750                    "type": "number",
 9751                    "default": 12,
 9752                    "minimum": 8
 9753                  },
 9754                  "outFiles": {
 9755                    "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.",
 9756                    "type": [
 9757                      "array"
 9758                    ],
 9759                    "default": [
 9760                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
 9761                      "!**/node_modules/**"
 9762                    ],
 9763                    "items": {
 9764                      "type": "string"
 9765                    },
 9766                    "tags": [
 9767                      "setup"
 9768                    ]
 9769                  },
 9770                  "outputCapture": {
 9771                    "default": "console",
 9772                    "enum": [
 9773                      "console",
 9774                      "std"
 9775                    ],
 9776                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
 9777                  },
 9778                  "pauseForSourceMap": {
 9779                    "type": "boolean",
 9780                    "default": false,
 9781                    "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."
 9782                  },
 9783                  "profileStartup": {
 9784                    "description": "If true, will start profiling as soon as the process launches",
 9785                    "type": "boolean",
 9786                    "default": true
 9787                  },
 9788                  "program": {
 9789                    "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
 9790                    "type": "string",
 9791                    "default": "",
 9792                    "tags": [
 9793                      "setup"
 9794                    ]
 9795                  },
 9796                  "remoteRoot": {
 9797                    "description": "Absolute path to the remote directory containing the program.",
 9798                    "type": [
 9799                      "string",
 9800                      "null"
 9801                    ],
 9802                    "default": null
 9803                  },
 9804                  "resolveSourceMapLocations": {
 9805                    "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.",
 9806                    "type": [
 9807                      "array",
 9808                      "null"
 9809                    ],
 9810                    "default": [
 9811                      "${ZED_WORKTREE_ROOT}/**",
 9812                      "!**/node_modules/**"
 9813                    ],
 9814                    "items": {
 9815                      "type": "string"
 9816                    }
 9817                  },
 9818                  "restart": {
 9819                    "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.",
 9820                    "default": true,
 9821                    "oneOf": [
 9822                      {
 9823                        "type": "boolean"
 9824                      },
 9825                      {
 9826                        "type": "object",
 9827                        "properties": {
 9828                          "delay": {
 9829                            "type": "number",
 9830                            "default": 1000,
 9831                            "minimum": 0
 9832                          },
 9833                          "maxAttempts": {
 9834                            "type": "number",
 9835                            "default": 10,
 9836                            "minimum": 0
 9837                          }
 9838                        }
 9839                      }
 9840                    ]
 9841                  },
 9842                  "runtimeArgs": {
 9843                    "description": "Optional arguments passed to the runtime executable.",
 9844                    "type": "array",
 9845                    "default": [],
 9846                    "items": {
 9847                      "type": "string"
 9848                    },
 9849                    "tags": [
 9850                      "setup"
 9851                    ]
 9852                  },
 9853                  "runtimeExecutable": {
 9854                    "type": [
 9855                      "string",
 9856                      "null"
 9857                    ],
 9858                    "default": "node",
 9859                    "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
 9860                  },
 9861                  "runtimeSourcemapPausePatterns": {
 9862                    "type": "array",
 9863                    "default": [],
 9864                    "items": {
 9865                      "type": "string"
 9866                    },
 9867                    "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)."
 9868                  },
 9869                  "runtimeVersion": {
 9870                    "type": "string",
 9871                    "default": "default",
 9872                    "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
 9873                  },
 9874                  "showAsyncStacks": {
 9875                    "description": "Show the async calls that led to the current call stack.",
 9876                    "default": true,
 9877                    "oneOf": [
 9878                      {
 9879                        "type": "boolean"
 9880                      },
 9881                      {
 9882                        "type": "object",
 9883                        "properties": {
 9884                          "onAttach": {
 9885                            "type": "number",
 9886                            "default": 32
 9887                          }
 9888                        },
 9889                        "required": [
 9890                          "onAttach"
 9891                        ]
 9892                      },
 9893                      {
 9894                        "type": "object",
 9895                        "properties": {
 9896                          "onceBreakpointResolved": {
 9897                            "type": "number",
 9898                            "default": 32
 9899                          }
 9900                        },
 9901                        "required": [
 9902                          "onceBreakpointResolved"
 9903                        ]
 9904                      }
 9905                    ]
 9906                  },
 9907                  "skipFiles": {
 9908                    "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/**\"]`",
 9909                    "type": "array",
 9910                    "default": [
 9911                      "${/**"
 9912                    ]
 9913                  },
 9914                  "smartStep": {
 9915                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
 9916                    "type": "boolean",
 9917                    "default": true
 9918                  },
 9919                  "sourceMapPathOverrides": {
 9920                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
 9921                    "type": "object",
 9922                    "default": {
 9923                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
 9924                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
 9925                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
 9926                    }
 9927                  },
 9928                  "sourceMapRenames": {
 9929                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
 9930                    "type": "boolean",
 9931                    "default": true
 9932                  },
 9933                  "sourceMaps": {
 9934                    "description": "Use JavaScript source maps (if they exist).",
 9935                    "type": "boolean",
 9936                    "default": true
 9937                  },
 9938                  "stopOnEntry": {
 9939                    "description": "Automatically stop program after launch.",
 9940                    "type": [
 9941                      "boolean",
 9942                      "string"
 9943                    ],
 9944                    "default": true
 9945                  },
 9946                  "timeout": {
 9947                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
 9948                    "type": "number",
 9949                    "default": 10000
 9950                  },
 9951                  "timeouts": {
 9952                    "description": "Timeouts for several debugger operations.",
 9953                    "type": "object",
 9954                    "properties": {
 9955                      "hoverEvaluation": {
 9956                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
 9957                        "type": "number",
 9958                        "default": 500
 9959                      },
 9960                      "sourceMapCumulativePause": {
 9961                        "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",
 9962                        "type": "number",
 9963                        "default": 1000
 9964                      },
 9965                      "sourceMapMinPause": {
 9966                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
 9967                        "type": "number",
 9968                        "default": 1000
 9969                      }
 9970                    },
 9971                    "additionalProperties": false,
 9972                    "default": {},
 9973                    "markdownDescription": "Timeouts for several debugger operations."
 9974                  },
 9975                  "trace": {
 9976                    "description": "Configures what diagnostic output is produced.",
 9977                    "default": true,
 9978                    "oneOf": [
 9979                      {
 9980                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
 9981                        "type": "boolean"
 9982                      },
 9983                      {
 9984                        "type": "object",
 9985                        "properties": {
 9986                          "logFile": {
 9987                            "description": "Configures where on disk logs are written.",
 9988                            "type": [
 9989                              "string",
 9990                              "null"
 9991                            ]
 9992                          },
 9993                          "stdio": {
 9994                            "description": "Whether to return trace data from the launched application or browser.",
 9995                            "type": "boolean"
 9996                          }
 9997                        },
 9998                        "additionalProperties": false
 9999                      }
10000                    ]
10001                  }
10002                },
10003                "additionalProperties": false,
10004                "default": {
10005                  "program": "node my-server.js"
10006                }
10007              },
10008              {
10009                "description": "JavaScript Debug Terminal",
10010                "type": "object",
10011                "properties": {
10012                  "autoAttachChildProcesses": {
10013                    "description": "Attach debugger to new child processes automatically.",
10014                    "type": "boolean",
10015                    "default": true
10016                  },
10017                  "cascadeTerminateToConfigurations": {
10018                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
10019                    "type": "array",
10020                    "default": [],
10021                    "items": {
10022                      "type": "string",
10023                      "uniqueItems": true
10024                    }
10025                  },
10026                  "command": {
10027                    "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
10028                    "type": [
10029                      "string",
10030                      "null"
10031                    ],
10032                    "default": "npm start",
10033                    "tags": [
10034                      "setup"
10035                    ]
10036                  },
10037                  "customDescriptionGenerator": {
10038                    "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      ",
10039                    "type": "string"
10040                  },
10041                  "customPropertiesGenerator": {
10042                    "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",
10043                    "type": "string",
10044                    "deprecated": true
10045                  },
10046                  "cwd": {
10047                    "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",
10048                    "type": "string",
10049                    "default": "${ZED_WORKTREE_ROOT}",
10050                    "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
10051                    "tags": [
10052                      "setup"
10053                    ]
10054                  },
10055                  "enableContentValidation": {
10056                    "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.",
10057                    "type": "boolean",
10058                    "default": true
10059                  },
10060                  "enableDWARF": {
10061                    "type": "boolean",
10062                    "default": true,
10063                    "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."
10064                  },
10065                  "env": {
10066                    "type": "object",
10067                    "additionalProperties": {
10068                      "type": [
10069                        "string",
10070                        "null"
10071                      ]
10072                    },
10073                    "default": {},
10074                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
10075                    "tags": [
10076                      "setup"
10077                    ]
10078                  },
10079                  "envFile": {
10080                    "description": "Absolute path to a file containing environment variable definitions.",
10081                    "type": "string",
10082                    "default": "${ZED_WORKTREE_ROOT}/.env"
10083                  },
10084                  "localRoot": {
10085                    "description": "Path to the local directory containing the program.",
10086                    "type": [
10087                      "string",
10088                      "null"
10089                    ],
10090                    "default": null
10091                  },
10092                  "nodeVersionHint": {
10093                    "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.",
10094                    "type": "number",
10095                    "default": 12,
10096                    "minimum": 8
10097                  },
10098                  "outFiles": {
10099                    "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.",
10100                    "type": [
10101                      "array"
10102                    ],
10103                    "default": [
10104                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
10105                      "!**/node_modules/**"
10106                    ],
10107                    "items": {
10108                      "type": "string"
10109                    },
10110                    "tags": [
10111                      "setup"
10112                    ]
10113                  },
10114                  "outputCapture": {
10115                    "default": "console",
10116                    "enum": [
10117                      "console",
10118                      "std"
10119                    ],
10120                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
10121                  },
10122                  "pauseForSourceMap": {
10123                    "type": "boolean",
10124                    "default": false,
10125                    "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."
10126                  },
10127                  "remoteRoot": {
10128                    "description": "Absolute path to the remote directory containing the program.",
10129                    "type": [
10130                      "string",
10131                      "null"
10132                    ],
10133                    "default": null
10134                  },
10135                  "resolveSourceMapLocations": {
10136                    "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.",
10137                    "type": [
10138                      "array",
10139                      "null"
10140                    ],
10141                    "default": [
10142                      "${ZED_WORKTREE_ROOT}/**",
10143                      "!**/node_modules/**"
10144                    ],
10145                    "items": {
10146                      "type": "string"
10147                    }
10148                  },
10149                  "runtimeSourcemapPausePatterns": {
10150                    "type": "array",
10151                    "default": [],
10152                    "items": {
10153                      "type": "string"
10154                    },
10155                    "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)."
10156                  },
10157                  "showAsyncStacks": {
10158                    "description": "Show the async calls that led to the current call stack.",
10159                    "default": true,
10160                    "oneOf": [
10161                      {
10162                        "type": "boolean"
10163                      },
10164                      {
10165                        "type": "object",
10166                        "properties": {
10167                          "onAttach": {
10168                            "type": "number",
10169                            "default": 32
10170                          }
10171                        },
10172                        "required": [
10173                          "onAttach"
10174                        ]
10175                      },
10176                      {
10177                        "type": "object",
10178                        "properties": {
10179                          "onceBreakpointResolved": {
10180                            "type": "number",
10181                            "default": 32
10182                          }
10183                        },
10184                        "required": [
10185                          "onceBreakpointResolved"
10186                        ]
10187                      }
10188                    ]
10189                  },
10190                  "skipFiles": {
10191                    "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/**\"]`",
10192                    "type": "array",
10193                    "default": [
10194                      "${/**"
10195                    ]
10196                  },
10197                  "smartStep": {
10198                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
10199                    "type": "boolean",
10200                    "default": true
10201                  },
10202                  "sourceMapPathOverrides": {
10203                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
10204                    "type": "object",
10205                    "default": {
10206                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
10207                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
10208                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
10209                    }
10210                  },
10211                  "sourceMapRenames": {
10212                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
10213                    "type": "boolean",
10214                    "default": true
10215                  },
10216                  "sourceMaps": {
10217                    "description": "Use JavaScript source maps (if they exist).",
10218                    "type": "boolean",
10219                    "default": true
10220                  },
10221                  "timeout": {
10222                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
10223                    "type": "number",
10224                    "default": 10000
10225                  },
10226                  "timeouts": {
10227                    "description": "Timeouts for several debugger operations.",
10228                    "type": "object",
10229                    "properties": {
10230                      "hoverEvaluation": {
10231                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
10232                        "type": "number",
10233                        "default": 500
10234                      },
10235                      "sourceMapCumulativePause": {
10236                        "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",
10237                        "type": "number",
10238                        "default": 1000
10239                      },
10240                      "sourceMapMinPause": {
10241                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
10242                        "type": "number",
10243                        "default": 1000
10244                      }
10245                    },
10246                    "additionalProperties": false,
10247                    "default": {},
10248                    "markdownDescription": "Timeouts for several debugger operations."
10249                  },
10250                  "trace": {
10251                    "description": "Configures what diagnostic output is produced.",
10252                    "default": true,
10253                    "oneOf": [
10254                      {
10255                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
10256                        "type": "boolean"
10257                      },
10258                      {
10259                        "type": "object",
10260                        "properties": {
10261                          "logFile": {
10262                            "description": "Configures where on disk logs are written.",
10263                            "type": [
10264                              "string",
10265                              "null"
10266                            ]
10267                          },
10268                          "stdio": {
10269                            "description": "Whether to return trace data from the launched application or browser.",
10270                            "type": "boolean"
10271                          }
10272                        },
10273                        "additionalProperties": false
10274                      }
10275                    ]
10276                  }
10277                },
10278                "additionalProperties": false,
10279                "default": {
10280                  "program": "npm start"
10281                }
10282              }
10283            ]
10284          },
10285          "showAsyncStacks": {
10286            "description": "Show the async calls that led to the current call stack.",
10287            "default": true,
10288            "oneOf": [
10289              {
10290                "type": "boolean"
10291              },
10292              {
10293                "type": "object",
10294                "properties": {
10295                  "onAttach": {
10296                    "type": "number",
10297                    "default": 32
10298                  }
10299                },
10300                "required": [
10301                  "onAttach"
10302                ]
10303              },
10304              {
10305                "type": "object",
10306                "properties": {
10307                  "onceBreakpointResolved": {
10308                    "type": "number",
10309                    "default": 32
10310                  }
10311                },
10312                "required": [
10313                  "onceBreakpointResolved"
10314                ]
10315              }
10316            ]
10317          },
10318          "skipFiles": {
10319            "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/**\"]`",
10320            "type": "array",
10321            "default": [
10322              "${/**"
10323            ]
10324          },
10325          "smartStep": {
10326            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
10327            "type": "boolean",
10328            "default": true
10329          },
10330          "sourceMapPathOverrides": {
10331            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
10332            "type": "object",
10333            "default": {
10334              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
10335              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
10336              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
10337            }
10338          },
10339          "sourceMapRenames": {
10340            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
10341            "type": "boolean",
10342            "default": true
10343          },
10344          "sourceMaps": {
10345            "description": "Use JavaScript source maps (if they exist).",
10346            "type": "boolean",
10347            "default": true
10348          },
10349          "targetSelection": {
10350            "type": "string",
10351            "default": "automatic",
10352            "enum": [
10353              "pick",
10354              "automatic"
10355            ],
10356            "markdownDescription": "Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\")."
10357          },
10358          "timeout": {
10359            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
10360            "type": "number",
10361            "default": 10000
10362          },
10363          "timeouts": {
10364            "description": "Timeouts for several debugger operations.",
10365            "type": "object",
10366            "properties": {
10367              "hoverEvaluation": {
10368                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
10369                "type": "number",
10370                "default": 500
10371              },
10372              "sourceMapCumulativePause": {
10373                "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",
10374                "type": "number",
10375                "default": 1000
10376              },
10377              "sourceMapMinPause": {
10378                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
10379                "type": "number",
10380                "default": 1000
10381              }
10382            },
10383            "additionalProperties": false,
10384            "default": {},
10385            "markdownDescription": "Timeouts for several debugger operations."
10386          },
10387          "trace": {
10388            "description": "Configures what diagnostic output is produced.",
10389            "default": true,
10390            "oneOf": [
10391              {
10392                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
10393                "type": "boolean"
10394              },
10395              {
10396                "type": "object",
10397                "properties": {
10398                  "logFile": {
10399                    "description": "Configures where on disk logs are written.",
10400                    "type": [
10401                      "string",
10402                      "null"
10403                    ]
10404                  },
10405                  "stdio": {
10406                    "description": "Whether to return trace data from the launched application or browser.",
10407                    "type": "boolean"
10408                  }
10409                },
10410                "additionalProperties": false
10411              }
10412            ]
10413          },
10414          "url": {
10415            "description": "Will search for a tab with this exact url and attach to it, if found",
10416            "type": "string",
10417            "default": "http://localhost:8080",
10418            "tags": [
10419              "setup"
10420            ]
10421          },
10422          "urlFilter": {
10423            "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
10424            "type": "string",
10425            "default": ""
10426          },
10427          "useWebView": {
10428            "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\"",
10429            "type": "object",
10430            "properties": {
10431              "pipeName": {
10432                "type": "string"
10433              }
10434            },
10435            "default": {
10436              "pipeName": "MyPipeName"
10437            }
10438          },
10439          "vueComponentPaths": {
10440            "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.",
10441            "type": "array",
10442            "default": [
10443              "${ZED_WORKTREE_ROOT}/**/*.vue"
10444            ]
10445          },
10446          "webRoot": {
10447            "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 \"/\"",
10448            "type": "string",
10449            "default": "${ZED_WORKTREE_ROOT}",
10450            "tags": [
10451              "setup"
10452            ]
10453          }
10454        }
10455      }
10456    },
10457    {
10458      "if": {
10459        "properties": {
10460          "type": {
10461            "const": "msedge"
10462          },
10463          "request": {
10464            "const": "launch"
10465          }
10466        },
10467        "required": [
10468          "type",
10469          "request"
10470        ]
10471      },
10472      "then": {
10473        "properties": {
10474          "address": {
10475            "description": "When debugging webviews, the IP address or hostname the webview is listening on. Will be automatically discovered if not set.",
10476            "type": "string",
10477            "default": "localhost"
10478          },
10479          "browserLaunchLocation": {
10480            "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.",
10481            "default": null,
10482            "oneOf": [
10483              {
10484                "type": "null"
10485              },
10486              {
10487                "type": "string",
10488                "enum": [
10489                  "ui",
10490                  "workspace"
10491                ]
10492              }
10493            ]
10494          },
10495          "cascadeTerminateToConfigurations": {
10496            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
10497            "type": "array",
10498            "default": [],
10499            "items": {
10500              "type": "string",
10501              "uniqueItems": true
10502            }
10503          },
10504          "cleanUp": {
10505            "description": "What clean-up to do after the debugging session finishes. Close only the tab being debug, vs. close the whole browser.",
10506            "type": "string",
10507            "default": "wholeBrowser",
10508            "enum": [
10509              "wholeBrowser",
10510              "onlyTab"
10511            ]
10512          },
10513          "customDescriptionGenerator": {
10514            "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      ",
10515            "type": "string"
10516          },
10517          "customPropertiesGenerator": {
10518            "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",
10519            "type": "string",
10520            "deprecated": true
10521          },
10522          "cwd": {
10523            "description": "Optional working directory for the runtime executable.",
10524            "type": "string",
10525            "default": null
10526          },
10527          "disableNetworkCache": {
10528            "description": "Controls whether to skip the network cache for each request",
10529            "type": "boolean",
10530            "default": true
10531          },
10532          "enableContentValidation": {
10533            "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.",
10534            "type": "boolean",
10535            "default": true
10536          },
10537          "enableDWARF": {
10538            "type": "boolean",
10539            "default": true,
10540            "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."
10541          },
10542          "env": {
10543            "description": "Optional dictionary of environment key/value pairs for the browser.",
10544            "type": "object",
10545            "default": {}
10546          },
10547          "file": {
10548            "description": "A local html file to open in the browser",
10549            "type": "string",
10550            "default": "${ZED_WORKTREE_ROOT}/index.html",
10551            "tags": [
10552              "setup"
10553            ]
10554          },
10555          "includeDefaultArgs": {
10556            "description": "Whether default browser launch arguments (to disable features that may make debugging harder) will be included in the launch.",
10557            "type": "boolean",
10558            "default": true
10559          },
10560          "includeLaunchArgs": {
10561            "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`.",
10562            "type": "boolean",
10563            "default": true
10564          },
10565          "inspectUri": {
10566            "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",
10567            "type": [
10568              "string",
10569              "null"
10570            ],
10571            "default": null
10572          },
10573          "killBehavior": {
10574            "type": "string",
10575            "default": "forceful",
10576            "enum": [
10577              "forceful",
10578              "polite",
10579              "none"
10580            ],
10581            "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."
10582          },
10583          "outFiles": {
10584            "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.",
10585            "type": [
10586              "array"
10587            ],
10588            "default": [
10589              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
10590              "!**/node_modules/**"
10591            ],
10592            "items": {
10593              "type": "string"
10594            },
10595            "tags": [
10596              "setup"
10597            ]
10598          },
10599          "outputCapture": {
10600            "default": "console",
10601            "enum": [
10602              "console",
10603              "std"
10604            ],
10605            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
10606          },
10607          "pathMapping": {
10608            "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
10609            "type": "object",
10610            "default": {}
10611          },
10612          "pauseForSourceMap": {
10613            "type": "boolean",
10614            "default": false,
10615            "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."
10616          },
10617          "perScriptSourcemaps": {
10618            "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.",
10619            "type": "string",
10620            "default": "auto",
10621            "enum": [
10622              "yes",
10623              "no",
10624              "auto"
10625            ]
10626          },
10627          "port": {
10628            "description": "When debugging webviews, the port the webview debugger is listening on. Will be automatically discovered if not set.",
10629            "type": "number",
10630            "default": 9229
10631          },
10632          "profileStartup": {
10633            "description": "If true, will start profiling soon as the process launches",
10634            "type": "boolean",
10635            "default": true
10636          },
10637          "resolveSourceMapLocations": {
10638            "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.",
10639            "type": [
10640              "array",
10641              "null"
10642            ],
10643            "default": null,
10644            "items": {
10645              "type": "string"
10646            }
10647          },
10648          "runtimeArgs": {
10649            "description": "Optional arguments passed to the runtime executable.",
10650            "type": "array",
10651            "default": [],
10652            "items": {
10653              "type": "string"
10654            }
10655          },
10656          "runtimeExecutable": {
10657            "description": "Either 'canary', 'stable', 'dev', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or EDGE_PATH environment variable.",
10658            "type": [
10659              "string",
10660              "null"
10661            ],
10662            "default": "stable"
10663          },
10664          "server": {
10665            "oneOf": [
10666              {
10667                "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
10668                "type": "object",
10669                "properties": {
10670                  "args": {
10671                    "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.",
10672                    "type": [
10673                      "array",
10674                      "string"
10675                    ],
10676                    "default": [],
10677                    "items": {
10678                      "type": "string"
10679                    },
10680                    "tags": [
10681                      "setup"
10682                    ]
10683                  },
10684                  "attachSimplePort": {
10685                    "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.",
10686                    "default": 9229,
10687                    "oneOf": [
10688                      {
10689                        "type": "integer"
10690                      },
10691                      {
10692                        "type": "string",
10693                        "pattern": "^\\${.*}$"
10694                      }
10695                    ]
10696                  },
10697                  "autoAttachChildProcesses": {
10698                    "description": "Attach debugger to new child processes automatically.",
10699                    "type": "boolean",
10700                    "default": true
10701                  },
10702                  "cascadeTerminateToConfigurations": {
10703                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
10704                    "type": "array",
10705                    "default": [],
10706                    "items": {
10707                      "type": "string",
10708                      "uniqueItems": true
10709                    }
10710                  },
10711                  "console": {
10712                    "description": "Where to launch the debug target.",
10713                    "type": "string",
10714                    "default": "internalConsole",
10715                    "enum": [
10716                      "internalConsole",
10717                      "integratedTerminal",
10718                      "externalTerminal"
10719                    ],
10720                    "enumDescriptions": [
10721                      "VS Code Debug Console (which doesn't support to read input from a program)",
10722                      "VS Code's integrated terminal",
10723                      "External terminal that can be configured via user settings"
10724                    ]
10725                  },
10726                  "customDescriptionGenerator": {
10727                    "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      ",
10728                    "type": "string"
10729                  },
10730                  "customPropertiesGenerator": {
10731                    "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",
10732                    "type": "string",
10733                    "deprecated": true
10734                  },
10735                  "cwd": {
10736                    "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",
10737                    "type": "string",
10738                    "default": "${ZED_WORKTREE_ROOT}",
10739                    "tags": [
10740                      "setup"
10741                    ]
10742                  },
10743                  "enableContentValidation": {
10744                    "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.",
10745                    "type": "boolean",
10746                    "default": true
10747                  },
10748                  "enableDWARF": {
10749                    "type": "boolean",
10750                    "default": true,
10751                    "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."
10752                  },
10753                  "env": {
10754                    "type": "object",
10755                    "additionalProperties": {
10756                      "type": [
10757                        "string",
10758                        "null"
10759                      ]
10760                    },
10761                    "default": {},
10762                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
10763                    "tags": [
10764                      "setup"
10765                    ]
10766                  },
10767                  "envFile": {
10768                    "description": "Absolute path to a file containing environment variable definitions.",
10769                    "type": "string",
10770                    "default": "${ZED_WORKTREE_ROOT}/.env"
10771                  },
10772                  "experimentalNetworking": {
10773                    "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.",
10774                    "type": "string",
10775                    "default": "auto",
10776                    "enum": [
10777                      "auto",
10778                      "on",
10779                      "off"
10780                    ]
10781                  },
10782                  "killBehavior": {
10783                    "type": "string",
10784                    "default": "forceful",
10785                    "enum": [
10786                      "forceful",
10787                      "polite",
10788                      "none"
10789                    ],
10790                    "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."
10791                  },
10792                  "localRoot": {
10793                    "description": "Path to the local directory containing the program.",
10794                    "type": [
10795                      "string",
10796                      "null"
10797                    ],
10798                    "default": null
10799                  },
10800                  "nodeVersionHint": {
10801                    "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.",
10802                    "type": "number",
10803                    "default": 12,
10804                    "minimum": 8
10805                  },
10806                  "outFiles": {
10807                    "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.",
10808                    "type": [
10809                      "array"
10810                    ],
10811                    "default": [
10812                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
10813                      "!**/node_modules/**"
10814                    ],
10815                    "items": {
10816                      "type": "string"
10817                    },
10818                    "tags": [
10819                      "setup"
10820                    ]
10821                  },
10822                  "outputCapture": {
10823                    "default": "console",
10824                    "enum": [
10825                      "console",
10826                      "std"
10827                    ],
10828                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
10829                  },
10830                  "pauseForSourceMap": {
10831                    "type": "boolean",
10832                    "default": false,
10833                    "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."
10834                  },
10835                  "profileStartup": {
10836                    "description": "If true, will start profiling as soon as the process launches",
10837                    "type": "boolean",
10838                    "default": true
10839                  },
10840                  "program": {
10841                    "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
10842                    "type": "string",
10843                    "default": "",
10844                    "tags": [
10845                      "setup"
10846                    ]
10847                  },
10848                  "remoteRoot": {
10849                    "description": "Absolute path to the remote directory containing the program.",
10850                    "type": [
10851                      "string",
10852                      "null"
10853                    ],
10854                    "default": null
10855                  },
10856                  "resolveSourceMapLocations": {
10857                    "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.",
10858                    "type": [
10859                      "array",
10860                      "null"
10861                    ],
10862                    "default": [
10863                      "${ZED_WORKTREE_ROOT}/**",
10864                      "!**/node_modules/**"
10865                    ],
10866                    "items": {
10867                      "type": "string"
10868                    }
10869                  },
10870                  "restart": {
10871                    "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.",
10872                    "default": true,
10873                    "oneOf": [
10874                      {
10875                        "type": "boolean"
10876                      },
10877                      {
10878                        "type": "object",
10879                        "properties": {
10880                          "delay": {
10881                            "type": "number",
10882                            "default": 1000,
10883                            "minimum": 0
10884                          },
10885                          "maxAttempts": {
10886                            "type": "number",
10887                            "default": 10,
10888                            "minimum": 0
10889                          }
10890                        }
10891                      }
10892                    ]
10893                  },
10894                  "runtimeArgs": {
10895                    "description": "Optional arguments passed to the runtime executable.",
10896                    "type": "array",
10897                    "default": [],
10898                    "items": {
10899                      "type": "string"
10900                    },
10901                    "tags": [
10902                      "setup"
10903                    ]
10904                  },
10905                  "runtimeExecutable": {
10906                    "type": [
10907                      "string",
10908                      "null"
10909                    ],
10910                    "default": "node",
10911                    "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
10912                  },
10913                  "runtimeSourcemapPausePatterns": {
10914                    "type": "array",
10915                    "default": [],
10916                    "items": {
10917                      "type": "string"
10918                    },
10919                    "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)."
10920                  },
10921                  "runtimeVersion": {
10922                    "type": "string",
10923                    "default": "default",
10924                    "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
10925                  },
10926                  "showAsyncStacks": {
10927                    "description": "Show the async calls that led to the current call stack.",
10928                    "default": true,
10929                    "oneOf": [
10930                      {
10931                        "type": "boolean"
10932                      },
10933                      {
10934                        "type": "object",
10935                        "properties": {
10936                          "onAttach": {
10937                            "type": "number",
10938                            "default": 32
10939                          }
10940                        },
10941                        "required": [
10942                          "onAttach"
10943                        ]
10944                      },
10945                      {
10946                        "type": "object",
10947                        "properties": {
10948                          "onceBreakpointResolved": {
10949                            "type": "number",
10950                            "default": 32
10951                          }
10952                        },
10953                        "required": [
10954                          "onceBreakpointResolved"
10955                        ]
10956                      }
10957                    ]
10958                  },
10959                  "skipFiles": {
10960                    "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/**\"]`",
10961                    "type": "array",
10962                    "default": [
10963                      "${/**"
10964                    ]
10965                  },
10966                  "smartStep": {
10967                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
10968                    "type": "boolean",
10969                    "default": true
10970                  },
10971                  "sourceMapPathOverrides": {
10972                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
10973                    "type": "object",
10974                    "default": {
10975                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
10976                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
10977                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
10978                    }
10979                  },
10980                  "sourceMapRenames": {
10981                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
10982                    "type": "boolean",
10983                    "default": true
10984                  },
10985                  "sourceMaps": {
10986                    "description": "Use JavaScript source maps (if they exist).",
10987                    "type": "boolean",
10988                    "default": true
10989                  },
10990                  "stopOnEntry": {
10991                    "description": "Automatically stop program after launch.",
10992                    "type": [
10993                      "boolean",
10994                      "string"
10995                    ],
10996                    "default": true
10997                  },
10998                  "timeout": {
10999                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
11000                    "type": "number",
11001                    "default": 10000
11002                  },
11003                  "timeouts": {
11004                    "description": "Timeouts for several debugger operations.",
11005                    "type": "object",
11006                    "properties": {
11007                      "hoverEvaluation": {
11008                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
11009                        "type": "number",
11010                        "default": 500
11011                      },
11012                      "sourceMapCumulativePause": {
11013                        "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",
11014                        "type": "number",
11015                        "default": 1000
11016                      },
11017                      "sourceMapMinPause": {
11018                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
11019                        "type": "number",
11020                        "default": 1000
11021                      }
11022                    },
11023                    "additionalProperties": false,
11024                    "default": {},
11025                    "markdownDescription": "Timeouts for several debugger operations."
11026                  },
11027                  "trace": {
11028                    "description": "Configures what diagnostic output is produced.",
11029                    "default": true,
11030                    "oneOf": [
11031                      {
11032                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
11033                        "type": "boolean"
11034                      },
11035                      {
11036                        "type": "object",
11037                        "properties": {
11038                          "logFile": {
11039                            "description": "Configures where on disk logs are written.",
11040                            "type": [
11041                              "string",
11042                              "null"
11043                            ]
11044                          },
11045                          "stdio": {
11046                            "description": "Whether to return trace data from the launched application or browser.",
11047                            "type": "boolean"
11048                          }
11049                        },
11050                        "additionalProperties": false
11051                      }
11052                    ]
11053                  }
11054                },
11055                "additionalProperties": false,
11056                "default": {
11057                  "program": "node my-server.js"
11058                }
11059              },
11060              {
11061                "description": "JavaScript Debug Terminal",
11062                "type": "object",
11063                "properties": {
11064                  "autoAttachChildProcesses": {
11065                    "description": "Attach debugger to new child processes automatically.",
11066                    "type": "boolean",
11067                    "default": true
11068                  },
11069                  "cascadeTerminateToConfigurations": {
11070                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
11071                    "type": "array",
11072                    "default": [],
11073                    "items": {
11074                      "type": "string",
11075                      "uniqueItems": true
11076                    }
11077                  },
11078                  "command": {
11079                    "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
11080                    "type": [
11081                      "string",
11082                      "null"
11083                    ],
11084                    "default": "npm start",
11085                    "tags": [
11086                      "setup"
11087                    ]
11088                  },
11089                  "customDescriptionGenerator": {
11090                    "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      ",
11091                    "type": "string"
11092                  },
11093                  "customPropertiesGenerator": {
11094                    "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",
11095                    "type": "string",
11096                    "deprecated": true
11097                  },
11098                  "cwd": {
11099                    "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",
11100                    "type": "string",
11101                    "default": "${ZED_WORKTREE_ROOT}",
11102                    "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
11103                    "tags": [
11104                      "setup"
11105                    ]
11106                  },
11107                  "enableContentValidation": {
11108                    "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.",
11109                    "type": "boolean",
11110                    "default": true
11111                  },
11112                  "enableDWARF": {
11113                    "type": "boolean",
11114                    "default": true,
11115                    "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."
11116                  },
11117                  "env": {
11118                    "type": "object",
11119                    "additionalProperties": {
11120                      "type": [
11121                        "string",
11122                        "null"
11123                      ]
11124                    },
11125                    "default": {},
11126                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
11127                    "tags": [
11128                      "setup"
11129                    ]
11130                  },
11131                  "envFile": {
11132                    "description": "Absolute path to a file containing environment variable definitions.",
11133                    "type": "string",
11134                    "default": "${ZED_WORKTREE_ROOT}/.env"
11135                  },
11136                  "localRoot": {
11137                    "description": "Path to the local directory containing the program.",
11138                    "type": [
11139                      "string",
11140                      "null"
11141                    ],
11142                    "default": null
11143                  },
11144                  "nodeVersionHint": {
11145                    "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.",
11146                    "type": "number",
11147                    "default": 12,
11148                    "minimum": 8
11149                  },
11150                  "outFiles": {
11151                    "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.",
11152                    "type": [
11153                      "array"
11154                    ],
11155                    "default": [
11156                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
11157                      "!**/node_modules/**"
11158                    ],
11159                    "items": {
11160                      "type": "string"
11161                    },
11162                    "tags": [
11163                      "setup"
11164                    ]
11165                  },
11166                  "outputCapture": {
11167                    "default": "console",
11168                    "enum": [
11169                      "console",
11170                      "std"
11171                    ],
11172                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
11173                  },
11174                  "pauseForSourceMap": {
11175                    "type": "boolean",
11176                    "default": false,
11177                    "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."
11178                  },
11179                  "remoteRoot": {
11180                    "description": "Absolute path to the remote directory containing the program.",
11181                    "type": [
11182                      "string",
11183                      "null"
11184                    ],
11185                    "default": null
11186                  },
11187                  "resolveSourceMapLocations": {
11188                    "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.",
11189                    "type": [
11190                      "array",
11191                      "null"
11192                    ],
11193                    "default": [
11194                      "${ZED_WORKTREE_ROOT}/**",
11195                      "!**/node_modules/**"
11196                    ],
11197                    "items": {
11198                      "type": "string"
11199                    }
11200                  },
11201                  "runtimeSourcemapPausePatterns": {
11202                    "type": "array",
11203                    "default": [],
11204                    "items": {
11205                      "type": "string"
11206                    },
11207                    "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)."
11208                  },
11209                  "showAsyncStacks": {
11210                    "description": "Show the async calls that led to the current call stack.",
11211                    "default": true,
11212                    "oneOf": [
11213                      {
11214                        "type": "boolean"
11215                      },
11216                      {
11217                        "type": "object",
11218                        "properties": {
11219                          "onAttach": {
11220                            "type": "number",
11221                            "default": 32
11222                          }
11223                        },
11224                        "required": [
11225                          "onAttach"
11226                        ]
11227                      },
11228                      {
11229                        "type": "object",
11230                        "properties": {
11231                          "onceBreakpointResolved": {
11232                            "type": "number",
11233                            "default": 32
11234                          }
11235                        },
11236                        "required": [
11237                          "onceBreakpointResolved"
11238                        ]
11239                      }
11240                    ]
11241                  },
11242                  "skipFiles": {
11243                    "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/**\"]`",
11244                    "type": "array",
11245                    "default": [
11246                      "${/**"
11247                    ]
11248                  },
11249                  "smartStep": {
11250                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
11251                    "type": "boolean",
11252                    "default": true
11253                  },
11254                  "sourceMapPathOverrides": {
11255                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
11256                    "type": "object",
11257                    "default": {
11258                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
11259                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
11260                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
11261                    }
11262                  },
11263                  "sourceMapRenames": {
11264                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
11265                    "type": "boolean",
11266                    "default": true
11267                  },
11268                  "sourceMaps": {
11269                    "description": "Use JavaScript source maps (if they exist).",
11270                    "type": "boolean",
11271                    "default": true
11272                  },
11273                  "timeout": {
11274                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
11275                    "type": "number",
11276                    "default": 10000
11277                  },
11278                  "timeouts": {
11279                    "description": "Timeouts for several debugger operations.",
11280                    "type": "object",
11281                    "properties": {
11282                      "hoverEvaluation": {
11283                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
11284                        "type": "number",
11285                        "default": 500
11286                      },
11287                      "sourceMapCumulativePause": {
11288                        "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",
11289                        "type": "number",
11290                        "default": 1000
11291                      },
11292                      "sourceMapMinPause": {
11293                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
11294                        "type": "number",
11295                        "default": 1000
11296                      }
11297                    },
11298                    "additionalProperties": false,
11299                    "default": {},
11300                    "markdownDescription": "Timeouts for several debugger operations."
11301                  },
11302                  "trace": {
11303                    "description": "Configures what diagnostic output is produced.",
11304                    "default": true,
11305                    "oneOf": [
11306                      {
11307                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
11308                        "type": "boolean"
11309                      },
11310                      {
11311                        "type": "object",
11312                        "properties": {
11313                          "logFile": {
11314                            "description": "Configures where on disk logs are written.",
11315                            "type": [
11316                              "string",
11317                              "null"
11318                            ]
11319                          },
11320                          "stdio": {
11321                            "description": "Whether to return trace data from the launched application or browser.",
11322                            "type": "boolean"
11323                          }
11324                        },
11325                        "additionalProperties": false
11326                      }
11327                    ]
11328                  }
11329                },
11330                "additionalProperties": false,
11331                "default": {
11332                  "program": "npm start"
11333                }
11334              }
11335            ]
11336          },
11337          "showAsyncStacks": {
11338            "description": "Show the async calls that led to the current call stack.",
11339            "default": true,
11340            "oneOf": [
11341              {
11342                "type": "boolean"
11343              },
11344              {
11345                "type": "object",
11346                "properties": {
11347                  "onAttach": {
11348                    "type": "number",
11349                    "default": 32
11350                  }
11351                },
11352                "required": [
11353                  "onAttach"
11354                ]
11355              },
11356              {
11357                "type": "object",
11358                "properties": {
11359                  "onceBreakpointResolved": {
11360                    "type": "number",
11361                    "default": 32
11362                  }
11363                },
11364                "required": [
11365                  "onceBreakpointResolved"
11366                ]
11367              }
11368            ]
11369          },
11370          "skipFiles": {
11371            "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/**\"]`",
11372            "type": "array",
11373            "default": [
11374              "${/**"
11375            ]
11376          },
11377          "smartStep": {
11378            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
11379            "type": "boolean",
11380            "default": true
11381          },
11382          "sourceMapPathOverrides": {
11383            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
11384            "type": "object",
11385            "default": {
11386              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
11387              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
11388              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
11389            }
11390          },
11391          "sourceMapRenames": {
11392            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
11393            "type": "boolean",
11394            "default": true
11395          },
11396          "sourceMaps": {
11397            "description": "Use JavaScript source maps (if they exist).",
11398            "type": "boolean",
11399            "default": true
11400          },
11401          "timeout": {
11402            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
11403            "type": "number",
11404            "default": 10000
11405          },
11406          "timeouts": {
11407            "description": "Timeouts for several debugger operations.",
11408            "type": "object",
11409            "properties": {
11410              "hoverEvaluation": {
11411                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
11412                "type": "number",
11413                "default": 500
11414              },
11415              "sourceMapCumulativePause": {
11416                "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",
11417                "type": "number",
11418                "default": 1000
11419              },
11420              "sourceMapMinPause": {
11421                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
11422                "type": "number",
11423                "default": 1000
11424              }
11425            },
11426            "additionalProperties": false,
11427            "default": {},
11428            "markdownDescription": "Timeouts for several debugger operations."
11429          },
11430          "trace": {
11431            "description": "Configures what diagnostic output is produced.",
11432            "default": true,
11433            "oneOf": [
11434              {
11435                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
11436                "type": "boolean"
11437              },
11438              {
11439                "type": "object",
11440                "properties": {
11441                  "logFile": {
11442                    "description": "Configures where on disk logs are written.",
11443                    "type": [
11444                      "string",
11445                      "null"
11446                    ]
11447                  },
11448                  "stdio": {
11449                    "description": "Whether to return trace data from the launched application or browser.",
11450                    "type": "boolean"
11451                  }
11452                },
11453                "additionalProperties": false
11454              }
11455            ]
11456          },
11457          "url": {
11458            "description": "Will search for a tab with this exact url and attach to it, if found",
11459            "type": "string",
11460            "default": "http://localhost:8080",
11461            "tags": [
11462              "setup"
11463            ]
11464          },
11465          "urlFilter": {
11466            "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
11467            "type": "string",
11468            "default": ""
11469          },
11470          "useWebView": {
11471            "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.",
11472            "type": "boolean",
11473            "default": false
11474          },
11475          "userDataDir": {
11476            "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`.",
11477            "type": [
11478              "string",
11479              "boolean"
11480            ],
11481            "default": true
11482          },
11483          "vueComponentPaths": {
11484            "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.",
11485            "type": "array",
11486            "default": [
11487              "${ZED_WORKTREE_ROOT}/**/*.vue"
11488            ]
11489          },
11490          "webRoot": {
11491            "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 \"/\"",
11492            "type": "string",
11493            "default": "${ZED_WORKTREE_ROOT}",
11494            "tags": [
11495              "setup"
11496            ]
11497          }
11498        }
11499      }
11500    },
11501    {
11502      "if": {
11503        "properties": {
11504          "type": {
11505            "const": "msedge"
11506          },
11507          "request": {
11508            "const": "attach"
11509          }
11510        },
11511        "required": [
11512          "type",
11513          "request"
11514        ]
11515      },
11516      "then": {
11517        "properties": {
11518          "address": {
11519            "description": "IP address or hostname the debugged browser is listening on.",
11520            "type": "string",
11521            "default": "localhost"
11522          },
11523          "browserAttachLocation": {
11524            "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.",
11525            "default": null,
11526            "oneOf": [
11527              {
11528                "type": "null"
11529              },
11530              {
11531                "type": "string",
11532                "enum": [
11533                  "ui",
11534                  "workspace"
11535                ]
11536              }
11537            ]
11538          },
11539          "cascadeTerminateToConfigurations": {
11540            "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
11541            "type": "array",
11542            "default": [],
11543            "items": {
11544              "type": "string",
11545              "uniqueItems": true
11546            }
11547          },
11548          "customDescriptionGenerator": {
11549            "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      ",
11550            "type": "string"
11551          },
11552          "customPropertiesGenerator": {
11553            "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",
11554            "type": "string",
11555            "deprecated": true
11556          },
11557          "disableNetworkCache": {
11558            "description": "Controls whether to skip the network cache for each request",
11559            "type": "boolean",
11560            "default": true
11561          },
11562          "enableContentValidation": {
11563            "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.",
11564            "type": "boolean",
11565            "default": true
11566          },
11567          "enableDWARF": {
11568            "type": "boolean",
11569            "default": true,
11570            "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."
11571          },
11572          "inspectUri": {
11573            "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",
11574            "type": [
11575              "string",
11576              "null"
11577            ],
11578            "default": null
11579          },
11580          "outFiles": {
11581            "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.",
11582            "type": [
11583              "array"
11584            ],
11585            "default": [
11586              "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
11587              "!**/node_modules/**"
11588            ],
11589            "items": {
11590              "type": "string"
11591            },
11592            "tags": [
11593              "setup"
11594            ]
11595          },
11596          "outputCapture": {
11597            "default": "console",
11598            "enum": [
11599              "console",
11600              "std"
11601            ],
11602            "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
11603          },
11604          "pathMapping": {
11605            "description": "A mapping of URLs/paths to local folders, to resolve scripts in the Browser to scripts on disk",
11606            "type": "object",
11607            "default": {}
11608          },
11609          "pauseForSourceMap": {
11610            "type": "boolean",
11611            "default": false,
11612            "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."
11613          },
11614          "perScriptSourcemaps": {
11615            "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.",
11616            "type": "string",
11617            "default": "auto",
11618            "enum": [
11619              "yes",
11620              "no",
11621              "auto"
11622            ]
11623          },
11624          "port": {
11625            "description": "Port to use to remote debugging the browser, given as `--remote-debugging-port` when launching the browser.",
11626            "default": 9229,
11627            "oneOf": [
11628              {
11629                "type": "integer"
11630              },
11631              {
11632                "type": "string",
11633                "pattern": "^\\${.*}$"
11634              }
11635            ],
11636            "tags": [
11637              "setup"
11638            ]
11639          },
11640          "resolveSourceMapLocations": {
11641            "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.",
11642            "type": [
11643              "array",
11644              "null"
11645            ],
11646            "default": null,
11647            "items": {
11648              "type": "string"
11649            }
11650          },
11651          "restart": {
11652            "type": "boolean",
11653            "default": false,
11654            "markdownDescription": "Whether to reconnect if the browser connection is closed"
11655          },
11656          "server": {
11657            "oneOf": [
11658              {
11659                "description": "Configures a web server to start up. Takes the same configuration as the 'node' launch task.",
11660                "type": "object",
11661                "properties": {
11662                  "args": {
11663                    "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.",
11664                    "type": [
11665                      "array",
11666                      "string"
11667                    ],
11668                    "default": [],
11669                    "items": {
11670                      "type": "string"
11671                    },
11672                    "tags": [
11673                      "setup"
11674                    ]
11675                  },
11676                  "attachSimplePort": {
11677                    "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.",
11678                    "default": 9229,
11679                    "oneOf": [
11680                      {
11681                        "type": "integer"
11682                      },
11683                      {
11684                        "type": "string",
11685                        "pattern": "^\\${.*}$"
11686                      }
11687                    ]
11688                  },
11689                  "autoAttachChildProcesses": {
11690                    "description": "Attach debugger to new child processes automatically.",
11691                    "type": "boolean",
11692                    "default": true
11693                  },
11694                  "cascadeTerminateToConfigurations": {
11695                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
11696                    "type": "array",
11697                    "default": [],
11698                    "items": {
11699                      "type": "string",
11700                      "uniqueItems": true
11701                    }
11702                  },
11703                  "console": {
11704                    "description": "Where to launch the debug target.",
11705                    "type": "string",
11706                    "default": "internalConsole",
11707                    "enum": [
11708                      "internalConsole",
11709                      "integratedTerminal",
11710                      "externalTerminal"
11711                    ],
11712                    "enumDescriptions": [
11713                      "VS Code Debug Console (which doesn't support to read input from a program)",
11714                      "VS Code's integrated terminal",
11715                      "External terminal that can be configured via user settings"
11716                    ]
11717                  },
11718                  "customDescriptionGenerator": {
11719                    "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      ",
11720                    "type": "string"
11721                  },
11722                  "customPropertiesGenerator": {
11723                    "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",
11724                    "type": "string",
11725                    "deprecated": true
11726                  },
11727                  "cwd": {
11728                    "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",
11729                    "type": "string",
11730                    "default": "${ZED_WORKTREE_ROOT}",
11731                    "tags": [
11732                      "setup"
11733                    ]
11734                  },
11735                  "enableContentValidation": {
11736                    "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.",
11737                    "type": "boolean",
11738                    "default": true
11739                  },
11740                  "enableDWARF": {
11741                    "type": "boolean",
11742                    "default": true,
11743                    "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."
11744                  },
11745                  "env": {
11746                    "type": "object",
11747                    "additionalProperties": {
11748                      "type": [
11749                        "string",
11750                        "null"
11751                      ]
11752                    },
11753                    "default": {},
11754                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
11755                    "tags": [
11756                      "setup"
11757                    ]
11758                  },
11759                  "envFile": {
11760                    "description": "Absolute path to a file containing environment variable definitions.",
11761                    "type": "string",
11762                    "default": "${ZED_WORKTREE_ROOT}/.env"
11763                  },
11764                  "experimentalNetworking": {
11765                    "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.",
11766                    "type": "string",
11767                    "default": "auto",
11768                    "enum": [
11769                      "auto",
11770                      "on",
11771                      "off"
11772                    ]
11773                  },
11774                  "killBehavior": {
11775                    "type": "string",
11776                    "default": "forceful",
11777                    "enum": [
11778                      "forceful",
11779                      "polite",
11780                      "none"
11781                    ],
11782                    "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."
11783                  },
11784                  "localRoot": {
11785                    "description": "Path to the local directory containing the program.",
11786                    "type": [
11787                      "string",
11788                      "null"
11789                    ],
11790                    "default": null
11791                  },
11792                  "nodeVersionHint": {
11793                    "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.",
11794                    "type": "number",
11795                    "default": 12,
11796                    "minimum": 8
11797                  },
11798                  "outFiles": {
11799                    "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.",
11800                    "type": [
11801                      "array"
11802                    ],
11803                    "default": [
11804                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
11805                      "!**/node_modules/**"
11806                    ],
11807                    "items": {
11808                      "type": "string"
11809                    },
11810                    "tags": [
11811                      "setup"
11812                    ]
11813                  },
11814                  "outputCapture": {
11815                    "default": "console",
11816                    "enum": [
11817                      "console",
11818                      "std"
11819                    ],
11820                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
11821                  },
11822                  "pauseForSourceMap": {
11823                    "type": "boolean",
11824                    "default": false,
11825                    "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."
11826                  },
11827                  "profileStartup": {
11828                    "description": "If true, will start profiling as soon as the process launches",
11829                    "type": "boolean",
11830                    "default": true
11831                  },
11832                  "program": {
11833                    "description": "Absolute path to the program. Generated value is guessed by looking at package.json and opened files. Edit this attribute.",
11834                    "type": "string",
11835                    "default": "",
11836                    "tags": [
11837                      "setup"
11838                    ]
11839                  },
11840                  "remoteRoot": {
11841                    "description": "Absolute path to the remote directory containing the program.",
11842                    "type": [
11843                      "string",
11844                      "null"
11845                    ],
11846                    "default": null
11847                  },
11848                  "resolveSourceMapLocations": {
11849                    "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.",
11850                    "type": [
11851                      "array",
11852                      "null"
11853                    ],
11854                    "default": [
11855                      "${ZED_WORKTREE_ROOT}/**",
11856                      "!**/node_modules/**"
11857                    ],
11858                    "items": {
11859                      "type": "string"
11860                    }
11861                  },
11862                  "restart": {
11863                    "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.",
11864                    "default": true,
11865                    "oneOf": [
11866                      {
11867                        "type": "boolean"
11868                      },
11869                      {
11870                        "type": "object",
11871                        "properties": {
11872                          "delay": {
11873                            "type": "number",
11874                            "default": 1000,
11875                            "minimum": 0
11876                          },
11877                          "maxAttempts": {
11878                            "type": "number",
11879                            "default": 10,
11880                            "minimum": 0
11881                          }
11882                        }
11883                      }
11884                    ]
11885                  },
11886                  "runtimeArgs": {
11887                    "description": "Optional arguments passed to the runtime executable.",
11888                    "type": "array",
11889                    "default": [],
11890                    "items": {
11891                      "type": "string"
11892                    },
11893                    "tags": [
11894                      "setup"
11895                    ]
11896                  },
11897                  "runtimeExecutable": {
11898                    "type": [
11899                      "string",
11900                      "null"
11901                    ],
11902                    "default": "node",
11903                    "markdownDescription": "Runtime to use. Either an absolute path or the name of a runtime available on the PATH. If omitted `node` is assumed."
11904                  },
11905                  "runtimeSourcemapPausePatterns": {
11906                    "type": "array",
11907                    "default": [],
11908                    "items": {
11909                      "type": "string"
11910                    },
11911                    "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)."
11912                  },
11913                  "runtimeVersion": {
11914                    "type": "string",
11915                    "default": "default",
11916                    "markdownDescription": "Version of `node` runtime to use. Requires `nvm`."
11917                  },
11918                  "showAsyncStacks": {
11919                    "description": "Show the async calls that led to the current call stack.",
11920                    "default": true,
11921                    "oneOf": [
11922                      {
11923                        "type": "boolean"
11924                      },
11925                      {
11926                        "type": "object",
11927                        "properties": {
11928                          "onAttach": {
11929                            "type": "number",
11930                            "default": 32
11931                          }
11932                        },
11933                        "required": [
11934                          "onAttach"
11935                        ]
11936                      },
11937                      {
11938                        "type": "object",
11939                        "properties": {
11940                          "onceBreakpointResolved": {
11941                            "type": "number",
11942                            "default": 32
11943                          }
11944                        },
11945                        "required": [
11946                          "onceBreakpointResolved"
11947                        ]
11948                      }
11949                    ]
11950                  },
11951                  "skipFiles": {
11952                    "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/**\"]`",
11953                    "type": "array",
11954                    "default": [
11955                      "${/**"
11956                    ]
11957                  },
11958                  "smartStep": {
11959                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
11960                    "type": "boolean",
11961                    "default": true
11962                  },
11963                  "sourceMapPathOverrides": {
11964                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
11965                    "type": "object",
11966                    "default": {
11967                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
11968                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
11969                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
11970                    }
11971                  },
11972                  "sourceMapRenames": {
11973                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
11974                    "type": "boolean",
11975                    "default": true
11976                  },
11977                  "sourceMaps": {
11978                    "description": "Use JavaScript source maps (if they exist).",
11979                    "type": "boolean",
11980                    "default": true
11981                  },
11982                  "stopOnEntry": {
11983                    "description": "Automatically stop program after launch.",
11984                    "type": [
11985                      "boolean",
11986                      "string"
11987                    ],
11988                    "default": true
11989                  },
11990                  "timeout": {
11991                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
11992                    "type": "number",
11993                    "default": 10000
11994                  },
11995                  "timeouts": {
11996                    "description": "Timeouts for several debugger operations.",
11997                    "type": "object",
11998                    "properties": {
11999                      "hoverEvaluation": {
12000                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
12001                        "type": "number",
12002                        "default": 500
12003                      },
12004                      "sourceMapCumulativePause": {
12005                        "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",
12006                        "type": "number",
12007                        "default": 1000
12008                      },
12009                      "sourceMapMinPause": {
12010                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
12011                        "type": "number",
12012                        "default": 1000
12013                      }
12014                    },
12015                    "additionalProperties": false,
12016                    "default": {},
12017                    "markdownDescription": "Timeouts for several debugger operations."
12018                  },
12019                  "trace": {
12020                    "description": "Configures what diagnostic output is produced.",
12021                    "default": true,
12022                    "oneOf": [
12023                      {
12024                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
12025                        "type": "boolean"
12026                      },
12027                      {
12028                        "type": "object",
12029                        "properties": {
12030                          "logFile": {
12031                            "description": "Configures where on disk logs are written.",
12032                            "type": [
12033                              "string",
12034                              "null"
12035                            ]
12036                          },
12037                          "stdio": {
12038                            "description": "Whether to return trace data from the launched application or browser.",
12039                            "type": "boolean"
12040                          }
12041                        },
12042                        "additionalProperties": false
12043                      }
12044                    ]
12045                  }
12046                },
12047                "additionalProperties": false,
12048                "default": {
12049                  "program": "node my-server.js"
12050                }
12051              },
12052              {
12053                "description": "JavaScript Debug Terminal",
12054                "type": "object",
12055                "properties": {
12056                  "autoAttachChildProcesses": {
12057                    "description": "Attach debugger to new child processes automatically.",
12058                    "type": "boolean",
12059                    "default": true
12060                  },
12061                  "cascadeTerminateToConfigurations": {
12062                    "description": "A list of debug sessions which, when this debug session is terminated, will also be stopped.",
12063                    "type": "array",
12064                    "default": [],
12065                    "items": {
12066                      "type": "string",
12067                      "uniqueItems": true
12068                    }
12069                  },
12070                  "command": {
12071                    "description": "Command to run in the launched terminal. If not provided, the terminal will open without launching a program.",
12072                    "type": [
12073                      "string",
12074                      "null"
12075                    ],
12076                    "default": "npm start",
12077                    "tags": [
12078                      "setup"
12079                    ]
12080                  },
12081                  "customDescriptionGenerator": {
12082                    "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      ",
12083                    "type": "string"
12084                  },
12085                  "customPropertiesGenerator": {
12086                    "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",
12087                    "type": "string",
12088                    "deprecated": true
12089                  },
12090                  "cwd": {
12091                    "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",
12092                    "type": "string",
12093                    "default": "${ZED_WORKTREE_ROOT}",
12094                    "docDefault": "localRoot || ${ZED_WORKTREE_ROOT}",
12095                    "tags": [
12096                      "setup"
12097                    ]
12098                  },
12099                  "enableContentValidation": {
12100                    "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.",
12101                    "type": "boolean",
12102                    "default": true
12103                  },
12104                  "enableDWARF": {
12105                    "type": "boolean",
12106                    "default": true,
12107                    "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."
12108                  },
12109                  "env": {
12110                    "type": "object",
12111                    "additionalProperties": {
12112                      "type": [
12113                        "string",
12114                        "null"
12115                      ]
12116                    },
12117                    "default": {},
12118                    "markdownDescription": "Environment variables passed to the program. The value `null` removes the variable from the environment.",
12119                    "tags": [
12120                      "setup"
12121                    ]
12122                  },
12123                  "envFile": {
12124                    "description": "Absolute path to a file containing environment variable definitions.",
12125                    "type": "string",
12126                    "default": "${ZED_WORKTREE_ROOT}/.env"
12127                  },
12128                  "localRoot": {
12129                    "description": "Path to the local directory containing the program.",
12130                    "type": [
12131                      "string",
12132                      "null"
12133                    ],
12134                    "default": null
12135                  },
12136                  "nodeVersionHint": {
12137                    "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.",
12138                    "type": "number",
12139                    "default": 12,
12140                    "minimum": 8
12141                  },
12142                  "outFiles": {
12143                    "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.",
12144                    "type": [
12145                      "array"
12146                    ],
12147                    "default": [
12148                      "${ZED_WORKTREE_ROOT}/**/*.(m|c|)js",
12149                      "!**/node_modules/**"
12150                    ],
12151                    "items": {
12152                      "type": "string"
12153                    },
12154                    "tags": [
12155                      "setup"
12156                    ]
12157                  },
12158                  "outputCapture": {
12159                    "default": "console",
12160                    "enum": [
12161                      "console",
12162                      "std"
12163                    ],
12164                    "markdownDescription": "From where to capture output messages: the default debug API if set to `console`, or stdout/stderr streams if set to `std`."
12165                  },
12166                  "pauseForSourceMap": {
12167                    "type": "boolean",
12168                    "default": false,
12169                    "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."
12170                  },
12171                  "remoteRoot": {
12172                    "description": "Absolute path to the remote directory containing the program.",
12173                    "type": [
12174                      "string",
12175                      "null"
12176                    ],
12177                    "default": null
12178                  },
12179                  "resolveSourceMapLocations": {
12180                    "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.",
12181                    "type": [
12182                      "array",
12183                      "null"
12184                    ],
12185                    "default": [
12186                      "${ZED_WORKTREE_ROOT}/**",
12187                      "!**/node_modules/**"
12188                    ],
12189                    "items": {
12190                      "type": "string"
12191                    }
12192                  },
12193                  "runtimeSourcemapPausePatterns": {
12194                    "type": "array",
12195                    "default": [],
12196                    "items": {
12197                      "type": "string"
12198                    },
12199                    "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)."
12200                  },
12201                  "showAsyncStacks": {
12202                    "description": "Show the async calls that led to the current call stack.",
12203                    "default": true,
12204                    "oneOf": [
12205                      {
12206                        "type": "boolean"
12207                      },
12208                      {
12209                        "type": "object",
12210                        "properties": {
12211                          "onAttach": {
12212                            "type": "number",
12213                            "default": 32
12214                          }
12215                        },
12216                        "required": [
12217                          "onAttach"
12218                        ]
12219                      },
12220                      {
12221                        "type": "object",
12222                        "properties": {
12223                          "onceBreakpointResolved": {
12224                            "type": "number",
12225                            "default": 32
12226                          }
12227                        },
12228                        "required": [
12229                          "onceBreakpointResolved"
12230                        ]
12231                      }
12232                    ]
12233                  },
12234                  "skipFiles": {
12235                    "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/**\"]`",
12236                    "type": "array",
12237                    "default": [
12238                      "${/**"
12239                    ]
12240                  },
12241                  "smartStep": {
12242                    "description": "Automatically step through generated code that cannot be mapped back to the original source.",
12243                    "type": "boolean",
12244                    "default": true
12245                  },
12246                  "sourceMapPathOverrides": {
12247                    "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
12248                    "type": "object",
12249                    "default": {
12250                      "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
12251                      "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
12252                      "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
12253                    }
12254                  },
12255                  "sourceMapRenames": {
12256                    "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
12257                    "type": "boolean",
12258                    "default": true
12259                  },
12260                  "sourceMaps": {
12261                    "description": "Use JavaScript source maps (if they exist).",
12262                    "type": "boolean",
12263                    "default": true
12264                  },
12265                  "timeout": {
12266                    "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
12267                    "type": "number",
12268                    "default": 10000
12269                  },
12270                  "timeouts": {
12271                    "description": "Timeouts for several debugger operations.",
12272                    "type": "object",
12273                    "properties": {
12274                      "hoverEvaluation": {
12275                        "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
12276                        "type": "number",
12277                        "default": 500
12278                      },
12279                      "sourceMapCumulativePause": {
12280                        "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",
12281                        "type": "number",
12282                        "default": 1000
12283                      },
12284                      "sourceMapMinPause": {
12285                        "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
12286                        "type": "number",
12287                        "default": 1000
12288                      }
12289                    },
12290                    "additionalProperties": false,
12291                    "default": {},
12292                    "markdownDescription": "Timeouts for several debugger operations."
12293                  },
12294                  "trace": {
12295                    "description": "Configures what diagnostic output is produced.",
12296                    "default": true,
12297                    "oneOf": [
12298                      {
12299                        "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
12300                        "type": "boolean"
12301                      },
12302                      {
12303                        "type": "object",
12304                        "properties": {
12305                          "logFile": {
12306                            "description": "Configures where on disk logs are written.",
12307                            "type": [
12308                              "string",
12309                              "null"
12310                            ]
12311                          },
12312                          "stdio": {
12313                            "description": "Whether to return trace data from the launched application or browser.",
12314                            "type": "boolean"
12315                          }
12316                        },
12317                        "additionalProperties": false
12318                      }
12319                    ]
12320                  }
12321                },
12322                "additionalProperties": false,
12323                "default": {
12324                  "program": "npm start"
12325                }
12326              }
12327            ]
12328          },
12329          "showAsyncStacks": {
12330            "description": "Show the async calls that led to the current call stack.",
12331            "default": true,
12332            "oneOf": [
12333              {
12334                "type": "boolean"
12335              },
12336              {
12337                "type": "object",
12338                "properties": {
12339                  "onAttach": {
12340                    "type": "number",
12341                    "default": 32
12342                  }
12343                },
12344                "required": [
12345                  "onAttach"
12346                ]
12347              },
12348              {
12349                "type": "object",
12350                "properties": {
12351                  "onceBreakpointResolved": {
12352                    "type": "number",
12353                    "default": 32
12354                  }
12355                },
12356                "required": [
12357                  "onceBreakpointResolved"
12358                ]
12359              }
12360            ]
12361          },
12362          "skipFiles": {
12363            "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/**\"]`",
12364            "type": "array",
12365            "default": [
12366              "${/**"
12367            ]
12368          },
12369          "smartStep": {
12370            "description": "Automatically step through generated code that cannot be mapped back to the original source.",
12371            "type": "boolean",
12372            "default": true
12373          },
12374          "sourceMapPathOverrides": {
12375            "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk.",
12376            "type": "object",
12377            "default": {
12378              "meteor://💻app/*": "${ZED_WORKTREE_ROOT}/*",
12379              "webpack:///./~/*": "${ZED_WORKTREE_ROOT}/node_modules/*",
12380              "webpack://?:*/*": "${ZED_WORKTREE_ROOT}/*"
12381            }
12382          },
12383          "sourceMapRenames": {
12384            "description": "Whether to use the \"names\" mapping in sourcemaps. This requires requesting source content, which can be slow with certain debuggers.",
12385            "type": "boolean",
12386            "default": true
12387          },
12388          "sourceMaps": {
12389            "description": "Use JavaScript source maps (if they exist).",
12390            "type": "boolean",
12391            "default": true
12392          },
12393          "targetSelection": {
12394            "type": "string",
12395            "default": "automatic",
12396            "enum": [
12397              "pick",
12398              "automatic"
12399            ],
12400            "markdownDescription": "Whether to attach to all targets that match the URL filter (\"automatic\") or ask to pick one (\"pick\")."
12401          },
12402          "timeout": {
12403            "description": "Retry for this number of milliseconds to connect to Node.js. Default is 10000 ms.",
12404            "type": "number",
12405            "default": 10000
12406          },
12407          "timeouts": {
12408            "description": "Timeouts for several debugger operations.",
12409            "type": "object",
12410            "properties": {
12411              "hoverEvaluation": {
12412                "description": "Time until value evaluation for hovered symbols is aborted. If set to 0, hover evaluation does never time out.",
12413                "type": "number",
12414                "default": 500
12415              },
12416              "sourceMapCumulativePause": {
12417                "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",
12418                "type": "number",
12419                "default": 1000
12420              },
12421              "sourceMapMinPause": {
12422                "description": "Minimum time in milliseconds spent waiting for each source-map to be processed when a script is being parsed",
12423                "type": "number",
12424                "default": 1000
12425              }
12426            },
12427            "additionalProperties": false,
12428            "default": {},
12429            "markdownDescription": "Timeouts for several debugger operations."
12430          },
12431          "trace": {
12432            "description": "Configures what diagnostic output is produced.",
12433            "default": true,
12434            "oneOf": [
12435              {
12436                "description": "Trace may be set to 'true' to write diagnostic logs to the disk.",
12437                "type": "boolean"
12438              },
12439              {
12440                "type": "object",
12441                "properties": {
12442                  "logFile": {
12443                    "description": "Configures where on disk logs are written.",
12444                    "type": [
12445                      "string",
12446                      "null"
12447                    ]
12448                  },
12449                  "stdio": {
12450                    "description": "Whether to return trace data from the launched application or browser.",
12451                    "type": "boolean"
12452                  }
12453                },
12454                "additionalProperties": false
12455              }
12456            ]
12457          },
12458          "url": {
12459            "description": "Will search for a tab with this exact url and attach to it, if found",
12460            "type": "string",
12461            "default": "http://localhost:8080",
12462            "tags": [
12463              "setup"
12464            ]
12465          },
12466          "urlFilter": {
12467            "description": "Will search for a page with this url and attach to it, if found. Can have * wildcards.",
12468            "type": "string",
12469            "default": ""
12470          },
12471          "useWebView": {
12472            "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\"",
12473            "type": "object",
12474            "properties": {
12475              "pipeName": {
12476                "type": "string"
12477              }
12478            },
12479            "default": {
12480              "pipeName": "MyPipeName"
12481            }
12482          },
12483          "vueComponentPaths": {
12484            "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.",
12485            "type": "array",
12486            "default": [
12487              "${ZED_WORKTREE_ROOT}/**/*.vue"
12488            ]
12489          },
12490          "webRoot": {
12491            "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 \"/\"",
12492            "type": "string",
12493            "default": "${ZED_WORKTREE_ROOT}",
12494            "tags": [
12495              "setup"
12496            ]
12497          }
12498        }
12499      }
12500    },
12501    {
12502      "properties": {
12503        "type": {
12504          "enum": [
12505            "pwa-node",
12506            "node",
12507            "node-terminal",
12508            "pwa-extensionHost",
12509            "extensionHost",
12510            "pwa-chrome",
12511            "chrome",
12512            "pwa-msedge",
12513            "msedge"
12514          ]
12515        }
12516      },
12517      "required": [
12518        "type"
12519      ]
12520    }
12521  ]
12522}