Skip to content

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

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

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 from 691dec6 to 0edc8e0 Compare November 13, 2023 11:09
@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
@kittaakos kittaakos force-pushed the new-debug-info-format branch from 9f7feff to 353dfac Compare November 17, 2023 14:19
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
Closes #2270

Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
Ref: arduino/arduino-cli#2374
Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
 - Related change: 153e34f
 - Reported at: #2267 (comment)
 - External: https://forum.arduino.cc/t/ide-2-2-1-main-window-randomly-goes-blank/1166219

Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
A new startup task ensures setting any custom board menu selection in a
new sketch window.

Closes #2271

Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
Hide the concrete implementation behind an interface so that tests can
`require` it.

Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
 - 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 <a.kitta@arduino.cc>
# for free to join this conversation on GitHub. Already have an account? # 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