The @theia/toolbar extension contributes a global toolbar to the application shell. The toolbar supplements the Command Palette and allows users to easily add, remove, and rearrange toolbar items to their liking. The toolbar is hidden by default and ships with a default layout which can be overridden by downstream applications. Extenders can also contribute custom widgets to the toolbar through a contribution point.
When a new item is added to the toolbar, a dialog appears showing all installed icons. This feature allows users to easily select a suitable icon for their toolbar item without needing to know the icon names in advance. The dialog visually displays available icons from both the FontAwesome and Codicons libraries.
The update-icons.js script collects the icon strings for FontAwesome and Codicons from the currently installed dependencies and saves them to temporary JSON files. The content is then copied to codicon.ts and font-awesome-icons.ts to update the icon lists.
A util npm script is available: npm run update:icons.
An example toolbar custom widget and layout override can be found in here.
"Theia" is a trademark of the Eclipse Foundation https://www.eclipse.org/theia