---
url: /zh/build/internal-steps/vscode/go.md
---
`vscode:go`

云原生开发中是否配置该内置任务的区别：

* \==使用该任务==：启动云原生开发时，需等待该任务执行完成，
  才会出现 WebIDE 和 VSCode/Cursor 客户端入口。
* \==不使用该任务==：流水线 prepare 阶段执行完成（code-server 代码服务启动），
  stages 任务执行前，就会出现 WebIDE 和 VSCode/Cursor 客户端入口。

上述入口出现时机差异：仅指从 `loading` 等待页到跳转入口选择页出现的时机。
实际上无论是否使用该任务，在 `code-server` 代码服务启动后，云原生开发已处于可用状态。

**注意：使用该任务会增加等待时间。如需在某些任务执行完
才允许进入云原生开发环境，可使用该任务。**

* [适用事件](#vscode-go-applicable-events)
* [输出结果](#vscode-go-output)
* [配置样例](#vscode-go-configuration-examples)

## 适用事件 {#vscode-go-applicable-events}

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

## 输出结果 {#vscode-go-output}

```json
{
  // webide url
  "url": ""
}
```

## 配置样例 {#vscode-go-configuration-examples}

```yaml title=".cnb.yml"
$:
  # vscode 事件：专供页面中启动云原生开发用
  vscode:
    - docker:
        # 使用自定义镜像作为开发环境，未传入此参数，
        # 将使用默认镜像 cnbcool/default-dev-env:latest
        image: cnbcool/default-dev-env:latest
      services:
        - vscode
        - docker
      stages:
        # 希望等该任务执行完再进入开发环境
        - name: 进入前准备
          script: ls -al
        - name: vscode go
          type: vscode:go
        # 可以在进入开发环境后再执行的任务
        - name: 进入后初始化
          script: ls -al
```
