arduino-ide icon indicating copy to clipboard operation
arduino-ide copied to clipboard

Missing "Select All" capability for Serial Monitor

Open KurtE opened this issue 3 years ago • 14 comments

Describe the problem

Let's say I have 1000 lines of debug output in the serial monitor window, how do I do a select all, such that I can copy it to the clipboard?

With 1.8.19, I click the mouse into the monitor window and hit Ctrl+A and it selects all of the text. I can then hit Ctrl+C to copy to clipboard.

To reproduce

Run a sketch and try to select all of the text from Serial Monitor.

🐛 The contents of the sketch editor are selected when you press Ctrl+A:

image

Expected behavior

I expected hitting Ctrl+A would select everything in that window not the source window.

Arduino IDE version

Original report

Nightly build

Last verified with

9a6a457bc44fb16f646b9e61a9e8b336b3666412

Operating system

Windows

Operating system version

Not provided

Additional context

And/Or alternative solution - context menu like for example TyCommander

image


Additional reports

  • https://github.com/arduino/arduino-ide/issues/899
  • https://github.com/arduino/arduino-ide/issues/1817
  • https://github.com/arduino/arduino-ide/issues/1654
  • https://github.com/arduino/arduino-ide/issues/1918
  • https://github.com/arduino/arduino-ide/issues/2328
  • https://github.com/arduino/arduino-ide/issues/2431
  • https://github.com/arduino/arduino-ide/issues/2520
  • https://github.com/arduino/arduino-ide/issues/2674
  • https://github.com/arduino/arduino-ide/issues/2743
  • https://github.com/dankeboy36/esp-exception-decoder/issues/42
  • https://forum.arduino.cc/t/copy-of-the-serie-monitor-output/1056049/1
  • https://forum.arduino.cc/t/copy-of-the-serie-monitor-output/1056049/5
  • https://forum.arduino.cc/t/serial-monitor-copy-only-copied-the-visible-logs/1051846/1
  • https://forum.arduino.cc/t/serial-monitor-copy-only-copied-the-visible-logs/1051846/4
  • https://forum.arduino.cc/t/using-v-2-0-serial-monitor-print/1034093
  • https://forum.arduino.cc/t/serial-monitor-issues-hopefully-fixed-before-release/1026548
  • https://forum.arduino.cc/t/serial-output-window-select-all-copy/1024251
  • https://forum.arduino.cc/t/coping-multiple-lines-on-monitor-screen/1019346
  • https://forum.arduino.cc/t/text-selection-serial-monitor/1005262
  • https://forum.arduino.cc/t/upgrade-the-serial-monitor-for-better-function/980128
  • https://forum.arduino.cc/t/ide-2-0-copy-from-serial-monitor-limited/1078391
  • https://forum.arduino.cc/t/random-seed-does-not-deliver-random-numbers/1006762/10
  • https://forum.arduino.cc/t/copying-from-serial-monitor/1071503/3
  • https://forum.arduino.cc/t/copy-paste-data-from-the-serial-monitor/1041585/5
  • https://forum.arduino.cc/t/copy-paste-data-from-the-serial-monitor/1041585/19
  • https://forum.arduino.cc/t/copy-paste-data-from-the-serial-monitor/1041585/21
  • https://forum.arduino.cc/t/copy-paste-data-from-the-serial-monitor/1041585/23
  • https://forum.arduino.cc/t/copy-paste-data-from-the-serial-monitor/1041585/32
  • https://forum.arduino.cc/t/copy-paste-data-from-the-serial-monitor/1041585/38
  • https://forum.arduino.cc/t/copy-paste-data-from-the-serial-monitor/1041585/39
  • https://forum.arduino.cc/t/copy-paste-data-from-the-serial-monitor/1041585/45
  • https://forum.arduino.cc/t/copy-paste-data-from-the-serial-monitor/1041585/46
  • https://forum.arduino.cc/t/copy-paste-data-from-the-serial-monitor/1041585/48
  • https://forum.arduino.cc/t/copy-paste-data-from-the-serial-monitor/1041585/60
  • https://forum.arduino.cc/t/copy-paste-data-from-the-serial-monitor/1041585/61
  • https://forum.arduino.cc/t/arduino-ide-2-0-3-serial-monitor-cant-use-cntrl-a-to-capture-everything/1095266
  • https://forum.arduino.cc/t/arduino-ide-serial-monitor-bug/1112653/7
  • https://forum.arduino.cc/t/why-does-click-into-serial-monitor-ctrl-a-mark-the-source-code/1128016
  • https://forum.arduino.cc/t/cannot-select-all-of-serial-data/1158236
  • https://forum.arduino.cc/t/how-can-i-copy-the-whole-content-of-the-serial-monitor/1168904/1
  • https://forum.arduino.cc/t/your-reason-for-not-switching-to-the-2-x-ide/1176322/47
  • https://forum.arduino.cc/t/code-in-the-arduino-is-fine-but-the-display-show-nothing/1204977/33
  • https://forum.arduino.cc/t/ide-2-addition-suggestions-open-source-participation/1204792
  • https://forum.arduino.cc/t/save-serial-data/1253788
  • https://forum.arduino.cc/t/bug-report-serial-monitor/1297087
  • https://forum.arduino.cc/t/ide-2-3-2-serial-monitor-ctrl-a-still-marking-only-the-source-code/1310325
  • https://forum.arduino.cc/t/arduino-ide-copy-paste-on-serial-monitor-is-limited/1351189/1
  • https://forum.arduino.cc/t/arduino-ide-copy-paste-on-serial-monitor-is-limited/1351189/5
  • https://forum.arduino.cc/t/copy-paste-data-from-the-serial-monitor/1041585/87

