Skip to content
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

Merged
merged 8 commits into from
Sep 28, 2021
Merged

Conversation

alvsan09
Copy link
Contributor

@alvsan09 alvsan09 commented Sep 17, 2021

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

  1. Assuming the extension ms-vscode.js-debug is installed as a builtin dependency
    Open a javascript or typescript project, build it and open in editor a .js or .ts file ready to be debugged.

ctrlcmd+p -> type 'debug ' (Note the space at the end).

  1. You will notice two new entries under the pwa-node debug type,
    Select the one called Run current file
  2. Verify that the debug session starts and that debug options work (e.g. stop at break points, etc.).

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 the theia-dynamic-debug branch is provided for test purposes of this functionality.

  • from your theia development repository install the vscode-mock-debug extension inside the plugins folder via the following commands:

git clone https://github.com/alvsan09/vscode-mock-debug.git; cd vscode-mock-debug; git checkout theia-dynamic-debug
yarn
yarn compile
yarn run vscode:prepublish

  • open the following file (from the extension above) in the editor:

plugins/vscode-mock-debug/sampleWorkspace/readme.md

  • From the command palette type 'debug ' or use the shortcut keys below:

ctrlcmd+p -> type 'debug ' (Note the space at the end).

  • select one of the provided dynamic configurations under mock:
    image

  • Example:
    dynamic_mock_debug

Review checklist

Reminder for reviewers

Signed-off-by: Alvaro Sanchez-Leon [email protected]

@alvsan09 alvsan09 added debug issues that related to debug functionality vscode issues related to VSCode compatibility labels Sep 17, 2021
@msujew msujew self-requested a review September 20, 2021 12:06
Copy link
Contributor

@colin-grant-work colin-grant-work left a 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/plugin/plugin-context.ts Outdated Show resolved Hide resolved
packages/plugin-ext/src/plugin/plugin-manager.ts Outdated Show resolved Hide resolved
packages/plugin/src/theia.d.ts Outdated Show resolved Hide resolved
packages/plugin-ext/src/common/plugin-api-rpc.ts Outdated Show resolved Hide resolved
packages/plugin/src/theia.d.ts Outdated Show resolved Hide resolved
packages/plugin/src/theia.d.ts Outdated Show resolved Hide resolved
packages/plugin/src/theia.d.ts Outdated Show resolved Hide resolved
packages/plugin/src/theia.d.ts Outdated Show resolved Hide resolved
@alvsan09 alvsan09 force-pushed the asl/add-dynamic-debug-config-api branch from d652bb2 to 8ba8e81 Compare September 21, 2021 14:43
@alvsan09
Copy link
Contributor Author

commit 8ba8e81 is just a re-base to later master,
the updates related to the review are coming up shortly!

@colin-grant-work
Copy link
Contributor

This seems to be working for the most part. I did run into a few minor issues:

  • According to the text of readme.md, variables are supposed to appear on hover, but I was unable to get any hovers.
  • According to the text of readme.md, breakpoints on lines beginning with +, - have special behavior, and that led to weird behavior on my system - breakpoints moving up and down when I stepped through the 'code' or added a new breakpoiont.

This behavior is just an oddity of the mock debugger, so probably not worth looking into that seriously.

Otherwise things are looking good. Very nice work.

@colin-grant-work
Copy link
Contributor

Re: hovers, when using the trace configuration, the logging indicates that the hover request is being sent and processed successfully, but no hover appears:

image

@alvsan09
Copy link
Contributor Author

alvsan09 commented Sep 21, 2021

This behavior is just an oddity of the mock debugger, so probably not worth looking into that seriously.

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 theia.

Otherwise things are looking good. Very nice work.

Thanks !! 👍

@alvsan09
Copy link
Contributor Author

Re: hovers, when using the trace configuration, the logging indicates that the hover request is being sent and processed successfully, but no hover appears:

image

Hovering is not yet supported via the mock debug, although that does not prevent the verification of dynamic debug configurations.

Copy link
Contributor

@colin-grant-work colin-grant-work left a 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.

@alvsan09 alvsan09 force-pushed the asl/add-dynamic-debug-config-api branch from 01d9e0e to e72dcad Compare September 22, 2021 14:46
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]>
@alvsan09 alvsan09 force-pushed the asl/add-dynamic-debug-config-api branch from e571eeb to 404e797 Compare September 28, 2021 12:33
@alvsan09
Copy link
Contributor Author

The last commit is a re-base to master.
@paul-marechal, @vince-fugnitto, are there any pending items before we proceed?

Copy link
Member

@vince-fugnitto vince-fugnitto left a 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.

@alvsan09 alvsan09 merged commit 19acfab into master Sep 28, 2021
@github-actions github-actions bot added this to the 1.18.0 milestone Sep 28, 2021
@alvsan09 alvsan09 deleted the asl/add-dynamic-debug-config-api branch September 28, 2021 20:06
alvsan09 added a commit that referenced this pull request Oct 26, 2021
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]>
alvsan09 added a commit that referenced this pull request Nov 22, 2021
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]>
alvsan09 added a commit that referenced this pull request Nov 22, 2021
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]>
alvsan09 added a commit that referenced this pull request Nov 30, 2021
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]>
alvsan09 added a commit that referenced this pull request Dec 14, 2021
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]>
alvsan09 added a commit that referenced this pull request Dec 14, 2021
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]>
alvsan09 added a commit that referenced this pull request Dec 18, 2021
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]>
alvsan09 added a commit that referenced this pull request Jan 12, 2022
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]>
alvsan09 added a commit that referenced this pull request Jan 12, 2022
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]>
alvsan09 added a commit that referenced this pull request Jan 21, 2022
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]>
alvsan09 added a commit that referenced this pull request Jan 31, 2022
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]>
alvsan09 added a commit that referenced this pull request Feb 18, 2022
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]>
alvsan09 added a commit that referenced this pull request Apr 4, 2022
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]>
alvsan09 added a commit that referenced this pull request Apr 4, 2022
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]>
alvsan09 added a commit that referenced this pull request Apr 20, 2022
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]>
alvsan09 added a commit that referenced this pull request May 20, 2022
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]>
alvsan09 added a commit that referenced this pull request May 26, 2022
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]>
alvsan09 added a commit that referenced this pull request May 26, 2022
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]>
alvsan09 added a commit that referenced this pull request Jun 1, 2022
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]>
alvsan09 added a commit that referenced this pull request Jun 1, 2022
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]>
alvsan09 added a commit that referenced this pull request Jun 1, 2022
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]>
alvsan09 added a commit that referenced this pull request Jun 1, 2022
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]>
alvsan09 added a commit that referenced this pull request Jun 1, 2022
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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
debug issues that related to debug functionality vscode issues related to VSCode compatibility
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Unsupported activation events: onDebugDynamicConfigurations
4 participants