ChromiumIDE (formerly known as CrOS IDE) is a VSCode Extension for Chromium and ChromiumOS development. We currently support only internal developers at Google.
See go/chromiumide for our internal landing page.
Googlers should read go/chromiumide instead
What follows is the guide for curious external developers. Note that we can't guarantee the extension to work in external environment, and our support for that is as-is basis.
For developing ChromiumOS, you need a ChromiumOS chroot. If you are a new member and don't have it, please follow the ChromiumOS Developer Guide and set up your development environment, so you can enter the chroot via cros_sdk.
In this document, we assume ChromiumOS source code is in ~/chromiumos
.
First, you need to install Visual Studio Code (VSCode) on your machine.
If you use remote setup, for example gMac laptop, you will need Remote development extension.
Install Remote development extension on the VSCode. Click the lower left “Open a Remote Window” button and select [Connect to Host...] command (alternatively directly choose this command from the command palette), select your remote machine, and open your working directory under ~/chromiumos/
.
Open View → Extensions in VSCode (Ctrl+Shift+X), search ChromiumIDE and install it.
Finally, open a folder with sources to let ChromiumIDE detect the chroot. Select File → Open Folder..., choose, for example, ~/chromiumos/src/platform2
, and you are good to go.
Code completion in C++ is available in platform2 packages which support USE=compdb_only
. Press F12 to Go to Definition, Ctrl+F12 to Go to Implementation, and so on.
ChromiumIDE provides a view to manage your test devices. With the built-in VNC client, you can control a device remotely.
ChromiumIDE exposes lint errors found by cros lint
and similar tools in C++, Python, shell, and GN files. We run linters every time a file is saved, and mark errors with squiggly lines in the editor and show them in the Problems box and on mouse hover. This feature brings to your attention errors which block repo upload
.
ChromiumIDE shows which packages you are working on and lets you run cros_workon start/stop
directly from the UI. Access it by clicking on CrOS Development activity bar (Chrome icon). Use +/– buttons to start and stop working on packages.
You can easily open the current file in Code Search from the context menu in a text editor. Go to settings to choose whether to chose which instance to use (public, internal, or Gitiles).