# VSCode

## Overview

Visual Studio Code (VSCode) on Apolo is a full-featured, in-browser version of the popular IDE, Visual Studio Code. It is preinstalled with Python extensions and offers seamless MLflow integration, making it an ideal environment for developing, debugging, and managing machine learning projects. For more information about the VSCode app, as well as detailed instruction of how to use it in Apolo Console, visit the main [VSCode app](/index/apolo-console/apps/installable-apps/available-apps/vs-code.md) page.

## Managing application via Apolo CLI

VSCode can be installed on Apolo either via the CLI or the Web Console. Below are the detailed instructions for installing VSCode using Apolo CLI.

#### Install via Apolo CLI

**Step 1** — Use the CLI command to get the application configuration file template:

```bash
apolo app-template get vscode > myvscode.yaml
```

**Step 2** — Fill in the application parameters. Here is an example config file with some of those parameters:

```yaml
# Example of myvscode.yaml

template_name: vscode
template_version: latest
display_name: myvscode
input:
  preset:
    name: cpu-medium
  vscode_specific:
    override_code_storage_mount:
  extra_storage_mounts:
    mounts:
    - storage_uri:
        path: storage:my-extra-storage
      mount_path:
        path: /mnt/extra
      mode:
        mode: rw
  networking:
    http_auth: true
```

**Configuration Parameters Explained:**

1. **preset.name**: Specifies the resource preset for the service, e.g., `cpu-medium`.
2. **vscode\_specific.override\_code\_storage\_mount**: Overrides the default storage mount path for the VSCode application. Leave this field empty so you can use the default settings.
3. **extra\_storage\_mounts**: Adds additional storage mounts, allowing integration with Apolo Storage.
4. **networking.http\_auth**: Enables HTTP authentication for added security.

**Step 3** — Install the application into your Apolo project:

```bash
apolo app install -f myvscode.yaml
```

Monitor the application status transitions via CLI:

```bash
apolo app list
```

If you want to see logs of the application, use:

```bash
apolo app logs <app-id>
```

**Step 4** — To uninstall the application via CLI, use:

```bash
apolo app uninstall <app-id>
```

## References

* [Installing VSCode using Apolo Console](/index/apolo-console/apps/installable-apps/available-apps/vs-code.md)
* [Code Server project](https://github.com/coder/code-server)
* [Apolo application template management commands](/index/apolo-cli/commands/app-template.md)
* [Apolo application management commands](/index/apolo-cli/commands/app.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.apolo.us/index/apolo-concepts-cli/apps/installable-apps/available-apps/vs-code.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
