# Cloud Shell Editor interface overview

Cloud Shell Editor lets you develop, build, and debug Google Cloud
applications directly in your browser using an IDE interface. The
interface provides a IDE workspace with integrated source control,
language tooling, and access to the Cloud Shell terminal.

## View and edit files

Cloud Shell comes with a built-in code editor that allows you to
browse file directories, and view and edit files, with continued access to the
Cloud Shell. The Cloud Shell Editor is available by
default with every Cloud Shell instance, and is based on
[Code OSS](https://github.com/microsoft/vscode).

To work with the Cloud Shell Editor, follow these steps:

1. Launch the Cloud Shell Editor by clicking
   ![Code Editor Button](https://docs.cloud.google.com/static/code/docs/shell/images/open-editor.png)
   **Open Editor** on the toolbar of the Cloud Shell window. The
   editor opens above the Cloud Shell terminal window.

   **Tip:** You can also launch the Cloud Shell Editor by
   navigating to [ide.cloud.google.com](https://ide.cloud.google.com).
2. Use the side bar on the left to browse the file directories. Use the
   editor groups on the right to view and edit your files.

3. Use the activity bar on the left to toggle the editor and the
   Cloud Shell window, upload and download files, preview web
   applications on a Cloud Shell virtual machine instance, and
   view usage statistics.

   For more information about the user interface, see
   [User interface](https://code.visualstudio.com/docs/getstarted/userinterface).

## Open a file in Cloud Shell Editor

To open an existing file in Cloud Shell Editor from Cloud Shell,
run the [`cloudshell`](https://docs.cloud.google.com/shell/docs/using-cloudshell-command) command:

    cloudshell edit README-cloudshell.txt

## Upload and download files

You can manage your files with the Cloud Shell Editor Explorer.

To download a file from your Cloud Shell Editor project to your local
machine, in the Cloud Shell Editor Explorer, right-click the file and
select **Download**.

To upload a file from your local machine to your
Cloud Shell Editor project, in the Cloud Shell Editor
Explorer, right-click the empty space in the Explorer pane and select
**Upload**.

![Upload a file to Cloud Shell Editor project.](https://docs.cloud.google.com/static/shell/docs/images/upload-file-to-cloud-shell-project.png)

## Activity bar

To open the Cloud Shell Editor views, in the activity bar, click
![Cloud Code icon](https://docs.cloud.google.com/static/code/docs/vscode/images/cloudcode-icon.png)
**Cloud Code**.

From the Cloud Code view, you can expand the following views:

- Development Sessions: Monitor your Kubernetes applications with a structured logging view.
- Kubernetes: Monitor and manage your GKE and minikube resources. For more information, see [Manage Kubernetes clusters](https://docs.cloud.google.com/code/docs/shell/adding-a-cluster).
- Cloud Run: Monitor and manage your Cloud Run resources. For more information, see [Manage Cloud Run services in Cloud Run](https://docs.cloud.google.com/code/docs/shell/manage-cloud-run-services)
- Cloud APIs: Browse and enable Cloud APIs and add Cloud Client Libraries to your project. For more information, see [Manage Cloud APIs and Cloud Client Libraries](https://docs.cloud.google.com/code/docs/shell/client-libraries)
- Secret Manager: Manage secrets in Secret Manager. For more information, see [Manage secrets with Secret Manager](https://docs.cloud.google.com/code/docs/shell/secret-manager).


\* Help and feedback: Links to open walkthroughs, view documentation, change
settings, report issues or request features, view release notes, or sign
out of Google Cloud.

The activity bar also includes the following views:

- ![Explorer icon](https://docs.cloud.google.com/static/shell/docs/images/explorer-icon.png) **Explorer**: View the folders and files in your current workspace.
- ![Search icon](https://docs.cloud.google.com/static/shell/docs/images/search-icon.png) **Search**: Search your files for a string or regular expression.
- ![Debug View icon](https://docs.cloud.google.com/static/shell/docs/images/source-control-dark.png) **Source Control**: Manage application files with the Cloud Shell Editor's Git support.
- ![Debug View icon](https://docs.cloud.google.com/static/shell/docs/images/debug-icon-cs.png) **Debug**: Debug your application by setting breakpoints and inspecting variables.

## Language support

The Cloud Shell Editor supports Go, Python, Java, .NET Core, and
Node.js, 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

The Cloud Shell Editor comes with Cloud Code support.

Cloud Code provides IDE support for the full development cycle of
[Kubernetes](https://docs.cloud.google.com/shell/docs/kubernetes) and
[Cloud Run](https://docs.cloud.google.com/shell/docs/cloud-run) applications, from creating
and customizing a new application from a sample application to running your
finished application. Cloud Code also provides 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 Shell, you can also access Cloud Code commands
using the command palette; press `Cmd`/`Ctrl`+`Shift`+`P`
or click **View** \> **Command Palette** to display
available commands.

### Data Agent Kit integration

Google Cloud Data Agent Kit is integrated with Cloud Code, letting
you manage your data science and data engineering workloads directly in
Cloud Shell. To access Data Agent Kit, click the
**Google Cloud Data Agent Kit** icon in the Cloud Shell activity bar.

For more information, see [Set up and configure
settings](https://docs.cloud.google.com/data-agent-kit/configure) in the
Data Agent Kit documentation.

## Version control support

Cloud Shell Editor comes with pre-configured version control. With
Cloud Shell, you can initialize repositories, diff between file
states, stage, unstage, and commit changes.

For more information, see
[Using version control](https://docs.cloud.google.com/shell/docs/version-control).

## Workspace management

With Cloud Shell, you can manage and configure your projects as
workspaces. Workspaces usually represent your root project folder and with the
Cloud Shell Editor, you can create, open, and save workspaces as
well as customize them with project-specific settings.

For more information about working with workspaces, see
[Workspace management](https://docs.cloud.google.com/shell/docs/workspaces).

## Debugging support

Cloud Shell lets you debug your application, with full debugging
support for Go, Node.js, Python, and Java applications. You can create launch
configurations, set breakpoints, and inspect variables, all inside
Cloud Shell Editor.

Additionally, you can debug Kubernetes applications on a local cluster (like
minikube or Docker Desktop) or a remote cluster on GKE or any
other Cloud provider.

For more information, see
[Debugging with Cloud Shell](https://docs.cloud.google.com/shell/docs/debugging).

## Built-in terminal

Access your underlying Cloud Shell instance without having to leave
the editor by navigating to **Terminal** \> **New Terminal** . You can also
run multiple terminal windows by using the **Split Terminal** option.