From 53d18c8a1a5929530da116cf4cabae1a3e25d1f8 Mon Sep 17 00:00:00 2001 From: TEJA P C <39472754+PCTEJA@users.noreply.github.com> Date: Fri, 13 Nov 2026 22:53:29 -0500 Subject: [PATCH] Add stopAllThreadsOnSuspend and steppingResumesAllThreads to launch.json schema Both options are honoured by debugpy (read in _set_debug_options for launch and attach sessions, each defaulting to true) but were missing from the debugpy launch/attach configuration schema, so VS Code flagged them as unknown properties in launch.json. Add both boolean options (default true) with documentation to the launch and attach schemas in package.json, and declare them on ICommonDebugArguments so they are typed for both request types. Fixes #1133 --- package.json | 20 ++++++++++++++++++++ src/extension/types.ts | 6 ++++++ 2 files changed, 26 insertions(+) diff --git a/package.json b/package.json index 2f44247f..46322a42 100644 --- a/package.json +++ b/package.json @@ -355,6 +355,16 @@ "description": "Show return value of functions when stepping.", "type": "boolean" }, + "steppingResumesAllThreads": { + "default": true, + "description": "If true (default), all threads are resumed during a step operation. If false, only the current thread is resumed.", + "type": "boolean" + }, + "stopAllThreadsOnSuspend": { + "default": true, + "description": "If true (default), all threads are suspended when a breakpoint is hit or the program is paused. If false, only the thread that triggered the stop is suspended.", + "type": "boolean" + }, "subProcess": { "default": false, "description": "Whether to enable Sub Process debugging", @@ -633,6 +643,16 @@ "description": "Show return value of functions when stepping.", "type": "boolean" }, + "steppingResumesAllThreads": { + "default": true, + "description": "If true (default), all threads are resumed during a step operation. If false, only the current thread is resumed.", + "type": "boolean" + }, + "stopAllThreadsOnSuspend": { + "default": true, + "description": "If true (default), all threads are suspended when a breakpoint is hit or the program is paused. If false, only the thread that triggered the stop is suspended.", + "type": "boolean" + }, "stopOnEntry": { "default": false, "description": "Automatically stop after launch.", diff --git a/src/extension/types.ts b/src/extension/types.ts index 37dcb738..aa707cec 100644 --- a/src/extension/types.ts +++ b/src/extension/types.ts @@ -73,6 +73,12 @@ interface ICommonDebugArguments { host?: string; // Show return values of functions while stepping. showReturnValue?: boolean; + // If false, only the thread that triggered the stop is suspended when a breakpoint + // is hit or the program is paused; if true (default), all threads are suspended. + stopAllThreadsOnSuspend?: boolean; + // If false, only the current thread is resumed during a step operation; + // if true (default), all threads are resumed. + steppingResumesAllThreads?: boolean; subProcess?: boolean; // SystemExit codes (and/or inclusive ranges) that cause the debugger to break. // An empty array disables breaking on SystemExit entirely.