Skip to content
This repository has been archived by the owner on Aug 2, 2023. It is now read-only.

Just My Code #194

Closed
int19h opened this issue Mar 12, 2018 · 8 comments
Closed

Just My Code #194

int19h opened this issue Mar 12, 2018 · 8 comments
Assignees
Milestone

Comments

@int19h
Copy link
Contributor

int19h commented Mar 12, 2018

An option that allows the user to:

  • Avoid stepping into the standard library
  • Avoid breaking on handled exceptions that happen inside the standard library

For the purposes of this item, "standard library" is defined as every package installed into the current Python environment (i.e. including site-packages).

@int19h
Copy link
Contributor Author

int19h commented Mar 12, 2018

Depends on #169

@int19h int19h removed the req:VS label Mar 12, 2018
@int19h int19h added this to the VS stable milestone Mar 12, 2018
@karthiknadig
Copy link
Member

This should be enabled using supportsDebuggerProperties which supports JustMyCodeStepping.
https://github.com/Microsoft/VSDebugAdapterHost/wiki/Debugger-Properties

@DonJayamanne
Copy link
Contributor

DonJayamanne commented Apr 17, 2018

@int19h @karthiknadig @qubitron
What's the definition of Just my code?

  • Are all of the files (code) under the python packages considered non-user code?
  • Are all of the files (code) under the python packages considered STD LIB? (I'd like to get this terminology right)
  • If there are files being imported from outside the current workspace (project), are they considered non-user-code (e.g. user could be using code thats installed in Program Files or the like, e.g. some 3rd party python library not pip-installed)
  • Finally if some code is considered to be non-user code are they implicitly treated as std lib?

@int19h
Copy link
Contributor Author

int19h commented Apr 17, 2018

The first approximation is what the old ptvsd did, which is: all files installed anywhere in lib or site-packages (including user-global and virtualenv) are non-user code, which is the same as "stdlib". If the latter term is confusing, I propose that we change that.

Once we have feature parity, that definition can certainly be extended. There have been user asks to treat Python built-in modules separate from site-packages, mostly for the purposes of debugging self-authored packages in a "natural environment", without the overhead of disabling JMC entirely (@zooba, is that right?). But all that stuff is post-VS-stable.

@int19h
Copy link
Contributor Author

int19h commented Apr 17, 2018

BTW, this issue only tracks the feature parity version. There's a separate item for fine-grained JMC: #207

@qubitron
Copy link

Let's focus on feature parity per @int19h and focus on fine-grained control later.

@int19h
Copy link
Contributor Author

int19h commented Apr 19, 2018

Yep. They're already assigned to milestones accordingly - this one is in VSC milestone, and fine-grained isn't in any milestone at all (i.e. post-stable).

@karthiknadig
Copy link
Member

Completed via #467

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants