Type: object

Type: object

Each additional property must conform to the following schema

Type: object

Type: object

A mapping of name/value pairs to set variables to be used elsewhere in the definition, or a list of such mappings.


Type: object

Each additional property must conform to the following schema


Type: array

A list of variable mappings. This can be useful where variable definitions rely on each other. By using a list, you can control the sequence in which variables are defined.

Each item of this array must be:

Type: object

Type: string

Passed to the adapter in the initialization request. Some adapters are particularly picky about what value goes here. Usually it can be omitted and Vimspector will send a generic value

Type: object

Base debug configuration. Can be used to set default values for all debug configurations. When reading individual debug configurations from 'configurations', those configurations are merged with this object. Definitions in the debug configuration override anything in this object. Typical usage for this is to set the 'type' parameter, which some debug adapters are very picky about, or to set e.g. the path to an underlying debugger.

Type: object


Type: object


Configures how Vimspector will marshal remote debugging requests. When remote debugging, Vimspector will either ssh to 'account'@'host', docker exec -it to 'container' or work locally and run 'pidCommand', 'attachCommands', 'runCommands', etc. based on the 'remote-command' option in the debug configuration. If 'remote-command' is 'launch', it runs 'runCommand(s)', otherwise (it's 'attach') vimspector runs 'pidCommand', followed by 'attachCommand(s)'.Then it starts up the debug adapter with the debug configuration as normal. Usually this is configured with an 'attach' request (whether we remotely 'launched' or not). Once the initialization exchange is complete, Vimspector runs the optional 'initCompleteCommand' which can be used to force the application to break, e.g. by sending it SIGINT. This is required on some platforms which have buggy gdbservers (for example)

Type: object

Type: string

Remote account name used when ssh'ing. Defaults to the current user account.

Type: string

Name of the remote host to connect to (via passwordless SSH).

Type: string

Name or container id of the docker run container to connect to (via docker exec). Note the container must already be running (Vimspector will not start it) and it must have the port forwarded to the host if subsequently connecting via a port (for example docker run -p 8765:8765 -it simple_python).



Type: object

Type: array of string

For remote-attach. Remote command to execute after initialization of the debug adapter. Can be used to work around buggy attach behaviour on certain platforms (advanced usage). Can contain the special token %PID% which is replaced with the PID returned by 'pidCommand'

Each item of this array must be:

Type: array of string

Required for remote-attach. Remote command to execute to return the PID to attach to.

Each item of this array must be:

Type: array of array

For remote-attach. List of commands to execute remotely to set up the attach. Can contain the special token %PID% which is replaced with the PID returned by the remote 'pidCommand'.

Each item of this array must be:

Type: array of string

A single command to execute for remote-attach. Like attachCommands but for a single command. If attachCommands is supplied, this is not used.

Each item of this array must be:


Type: object

Type: array of array

For remote-launch. List of commands to execute remotely to set up the launch. An entry in the array can be the special token '%CMD%' which is replaced with the evaluated 'remote-cmdLine' value in the debug configuration. This is useful to parameterize launcging remotely under something like gdbserver.

Each item of this array must be:

Type: array of string

A single command to execute for remote-launch. Like runCommands but for a single command.

Each item of this array must be:

Type: object

Type: string

A time in the format understood by :help :sleep to wait after running the attachCommand(s)


Type: object

Type: enum (of string)

Must be one of:

  • "ask"
  • "none"

Type: string

The launch config property which the PID should be injected into. Required when 'pidSelect' is 'ask'.

Type: string

A time in the format understood by :help :sleep to wait after running the attachCommand(s)


Type: object

The following properties are required:

  • command
Type: object

The following properties are required:

  • port
Type: object

The following properties are required:

  • command
  • port

Type: boolean

Set to True to launch 'command' in a terminal. Only valid when both 'command' and 'port' are supplied.

Type: object

The following properties are required:

  • extends
Type: object

Type: string Default: "127.0.0.1"

Connect to this host in multi-session mode


If supplied, indicates that a socket connection should be made to this port on 'host'. If the value is 'ask', then the user is asked to enter the port number to connect to.

Type: string

Name of another adapter from which to inherit all properties

Type: number

Timeout for synchronous requests to the adapter (in ms). Default is 5000

Type: number

Timeout for asynchronous requests to the adapter (in ms). Default is 15000

Type: string

Directory in which to start the adapter