the Chromium logo

The Chromium Projects

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

Sublime Text

Briefly look over go/sublime for instructions on how to install a licensed Sublime, but do not read further in its setup instructions. Instead, read Using Sublime Text as your IDE. This document is critical to follow if you wish to use Sublime, because without it, Sublime will unnecessarily search over thousands of Chrome build artifacts and run painfully slow.

vim

Emacs

ChromiumOS

See go/cros-ide.

Google3: Cider

You can use Cider-V for editing G3 code such as G3Docs and Finch configs. It cannot be used for Chromium/ChromiumOS development.

Useful Chrome extensions

Most of your work outside of developing will be done in the Chrome browser. go/useful-internal-chrome-extensions contains a curated list of chrome extensions to improve your productivity. Here are a few that are recommended:

Also check out go/lifehacks for 250 life hacks for your work and personal life!

Tip: You can shorten links to Gerrit CLs with crrev/c/{id}, to Critique CLs with cl/{id}, and Buganizer issues with b/{id}!

Working from home

Check out the go/newtochrome-wfh-tips doc for tons of WFH tips and a bushel of useful go/ links!

Most developers on the team connect to their build machines over go/crd and run their editors on their build machines.

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.