Cloud Workstations comes with a default base editor that lets you write, build, test, debug, and run your applications. The base editor is built on top of the Code-OSS open source project, supports IDE extensions provided with the Open VSX Registry, and comes with the Cloud Code IDE extension pre-installed.
To get started using the Cloud Workstations base editor:
- Follow the quickstart instructions to Create a workstation configuration. When prompted to select Environment customization, select Code OSS (default) as your code editor.
Follow the quickstart instructions to Create a workstation using the configuration that you just created.
In the Google Cloud console, go to the Cloud Workstations page to launch your workstation from the browser.
The Activity bar appears to the side and you can access the views available in the Cloud Workstations base editor. These Activity bar views are as follows:
Explorer: view the folders and files in your current workspace
Search: search your files for a string or regular expression
Source Control: manage application files with the Cloud Workstations base editor's Git support
Debug: debug your application by setting breakpoints and inspecting variables
Extensions: search through a catalog of extensions that add additional features to your IDE
Cloud Code: create and deploy Google Cloud applications directly from the IDE
Settings: customize the Cloud Workstations base editor to suit your workflow
View and edit files
The built-in code editor that lets you browse file directories and view and edit files inside your workstation.
To work with the base editor, follow these steps:
Use the Activity Bar to switch between views.
Use the Editor to view and edit your files.
Use the Explorer view to browse through the file directories, upload and download files, preview web applications on a Cloud Workstations virtual machine instance, and view usage statistics.
Upload and download files and directories
To upload or download files and directories in the Code-OSS Explorer view, use any of the following methods:
Drag and drop files over the Explorer view to add it to the workspace.
Navigate to the files and directories you would like to use, right-click, and then choose Upload or Download.
The Cloud Workstations base editor supports languages such as Go, Python, Java, .NET Core, and Node.js through extensions, providing language features such as:
- Smart highlighting, code suggestions and context-based completions
- Linting and providing descriptive errors
- Code navigation (go to definitions, declarations, references, and implementations)
- Intuitive debugging support
Cloud Code integration
Cloud Code provides IDE support for the full development cycle of Kubernetes and Cloud Run applications, from creating and customizing a new application from sample applications to running your finished application. Cloud Code also supports you along the way with run-ready samples, out-of-the-box configuration snippets, and a tailored debugging experience.
Cloud Code supports the development of applications in Node.js, Python, Java, Go, and .NET Core.
In addition to the Cloud Code menu available in the status bar of Cloud Workstations, you can also access Cloud Code commands through the command palette. To open the command palette, press Control+Shift+P (or Command+Shift+P on macOS), or click View > Command Palette.
Version control support
The Cloud Workstations base editor comes with pre-configured version control. You can initialize repositories, diff between file states, stage, unstage, and commit changes. You can also use public, private, or even self-hosted repositories, as long as the repositories are accessible from the workstation.
With Cloud Workstations, you can manage and configure your projects as workspaces. Workspaces usually represent your root project folder and with the Cloud Workstations base editor, you can create, open, and save workspaces as well as customize them with project-specific settings.
Cloud Workstations lets you easily debug your application, with debugging support for Go, Node.js, Python, and Java applications. You can create launch configurations, set breakpoints, and inspect variables, all within Cloud Workstations.
Additionally, you can debug Kubernetes applications on a local cluster such as minikube or Docker Desktop, a remote cluster on GKE, or any other Cloud provider.
You can interact with your underlying development environment through the integrated terminal. Use any of the following methods to toggle the terminal view on and off:
Command+Shift+Pon macOS), or click View > Command Palette, and then enter
View: Toggle Terminal.
- Select Terminal > New Terminal.
- Select View > Terminal.
- Click Add in the terminal tab list.
To open multiple terminal windows, click Split, or press Control+Shift+5.
Manage and customize terminal tabs
If you open multiple terminals, a terminal tabs list appears on the side of the terminal view. This list contains names of open terminals.
When you select a terminal name in the list, a Split and Delete icon appear. Click on the respective icon to split or delete a terminal window.
To see additional terminal options such as Move Terminal into Editor Area, Rename, Change Color, Change Icon, and more, right-click on a terminal name.
Scroll the display
In addition to using your mouse while browser focus is on a session tab, you can scroll by pressing Control+Shift+PageUp and Control+Shift+PageDn on Windows and Linux (or Fn+Shift+Up and Fn+Shift+Down on macOS).
To customize the editor, user interface, and functional behavior, the Cloud Workstations base editor provides the following scopes for defining settings:
Machine Settings: Settings that apply globally when you connect to a Cloud Workstations virtual instance and that appear on your workstation in the
User Settings: Settings that apply globally when you connect to a Cloud Workstations virtual instance and that persist in browser storage for each workstation instance.
Workspace Settings: Settings stored inside a workspace that only apply when opening that workspace. These settings appear with your workspace files in the
The editor evaluates each settings scope respectively.