---
url: /en/build/internal-steps/vscode/go.md
description: >
  Delays when the cloud-native development entry appears, for showing the WebIDE
  / VSCode entry only after a chosen pipeline task finishes, such as installing
  dependencies or starting services first.
---
`vscode:go`

**Delays the Workspaces entry point**, so the WebIDE / VSCode entry points only appear after the
specified pipeline tasks have finished.

**When to use it**: use it when you want some preparation to finish before developers enter the
Workspaces environment - for example installing dependencies or starting services before opening
the entry point, so the environment is not still warming up when they arrive. It only affects the
timing of the entry points, not whether Workspaces itself is available.

Difference in configuring this built-in task for Workspaces:

* **Using this task**: When starting cloud-native development,
  you need to wait for this task to complete before the WebIDE and VSCode/Cursor client entry points appear.
* **Not using this task**: After the pipeline's prepare stage completes (code-server code service starts),
  the WebIDE and VSCode/Cursor client entry points will appear before the stages tasks are executed.

The difference in the timing of the appearance of the entry points mentioned above refers to the transition from the
`loading` waiting page to the entry point selection page. In reality, whether or not this task is used,
Workspaces is already available once the `code-server` code service has started.

**Note: Using this task will increase the waiting time.
If you need to delay developers' entry into the environment until certain tasks are completed, you can use this task.**

* [Applicable Events](#vscode-go-applicable-events)
* [Output Results](#vscode-go-output)
* [Configuration Examples](#vscode-go-configuration-examples)

## Applicable Events {#vscode-go-applicable-events}

* `vscode`
* `branch.create`
* `api_trigger`
* `web_trigger`

## Output Results {#vscode-go-output}

```json
{
  // WebIDE URL
  "url": ""
}
```

## Configuration Examples {#vscode-go-configuration-examples}

```yaml title=".cnb.yml"
$:
  # vscode event: specifically for starting Workspaces in the page
  vscode:
    - docker:
        # Use a custom image as the development environment;
        # if not provided, the default image
        # cnbcool/default-dev-env:latest will be used
        image: cnbcool/default-dev-env:latest
      services:
        - vscode
        - docker
      stages:
        # Wait for this task to complete before entering the development environment
        - name: pre-entry preparation
          script: ls -al
        - name: vscode go
          type: vscode:go
        # Tasks that can be executed after entering the development environment
        - name: post-entry initialization
          script: ls -al
```
