-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add dynamic debug configurations API #10134
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some comments on the code (mostly the docs, really) before I try things out
packages/plugin-ext/src/main/browser/debug/plugin-debug-service.ts
Outdated
Show resolved
Hide resolved
d652bb2
to
8ba8e81
Compare
commit 8ba8e81 is just a re-base to later master, |
This seems to be working for the most part. I did run into a few minor issues:
Otherwise things are looking good. Very nice work. |
That's right, I have adjusted the mock debugger to help with the testing of dynamic debug configurations although as you have noticed there is still work to do to have it fully working with
Thanks !! 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From the discussion, it sounds like all the functionality that is expected to work is working, and the code looks good. Would be great to get other views, though.
packages/plugin-ext/src/main/browser/debug/plugin-debug-adapter-contribution.ts
Outdated
Show resolved
Hide resolved
01d9e0e
to
e72dcad
Compare
packages/plugin-ext/src/main/browser/debug/plugin-debug-service.ts
Outdated
Show resolved
Hide resolved
packages/plugin-ext/src/main/browser/debug/plugin-debug-service.ts
Outdated
Show resolved
Hide resolved
This initial implementation provides dynamic debug configurations via the quick pick command palette. e.g. ctrlcmd+p -> type 'debug ' (Note the space at the end). if an extension provider of dynamic debug configurations is loaded, these entries are listed and available for selection. Signed-off-by: Alvaro Sanchez-Leon <[email protected]>
e571eeb
to
404e797
Compare
The last commit is a re-base to master. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The changes look good to me 👍
- verified the code
- confirmed that 'run current file' works well for javascript files
- confirmed the mock-debug dynamic configs worked well
Please be sure to squash and merge
when merging, with a clean commit message.
Following the recent support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries will be directly available to the user, showing them with the name and suffixed by the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently used dynamic debug configurations so they will still be presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered - Focus is gained or lost by the configuration selection box Refreshing these configurations allows to present up to date dynamic configurations, e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. - When a new provider extension has just been loaded. Signed-off-by: Alvaro Sanchez-Leon <[email protected]>
Following the recent support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries will be directly available to the user, showing them with the name and suffixed by the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently used dynamic debug configurations so they will still be presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered - Focus is gained or lost by the configuration selection box Refreshing these configurations allows to present up to date dynamic configurations, e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. - When a new provider extension has just been loaded. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the recent support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries will be directly available to the user, showing them with the name and suffixed by the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently used dynamic debug configurations so they will still be presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered - Focus is gained or lost by the configuration selection box Refreshing these configurations allows to present up to date dynamic configurations, e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. - When a new provider extension has just been loaded. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the recent support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries will be directly available to the user, showing them with the name and suffixed by the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently used dynamic debug configurations so they will still be presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered - Focus is gained or lost by the configuration selection box Refreshing these configurations allows to present up to date dynamic configurations, e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. - When a new provider extension has just been loaded. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries are available to the user, rendered with the name and suffixed with the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently selected dynamic debug configurations so they are presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered or unregistered - Focus is gained or lost by the configuration selection box Refreshing these configurations intends to render valid dynamic configurations to the current context. e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. However there are situations where the context for execution of a dynamic configuration may no longer be valid e.g. - The configuration is restored from a previous session and the currently selected file is not supported. - The switch of context may not have involved a refresh of dynamic debug configurations. (e.g. switching active editors, etc.) Considering the above, execution of dynamic configurations triggers the fetch of dynamic configurations for the selected provider type, if the configuration is no longer provided, the user will be notified of a missing configuration or not applicable to the current context. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries are available to the user, rendered with the name and suffixed with the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently selected dynamic debug configurations so they are presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered or unregistered - Focus is gained or lost by the configuration selection box Refreshing these configurations intends to render valid dynamic configurations to the current context. e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. However there are situations where the context for execution of a dynamic configuration may no longer be valid e.g. - The configuration is restored from a previous session and the currently selected file is not supported. - The switch of context may not have involved a refresh of dynamic debug configurations. (e.g. switching active editors, etc.) Considering the above, execution of dynamic configurations triggers the fetch of dynamic configurations for the selected provider type, if the configuration is no longer provided, the user will be notified of a missing configuration or not applicable to the current context. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries are available to the user, rendered with the name and suffixed with the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently selected dynamic debug configurations so they are presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered or unregistered - Focus is gained or lost by the configuration selection box Refreshing these configurations intends to render valid dynamic configurations to the current context. e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. However there are situations where the context for execution of a dynamic configuration may no longer be valid e.g. - The configuration is restored from a previous session and the currently selected file is not supported. - The switch of context may not have involved a refresh of dynamic debug configurations. (e.g. switching active editors, etc.) Considering the above, execution of dynamic configurations triggers the fetch of dynamic configurations for the selected provider type, if the configuration is no longer provided, the user will be notified of a missing configuration or not applicable to the current context. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries are available to the user, rendered with the name and suffixed with the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently selected dynamic debug configurations so they are presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered or unregistered - Focus is gained or lost by the configuration selection box Refreshing these configurations intends to render valid dynamic configurations to the current context. e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. However there are situations where the context for execution of a dynamic configuration may no longer be valid e.g. - The configuration is restored from a previous session and the currently selected file is not supported. - The switch of context may not have involved a refresh of dynamic debug configurations. (e.g. switching active editors, etc.) Considering the above, execution of dynamic configurations triggers the fetch of dynamic configurations for the selected provider type, if the configuration is no longer provided, the user will be notified of a missing configuration or not applicable to the current context. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries are available to the user, rendered with the name and suffixed with the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently selected dynamic debug configurations so they are presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered or unregistered - Focus is gained or lost by the configuration selection box Refreshing these configurations intends to render valid dynamic configurations to the current context. e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. However there are situations where the context for execution of a dynamic configuration may no longer be valid e.g. - The configuration is restored from a previous session and the currently selected file is not supported. - The switch of context may not have involved a refresh of dynamic debug configurations. (e.g. switching active editors, etc.) Considering the above, execution of dynamic configurations triggers the fetch of dynamic configurations for the selected provider type, if the configuration is no longer provided, the user will be notified of a missing configuration or not applicable to the current context. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries are available to the user, rendered with the name and suffixed with the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently selected dynamic debug configurations so they are presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered or unregistered - Focus is gained or lost by the configuration selection box Refreshing these configurations intends to render valid dynamic configurations to the current context. e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. However there are situations where the context for execution of a dynamic configuration may no longer be valid e.g. - The configuration is restored from a previous session and the currently selected file is not supported. - The switch of context may not have involved a refresh of dynamic debug configurations. (e.g. switching active editors, etc.) Considering the above, execution of dynamic configurations triggers the fetch of dynamic configurations for the selected provider type, if the configuration is no longer provided, the user will be notified of a missing configuration or not applicable to the current context. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries are available to the user, rendered with the name and suffixed with the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently selected dynamic debug configurations so they are presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered or unregistered - Focus is gained or lost by the configuration selection box Refreshing these configurations intends to render valid dynamic configurations to the current context. e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. However there are situations where the context for execution of a dynamic configuration may no longer be valid e.g. - The configuration is restored from a previous session and the currently selected file is not supported. - The switch of context may not have involved a refresh of dynamic debug configurations. (e.g. switching active editors, etc.) Considering the above, execution of dynamic configurations triggers the fetch of dynamic configurations for the selected provider type, if the configuration is no longer provided, the user will be notified of a missing configuration or not applicable to the current context. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries are available to the user, rendered with the name and suffixed with the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently selected dynamic debug configurations so they are presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered or unregistered - Focus is gained or lost by the configuration selection box Refreshing these configurations intends to render valid dynamic configurations to the current context. e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. However there are situations where the context for execution of a dynamic configuration may no longer be valid e.g. - The configuration is restored from a previous session and the currently selected file is not supported. - The switch of context may not have involved a refresh of dynamic debug configurations. (e.g. switching active editors, etc.) Considering the above, execution of dynamic configurations triggers the fetch of dynamic configurations for the selected provider type, if the configuration is no longer provided, the user will be notified of a missing configuration or not applicable to the current context. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries are available to the user, rendered with the name and suffixed with the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently selected dynamic debug configurations so they are presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered or unregistered - Focus is gained or lost by the configuration selection box Refreshing these configurations intends to render valid dynamic configurations to the current context. e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. However there are situations where the context for execution of a dynamic configuration may no longer be valid e.g. - The configuration is restored from a previous session and the currently selected file is not supported. - The switch of context may not have involved a refresh of dynamic debug configurations. (e.g. switching active editors, etc.) Considering the above, execution of dynamic configurations triggers the fetch of dynamic configurations for the selected provider type, if the configuration is no longer provided, the user will be notified of a missing configuration or not applicable to the current context. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries are available to the user, rendered with the name and suffixed with the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently selected dynamic debug configurations so they are presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered or unregistered - Focus is gained or lost by the configuration selection box Refreshing these configurations intends to render valid dynamic configurations to the current context. e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. However there are situations where the context for execution of a dynamic configuration may no longer be valid e.g. - The configuration is restored from a previous session and the currently selected file is not supported. - The switch of context may not have involved a refresh of dynamic debug configurations. (e.g. switching active editors, etc.) Considering the above, execution of dynamic configurations triggers the fetch of dynamic configurations for the selected provider type, if the configuration is no longer provided, the user will be notified of a missing configuration or not applicable to the current context. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries are available to the user, rendered with the name and suffixed with the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently selected dynamic debug configurations so they are presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered or unregistered - Focus is gained or lost by the configuration selection box Refreshing these configurations intends to render valid dynamic configurations to the current context. e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. However there are situations where the context for execution of a dynamic configuration may no longer be valid e.g. - The configuration is restored from a previous session and the currently selected file is not supported. - The switch of context may not have involved a refresh of dynamic debug configurations. (e.g. switching active editors, etc.) Considering the above, execution of dynamic configurations triggers the fetch of dynamic configurations for the selected provider type, if the configuration is no longer provided, the user will be notified of a missing configuration or not applicable to the current context. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries are available to the user, rendered with the name and suffixed with the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently selected dynamic debug configurations so they are presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered or unregistered - Focus is gained or lost by the configuration selection box Refreshing these configurations intends to render valid dynamic configurations to the current context. e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. However there are situations where the context for execution of a dynamic configuration may no longer be valid e.g. - The configuration is restored from a previous session and the currently selected file is not supported. - The switch of context may not have involved a refresh of dynamic debug configurations. (e.g. switching active editors, etc.) Considering the above, execution of dynamic configurations triggers the fetch of dynamic configurations for the selected provider type, if the configuration is no longer provided, the user will be notified of a missing configuration or not applicable to the current context. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries are available to the user, rendered with the name and suffixed with the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently selected dynamic debug configurations so they are presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered or unregistered - Focus is gained or lost by the configuration selection box Refreshing these configurations intends to render valid dynamic configurations to the current context. e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. However there are situations where the context for execution of a dynamic configuration may no longer be valid e.g. - The configuration is restored from a previous session and the currently selected file is not supported. - The switch of context may not have involved a refresh of dynamic debug configurations. (e.g. switching active editors, etc.) Considering the above, execution of dynamic configurations triggers the fetch of dynamic configurations for the selected provider type, if the configuration is no longer provided, the user will be notified of a missing configuration or not applicable to the current context. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries are available to the user, rendered with the name and suffixed with the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently selected dynamic debug configurations so they are presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered or unregistered - Focus is gained or lost by the configuration selection box Refreshing these configurations intends to render valid dynamic configurations to the current context. e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. However there are situations where the context for execution of a dynamic configuration may no longer be valid e.g. - The configuration is restored from a previous session and the currently selected file is not supported. - The switch of context may not have involved a refresh of dynamic debug configurations. (e.g. switching active editors, etc.) Considering the above, execution of dynamic configurations triggers the fetch of dynamic configurations for the selected provider type, if the configuration is no longer provided, the user will be notified of a missing configuration or not applicable to the current context. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries are available to the user, rendered with the name and suffixed with the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently selected dynamic debug configurations so they are presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered or unregistered - Focus is gained or lost by the configuration selection box Refreshing these configurations intends to render valid dynamic configurations to the current context. e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. However there are situations where the context for execution of a dynamic configuration may no longer be valid e.g. - The configuration is restored from a previous session and the currently selected file is not supported. - The switch of context may not have involved a refresh of dynamic debug configurations. (e.g. switching active editors, etc.) Considering the above, execution of dynamic configurations triggers the fetch of dynamic configurations for the selected provider type, if the configuration is no longer provided, the user will be notified of a missing configuration or not applicable to the current context. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries are available to the user, rendered with the name and suffixed with the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently selected dynamic debug configurations so they are presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered or unregistered - Focus is gained or lost by the configuration selection box Refreshing these configurations intends to render valid dynamic configurations to the current context. e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. However there are situations where the context for execution of a dynamic configuration may no longer be valid e.g. - The configuration is restored from a previous session and the currently selected file is not supported. - The switch of context may not have involved a refresh of dynamic debug configurations. (e.g. switching active editors, etc.) Considering the above, execution of dynamic configurations triggers the fetch of dynamic configurations for the selected provider type, if the configuration is no longer provided, the user will be notified of a missing configuration or not applicable to the current context. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries are available to the user, rendered with the name and suffixed with the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently selected dynamic debug configurations so they are presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered or unregistered - Focus is gained or lost by the configuration selection box Refreshing these configurations intends to render valid dynamic configurations to the current context. e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. However there are situations where the context for execution of a dynamic configuration may no longer be valid e.g. - The configuration is restored from a previous session and the currently selected file is not supported. - The switch of context may not have involved a refresh of dynamic debug configurations. (e.g. switching active editors, etc.) Considering the above, execution of dynamic configurations triggers the fetch of dynamic configurations for the selected provider type, if the configuration is no longer provided, the user will be notified of a missing configuration or not applicable to the current context. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries are available to the user, rendered with the name and suffixed with the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently selected dynamic debug configurations so they are presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered or unregistered - Focus is gained or lost by the configuration selection box Refreshing these configurations intends to render valid dynamic configurations to the current context. e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. However there are situations where the context for execution of a dynamic configuration may no longer be valid e.g. - The configuration is restored from a previous session and the currently selected file is not supported. - The switch of context may not have involved a refresh of dynamic debug configurations. (e.g. switching active editors, etc.) Considering the above, execution of dynamic configurations triggers the fetch of dynamic configurations for the selected provider type, if the configuration is no longer provided, the user will be notified of a missing configuration or not applicable to the current context. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
Following the support for dynamic debug configurations via command Debug: Select and Start debugging. PR #10134 This change extends the functionality further to bring provided dynamic debug configurations to the list of available configurations under the debug view. The user can select these dynamic configurations by first selecting the debug type and a quick pick input box will follow to allow the selection from the available configurations of the selected type. Once a dynamic configuration has been selected it will be added to a short list (limited to 3) of recently used dynamic debug configurations, these entries are available to the user, rendered with the name and suffixed with the debug type in parenthesis. This will facilitate subsequent selection / execution. This change additionally preserves and restores the list of recently selected dynamic debug configurations so they are presented in subsequent sessions. These configurations are refreshed from the providers when: - Configuration providers are registered or unregistered - Focus is gained or lost by the configuration selection box Refreshing these configurations intends to render valid dynamic configurations to the current context. e.g. - Honoring an extension 'when' clause to a file with a specific extension opened in the active editor. However there are situations where the context for execution of a dynamic configuration may no longer be valid e.g. - The configuration is restored from a previous session and the currently selected file is not supported. - The switch of context may not have involved a refresh of dynamic debug configurations. (e.g. switching active editors, etc.) Considering the above, execution of dynamic configurations triggers the fetch of dynamic configurations for the selected provider type, if the configuration is no longer provided, the user will be notified of a missing configuration or not applicable to the current context. Signed-off-by: Alvaro Sanchez-Leon <[email protected]> Co-authored-by: Paul Marechal <[email protected]>
What it does
Fixes: #8652
This initial implementation exposes plugin provided dynamic debug configurations via the quick pick command palette.
e.g.
ctrlcmd+p -> type 'debug ' (Note the space at the end).
or alternatively:
ctrl+shft+p -> type 'Select and start debugging'
If an extension provider of dynamic debug configurations is loaded, these entries are listed and available for selection.
How to test
#Alternative 1
ms-vscode.js-debug
is installed as a builtin dependencyOpen a
javascript
ortypescript
project, build it and open in editor a.js
or.ts
file ready to be debugged.pwa-node
debug type,Select the one called
Run current file
NOTE: The dynamic configuration 'Create JavaScript debug terminal', does not work properly, this will be tracked in the following issue #9978.
#Alternative 2 (For a more in depth testing and development)
The following URL points to a fork repository of
vscode-mock-debug
, and thetheia-dynamic-debug
branch is provided for test purposes of this functionality.theia
development repository install thevscode-mock-debug
extension inside theplugins
folder via the following commands:select one of the provided dynamic configurations under
mock
:Example:
Review checklist
Reminder for reviewers
Signed-off-by: Alvaro Sanchez-Leon [email protected]