Related

  • https://github.com/arduino/arduino-ide/issues/1081
  • https://github.com/arduino/arduino-ide/issues/549

Issue checklist

  • [X] I searched for previous reports in the issue tracker
  • [X] I verified the problem still occurs when using the latest nightly build
  • [X] My report contains all necessary details

KurtE avatar Feb 05 '22 23:02 KurtE

Probably related to: https://github.com/arduino/arduino-ide/issues/105

KurtE avatar Feb 06 '22 13:02 KurtE

@per1234 wondering on how fine a granularity you prefer for these issues?

In the past, I thought of the ideal level of granularity as being the same as what a developer would address in a single atomic pull request. However, I'm finding recently that level is often not turning out to be granular enough in this project.

https://github.com/arduino/arduino-ide/issues/105 is a perfect example. It is likely that replacing the current Serial Monitor implementation with a Monaco editor would resolve multiple distinct defects and add multiple desired enhancements. The issue to track the proposal of using a Monaco editor is definitely valuable. However, using that issue exclusively to track all the bug reports and feature requests is just not effective.

Affected users will be best served by reports tracking the symptoms they are experiencing or feature they are missing. Having a separate report for each distinct significant symptom or enhancement allows efficiently verifying that a solution resolved them, and continuing to track any that remain outstanding.

For example this is specific to ctrl+a select all of the text, but I also suggest an alternative.

That is fine for a single issue.

And for example also include: how can I use the keyboard to scroll through the l000 lines of text. I clicked once inside the Serial Monitor text area and hit the Page down and it looked like it scrolled one page, I hit the page down (or up) again and nothing happened.

I would put that in a dedicated issue. As you suspected, there is a good chance that https://github.com/arduino/arduino-ide/issues/105 would resolve both, but I still think the individual defect/enhancement reports are worth making, especially in light of the fact that https://github.com/arduino/arduino-ide/issues/105 was submitted 1.5 years ago.

per1234 avatar Feb 06 '22 17:02 per1234

In the past, I thought of the ideal level of granularity as being the same as what a developer would address in a single atomic pull request. However, I'm finding recently that level is often not turning out to be granular enough in this project.

Thanks, It is always hard to know from project to project and team to team.

At times I wish there was an issue or WIKI or some such thing (and maybe there is), that for example for the Serial monitor that would try to spell out expected behavior as well as user interface descriptions for how to do things, that then for those things that don't work would refer to... This might also include things like accessibility issues (Not sure if I described this very well).

