Tools used
To help acquaint you with ChromeOS development, here are a list of the tools used by the System Services team.
Text editors / IDEs
Chromium
Unfortunately, as of Jan 2023, there is no IDE that supports Chromium C++. However, the text editors described below have some support for niceties like auto-complete and references. Pick whichever editor you prefer.
VSCode
- go/
vscode - go/
vscode/ remote_development_via_web (Nicer than using Chrome Remote Desktop when working remotely) - External site
Sublime Text
Briefly look over go/
vim
- go/
vim - External site
Emacs
- go/
emacs - External site
ChromiumOS
See go/
Google3: Cider
You can use Cider-V for editing G3 code such
as G3Docs and Finch configs. It cannot be used for
Chromium/
Useful Chrome extensions
Most of your work outside of developing will be done in the Chrome browser.
go/
- go/
cs-rainbow-blame color-codes the blame layer in Chromium CodeSearch. - Gerrit Monitor notifies you when your action is required on a Gerrit CL.
- go/
get-gvc-labs Adds helpful tools to Meet, including Meetmoji reactions and speaking time. - G3 Notifications notifies you when your action is required on an issue or a Critique CL.
- go/
kodify allows you to beautifully format code blocks in your design docs. - go/
snipit allows you to easily share screenshots for debugging or other purposes. - Chromium CL Finder shows the first landed version on Gerrit for Chromium CLs. See Understanding ChromeOS Releases for why you'd want to use this.
- Linkable provides alternate, short-form URLs to easily use in emails, bugs, or documents.
- Don't Be Late automatically opens Google Meet rooms in a new tab when it starts.
Also check out go/
Tip: You can shorten links to Gerrit CLs with crrev/
Working from home
Check out the go/
Most developers on the team connect to their build machines over go/
Another option to CRD is to connect to your build machine using the "Secure Shell App." Then you can use terminal multiplexer and a terminal-based editor, you can get 99% of the same functionality with lower bandwidth requirements.
2 developers run VSCode on their local laptops and remotely connecting to their workstations from VSCode itself (this approach does not work from a Chromebook as the system permissions don't allow it).
Terminal multiplexers
These tools allow you to switch between multiple programs in one terminal.