microsoft / microsoft/vscode-python-debugger
Unexpected configuration merging behavior for justMyCode debugging option
@rchiodo is already working on this.
Since Aug 14, 2025.
- Dominant language
- TypeScript
- Stars
- 181
- Forks
- 126
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 3
Description
In #139, many people have reported being unable to use justMyCode as expected. While there is a workaround in the linked comment, I believe it ultimately stems from the global debugpy.debugJustMyCode overwriting the launch configuration option, which I think is unexpected.
I had always been relying on the launch-configuration-level setting of
justMyCodebeing set tofalseto be sufficient. Is the extension perhaps not merging the different levels of configs as expected and leading to the defaultdebugpy.debugJustMyCodeto trump the launch-configuration-leveljustMyCodewhen specified in.code-workspacefiles?
Originally posted by @tboddyspargo in #139
I wanted to repost this here in an effort to specifically focus on the question of configuration merging behavior.
I expect the repro to be something like:
- Specify a python special
purposefile or test debug configuration (with"justMyCode": false) in the launch configuration of a.code-workspacefile. - Open that workspace and debug a python script using that launch configuration.
- Try to step into library code using the debugger
- Repeat this step, since the repro steps in https://github.com/microsoft/vscode-python-debugger/issues/139#issuecomment-1821800403 sometimes indicate that the "first time" succeeds and subsequent ones do not.
- Based on my previous experience and the other reports in #139, I expect this to not go into library code during the "subsequent" debug sessions (frame skipped message?)
However I also think that, even without repro-ing, it may be reasonable to re-examine the config merging behavior of debugpy.debugJustMyCode with workspace-level launch configuration settings to definitively debug the root cause hypothesis here or confirm it.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.