Example topics:

If I mouse click in the Serial monitor, is there supposed to be any visual indication that the focus is now on that window Pane? Like maybe a text cursor that looks distinct from the one in edit windows? If so what? Right now if I click there and type an A nothing shows up, so obviously the text focus moved to there.

Navigation keys: again assuming the indicator, what should different keys/mouse moves do for example: Arrow keys up, down, left, right, plus home, end, page up/down... what about selection (ctrl or shift...)...

Or How do I by only using the keyboard navigate to working with the Serial Monitor...

Note: The above are just example things, I have not looked yet to see if anything covers them, but back on the topic scrolling through 1000 lines mentioned above.

I agree #105 is too generic and maybe only one possible solution where you may choose others.

And from what you are saying: Opening one that is titled something like: keyboard navigation within Seriial Monitor, may also be too generic, although that would be more the level I would typically try to do as, I believe it is one main issue of not setting an maintaining a consistent input focus on the window.

But one could open maybe 10 issues like: click + pg down only works for one pg down click + pg up only works for one. click + home - take me home but only works for one click + end - takes me to end but only once. click + down arrow - worked for a couple of presses ...

I will probably open just one as I think it is the right thing, but can always expand to many

Thanks again

KurtE avatar Feb 06 '22 18:02 KurtE

Confirmed this failed behavior still showing in RC9, Win 10. No right click 'context' option to select, and click or double click a word in SerMon Ouput and 'Ctrl+A' does select ALL ... but in CODE window.

The 'text entry to send "Message"' does offer context menu and 'Ctrl+A' desired behavior.

Defragster avatar Jul 24 '22 20:07 Defragster

This 'draw clip error redraw' was destined for #972 Moved there

Defragster avatar Jul 27 '22 04:07 Defragster

Inability to copy/paste large amounts of data and only 50 points in the plotter means I will have to downgrade my engineering class to use v1.8.x. This is disappointing, as V2.0 brings so many other good things.

sellensr avatar Sep 14 '22 20:09 sellensr

Issue still present in IDE 2.0.0/Win 10. No workaround. I also tried the left-click and scroll down but faced the #1295 issue. Would also be nice to have a search option in serial monitor. Will open an issue.

Eric-FR avatar Oct 10 '22 07:10 Eric-FR

I agree Ctrl+A selects all text in the IDE source window not the Serial Monitor. And when I select text with the mouse only the "visible lines" get copied to the clipboard. Seems like the "Right Click" Popup menu solution (with Select All and Copy (to clipboard) would be best. Additionally fixing the selection of text with the keyboard would also be helpful.

lenniea avatar Oct 17 '22 04:10 lenniea

An alternate approach might be an option to log Serial data to a file. Copy and paste is awkward with large amounts of data.

A menu item for Tools/Serial Logging could be switched on/off at will, generating a new file at [sketch folder]/Logs/SerYYYYMMDDhhmmss.log whenever it is toggled on or a new compile/load takes place while toggled on.

sellensr avatar Oct 19 '22 17:10 sellensr

Good idea. Open a separate issue and ask for it.

Eric-FR avatar Oct 19 '22 20:10 Eric-FR

I can confirm this issue is still present in Arduino IDE 2.1.1 on macOS. Similar to many other users, it has forced me to revert to v1.8.x.

I'm sure the community would appreciate confirmation of whether this issue is actively being addressed.

adamgarbo avatar Jul 10 '23 16:07 adamgarbo

I can confirm this is still the case for ArduinoIDE 2.1.1 on windows 10. And therefore I am reverting to 1.8

Funwar avatar Jul 25 '23 08:07 Funwar

Another voice that the missing "Select All" has forced me to revert to 1.8x. I and other professors use the select all feature in classes we teach and saving to a file is too slow when trying to quickly analyze results.

cghiee avatar Jul 26 '23 12:07 cghiee

This issue is very frustrating, I will need to revert back to 1.8 as well because of it. Looks like this has been open since released over a year ago... :(

SensoriumEmbedded avatar Jul 26 '23 13:07 SensoriumEmbedded