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

feat: use new debug -I -P CLI output #2281

Merged
merged 8 commits into from
Dec 13, 2023
Merged

feat: use new debug -I -P CLI output #2281

merged 8 commits into from
Dec 13, 2023

Conversation

kittaakos
Copy link
Contributor

@kittaakos kittaakos commented Nov 13, 2023

Depends on #2294 and #2289. They're part of this PR ✅

Motivation

Use the CLI's new debug --info --programmer output for IDE2 debugging.

Change description

  • Update CLI to 0.35.0-rc.7.
  • Update Arduino LS to 0.7.5.
  • Update VS Code Arduino Tools to 0.1.0. (Download the VSIX.)
  • Adjust board discovery to new gRPC API. From now on, it's a client read stream, not a duplex.
  • Allow .cxx and .cc file extensions.
  • Handle the v prefix in the CLI's GitHub release name when generating JS/TS from proto.
  • Can edit the launch.json configuration file.
  • Automatically select a programmer if no programmer is selected and the platform defines a default one.
  • Can select a programmer on the fly when it's missing for the debug session.
  • Can debug the same sketch with multiple boards.
  • Show the (in Sketchbook) tooltip suffix in the board select dialog for manually installed boards.

Dependencies:

Noteworthy UI changes:

  1. Show the tooltip suffix if the core has been installed manually

    tooltip_suffix_if_manually_installed.mp4
  2. Intellisense and validation for custom_debug.json

    debug_custom_json.mp4
  3. Show progress information in the status bar when debug --info --programmer is running by the CLI

    get_debug_info.mp4
  4. Prompt user for a programmer when not selected for the debug session

    prompt_select_programmer.mp4
  5. From now on, IDE2 gives advanced users the flexibility to modify the launch.json

    edit_launch_config.mp4
  6. Can debug the same sketch with multiple boards

    can_debug_with_multiple_boards.mp4

BREAKING:

  • A new schema has been introduced for debug_custom.json.

Other information

Closes #2265
Closes #2270

Upstream PR: arduino/vscode-arduino-tools#41

Reviewer checklist

  • PR addresses a single concern.
  • The PR has no duplicates (please search among the Pull Requests before creating one)
  • PR title and description are properly filled.
  • Docs have been added / updated (for bug fixes / features)

@kittaakos kittaakos added type: enhancement Proposed improvement topic: code Related to content of the project itself topic: CLI Related to Arduino CLI topic: debugger Related to the integrated debugger labels Nov 13, 2023
@kittaakos kittaakos self-assigned this Nov 13, 2023
@kittaakos kittaakos force-pushed the new-debug-info-format branch 2 times, most recently from 5b65848 to 33dd2a7 Compare November 13, 2023 15:28
@kittaakos kittaakos marked this pull request as ready for review November 17, 2023 12:43
Copy link
Contributor

@davegarthsimpson davegarthsimpson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code approved, I didn't see anything problematic

Copy link

@umbynos umbynos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested and works. Nice work! 🛩️

Akos Kitta added 8 commits December 13, 2023 16:15
Signed-off-by: Akos Kitta <[email protected]>
A new startup task ensures setting any custom board menu selection in a
new sketch window.

Closes #2271

Signed-off-by: Akos Kitta <[email protected]>
Hide the concrete implementation behind an interface so that tests can
`require` it.

Signed-off-by: Akos Kitta <[email protected]>
 - Can pick a programmer if missing,
 - Can auto-select a programmer on app start,
 - Can edit the `launch.json`,
 - Adjust board discovery to new gRPC API. From now on, it's a client
 read stream, not a duplex.
 - Allow `.cxx` and `.cc` file extensions. (Closes #2265)
 - Drop `debuggingSupported` from `BoardDetails`.
 - Dedicated service endpoint for checking the debugger.

Signed-off-by: Akos Kitta <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: CLI Related to Arduino CLI topic: code Related to content of the project itself topic: debugger Related to the integrated debugger type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Quick selection menu doesn't show "in sketchbook" label Allow .cxx and .cc extensions
3 participants