I've got a little spinny icon in the bottom left and it say's Building sketch. It comes and goes with some warning that says I'm offline. What's up there? I don't want the IDE to contact the internet. How do I turn that off.
Hi @Delta_G
Arduino IDE's "code aware" features (AKA "intellisense") such as code completion, "Go To Definition", and the editor hover are provided by a language server. This language must have an understanding of your entire sketch program, which means processing the sketch (though not a full compilation) after every change.
The "Building sketch" or "indexing" messages you see at the left side of the status bar are indicating when this processing is happening.
Arduino IDE does warn on startup when you are not connected to the Internet, since the features such as Library Manager that depend on the Internet will not be available. However, the "offline" you are referring to is probably referring to the Arduino IDE "backend" internal connection. The Arduino IDE application is actually multiple processes with distinct duties which run independently, but communicating with each other.
The communication between the backend and the frontend is done via JSON-RPC over a websocket connection. Despite the "web" in "websocket", the Internet is not involved. It is a communication internal to your computer without any use of an external network connection.
If that connection is lost, the frontend considers the backend to be "offline". This state is indicated because the essential functionality provided by the backend will be unavailable while the frontend is unable to communicate with it.
There is more information about the Arduino IDE 2.x application architecture here:
https://github.com/arduino/arduino-ide/blob/main/docs/development.md#architecture-overview
If you mean the language server progress indicator, I'm not sure whether it is possible to turn it off by itself. You can hide the entire status bar where it is shown:
- Press the Ctrl+Shift+P keyboard shortcut (Command+Shift+P for macOS users) to open the "Command Palette".
A menu will appear on the editor toolbar:
- Select the "Preferences: Open Settings (UI)" command from the menu.
ⓘ You can scroll down through the list of commands to find it or type the name in the field.
A "Preferences" tab will open in the Arduino IDE main panel. - Type
workbench.statusBar.visible
in the "Search Settings" field of the "Preferences" tab. - Uncheck the box under the "Workbench › Status Bar: Visible" setting.
- Close the Preferences tab by clicking its X icon.
If you mean the backend "offline" indicator, I'm also not sure whether this can be turned off on its own. You probably wouldn't want to suppress this important information anyway.
It is normal to see it momentarily in cases where the connection between frontend is in the process of being reestablished, such as when you wake your computer while the IDE is running. If you are seeing the "offline" indicator at other times when there is no reason why the connection should have been lost, this indicates some problem that should be investigated.
If you mean the contacting of the Internet, I think this was a misunderstanding that I have cleared up above.
I think I understand. So Arduino IDE is not using internet without me asking it to.
Arduino IDE does make autonomous use of the Internet:
On the first run after a fresh installation, the "Arduino AVR Boards" platform is installed if it is not already.
On the first run after a fresh installation, the latest versions of the "built-in" libraries are installed.
A "channel update info file" is downloaded on startup to allow Arduino IDE to know when a newer version is available and offer updates.
The latest version of the "built-in" serial-discovery, mdns-discovery, and serial-monitor, and ctags tools are downloaded on startup if the tools are not installed, or the installed version is outdated.
The firmware index is downloaded on startup to allow updating to the latest firmware using the IDE's The "Firmware Updater" feature of Arduino IDE.
The library index is downloaded to allow the list of available libraries to be shown in Library Manager.
The primary package index and any other package indexes you have added to the "Additional Boards Manager URLs" preferences field are downloaded to allow the list of available boards platforms to be shown in Boards Manager.
Requests are sent to the "Arduino builder API" for discovered ports not identified as a board of an installed platform so that Arduino IDE can automatically offer installation of missing platforms.
The Microsoft JSON language support VS Code extensions send telemetry data to ds.services.visualstudio.com (tracked by the IDE developers at arduino/arduino-ide#57
)
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.