microsoft / microsoft/vscode-python-debugger

Unexpected configuration merging behavior for justMyCode debugging option

Open
#749 4 comments 0 reactions 2 assignees View on GitHub

@rchiodo is already working on this.

Since Aug 14, 2025.

triage-needed
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 justMyCode being set to false to be sufficient. Is the extension perhaps not merging the different levels of configs as expected and leading to the default debugpy.debugJustMyCode to trump the launch-configuration-level justMyCode when specified in .code-workspace files?

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:

  1. Specify a python special purpose file or test debug configuration (with "justMyCode": false) in the launch configuration of a .code-workspace file.
  2. Open that workspace and debug a python script using that launch configuration.
  3. Try to step into library code using the debugger
  4. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.