arduino-ide
arduino-ide copied to clipboard
Missing "Select All" capability for Serial Monitor
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:

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

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
Probably related to: https://github.com/arduino/arduino-ide/issues/105
@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.
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
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.
This 'draw clip error redraw' was destined for #972 Moved there
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.
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.
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.
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.
Good idea. Open a separate issue and ask for it.
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.
I can confirm this is still the case for ArduinoIDE 2.1.1 on windows 10. And therefore I am reverting to 1.8
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.
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... :(