I may be the only person who wishes for this particular enhancement but I think it warrants
mentioning anyway.
I have several microprocessors situated on my homestead that monitor different outbuildings and are accessible through the local LAN. Some of these installations are using processors that are not easily removable unfortunately, hindsight being 20-20.
I use a little Dell Latitude 2100 running Windows 10 with IDE 1.8.19 to field load microprocessors with occassional software updates. I know OTA is out there but I have never went down that rabbit hole yet.
To say the DELL notebook computer is a tad slow is an understatement. It has been on the market for over a decade. It can take nearly 20-30 minutes to compile an INO file of any size beyond a simple BLINK routine on an ESP.
The issue for me is that when I am preparing to upload a processor in the field I have to stand there with all attentiveness and wait for the compile to end and the upload to begin. With an ESP32 a button press is necessary to link the IDE & the ESP. If you miss the 10-15 second window to trigger the link the whole process must be restarted.
I was wondering about two things:
Could an "Upload Prompt" be a Preferences addition that allows the user to specify whether they want to use a "time to upload" prompt upon compile completion? It would be an option.
Or could there be a way to generate the compiled code on another machine and then simply transfer that code over to your field PC IDE and upload that directly?
I do not envision these additions necessarily being a major software write so implementing it might not be a major time investment.
At the least it is "food for thought" ....
Copy the .bin files from the paths shown in the upload command to the "field PC".
If looking for it with your file manager or command line, note that the AppData folder is hidden by default. On Windows "File Explorer", you can make it visible by opening the "View" menu, then checking the box next to "ā Hidden items".
Select the entire upload command in the output panel of Arduino IDE.
Press Ctrl+C.
This will copy the command to the clipboard.
Open any text editor.
Press Ctrl+V.
This will paste the copied command into the editor.
If you have a different username on the "field PC", modify the username component of the path to esptool.exe.
In my example command, the path is like this:
Modify the paths of the .bin files in the command to their location on the "field PC".
Save the file in the text editor.
Move the saved text file to the "field PC".
Uploading
Open the text file containing the upload command on the "field PC" in any text editor.
Modify the port in the --port flag of the command to the port of the ESP32 board you want to upload to.
Select the full command in the text editor.
Press Ctrl+C.
Click the Windows "Start" button.
The Windows "Start" menu will open.
Type terminal in the search field of the "Start" menu.
Select "Terminal" from the search results.
A "Windows PowerShell" window will open.
Type & at the PowerShell prompt.
Press Ctrl+V.
This will paste the copied command into the PowerShell prompt.
Press the Enter key.
The compiled .bin files should now be uploaded to the ESP32 board. You can repeat the above "Uploading" procedure for each of the other boards you want to upload to.
This is not the case with any of the ESP32s that I use. Which ESP32 boards are you using ?
As to your second question, the IDE allows you to export the compiled binary file which could then be uploaded to a board or board without the need to recompile the code. This is not a process that I am familiar with but I am sure that it is possible