Description
Describe the current behavior
Obtaining the necessary information from the user is often the most difficult part of providing support or triaging bug reports, for all involved.
Arduino IDE 1.x provides a convenient Copy error messages button when there is an error during compilation or upload. In addition to the full output, the IDE adds other essential details:
- Version of the Arduino IDE
- Operating system
- Board
- Instructions for enabling the verbose output to get more information.
🙂 This means it is often possible for the user to provide all the necessary information in three simple steps:
- Click button.
- Paste error output in a post or issue.
- Submit the post or issue.
🙁 Providing the same information is far more complicated for the users of Arduino IDE 2.x.
To reproduce
Observe baseline Arduino IDE 1.x behavior
- Use the Arduino IDE 1.x to compile a sketch that has an error:
#error void setup() {} void loop() {}
- Wait for the compilation to fail.
- Click the Copy error messages button on the orange bar:
- Paste the copied output in a text editor.
🙂 The copied output provides the most essential details:
Arduino: 1.8.19 (Windows 10), Board: "Arduino Uno"
sketch_feb09a:1:2: error: #error
#error
^~~~~
exit status 1
#error
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Compare to Arduino IDE 2.x behavior
- Use the Arduino IDE 2.x to compile a sketch that has an error:
#error void setup() {} void loop() {}
- Wait for the compilation to fail.
- Right click on the "Output" view.
- Select "Copy All" from the context menu.
(this is the closest equivalent to the Arduino IDE 1.x Copy error messages button) - Paste the copied output in a text editor:
🙁 The copied output is missing some of the essential details:
C:\Users\per\AppData\Local\Temp\.arduinoIDE-unsaved202219-7652-1aug2t3.k3cu\sketch_feb9a\sketch_feb9a.ino:1:2: error: #error
#error
^~~~~
Compilation error: exit status 1
In order to gather the information provided by Arduino IDE 1.x, additional steps are required:
Arduino IDE version
- Select Help > About Arduino IDE from the Arduino IDE menus.
- Click the Copy button.
- Paste the contents of the clipboard into the report.
- Click the OK button of the "Arduino IDE" dialog.
🙁 A lot of steps to follow just to get a single bit of information. But the alternative of asking the user to find the information and provide it manually is even worse.
Board
- Note the board name shown in the board selector menu on the toolbar.
- Write the full and exact name of the board here in the report.
🙁 Providing information manually is prone to omissions and errors (e.g., "Uno" vs "Uno WiFi Rev2", "Nano" vs. "Nano 33 IoT").
OS
- Write your operating system here in the report.
🙁 Providing information manually is prone to omissions and errors.
Describe the request
Add all essential information to the text produced by the primary method of collecting error output.
Evaluate whether Arduino IDE 2.x's "Copy All" is an adequate replacement for the Copy error messages button of the Arduino IDE 1.x.
Desktop
- OS: Windows 10
- Version: 2.0.0-rc3-snapshot.a20899f
Date: 2022-02-01T13:36:29.975Z
CLI Version: nightly-20220205 [10107d2]