When encountering ''Incorrect IDE installation folder", the output is frustratingly silent on what needs to be fixed
- Dominant language
- Java
- Stars
- 14.6k
- Forks
- 7k
- PR merge metrics
- No merged PRs in 30d
Description
The two reasons (`Your copy of the IDE is installed in a subfolder of your settings folder.\nPlease move the IDE to another folder.` & `Your copy of the IDE is installed in a subfolder of your sketchbook.\nPlease move the IDE to another folder.`) do not actually state what specifically needs to be fixed.
Maybe this is okay for seasoned Arduino developers, but why not actually tell the newbie developer what the conflicting settings are?
One solution could be to change `BaseNoGui.java` code like
```
if (isIDEInstalledIntoSketchbookFolder()) {
showError(tr("Incorrect IDE installation folder"), tr("Your copy of the IDE is installed in a subfolder of your sketchbook.\nPlease move the IDE to another folder."), 10);
}
```
into maybe something like
```
if (isIDEInstalledIntoSketchbookFolder()) {
if (PreferencesData.has("sketchbook.path")){
showWarning(I18n.format("sketchbook.path=<{0}>", PreferencesData.get("sketchbook.path")), I18n.format("runtime.ide.path=<{0}>", PreferencesData.get("runtime.ide.path")), null);
}
showError(tr("Incorrect IDE installation folder"), tr("Your copy of the IDE is installed in a subfolder of your sketchbook.\nPlease move the IDE to another folder."), 10);
}
```
Contributor guide
Research direction
Start in BaseNoGui.java at the checks for an IDE installed under the settings folder or sketchbook, then inspect how PreferencesData reads sketchbook.path and runtime.ide.path. Trace the existing showError and showWarning usage before deciding on the message format. Done means the conflicting installation and settings paths are clearly communicated to the user.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100