# The workspace editor Every DevPlace workspace opens a full editor in your browser. It is branded DevPlace, it starts a coding agent for you, and it is configured from your DevPlace account rather than from inside the editor. Open one from a project's **Workspace** page, or with the **Editor** button on the project itself once the editor is ready. ## Starting a workspace The workspace page always shows the real state of your workspace: **Stopped**, **Starting**, **Ready**, **Stopping**, **Crashed** or **Suspended**. Press **Start** and the button turns into a spinner reading *Starting the editor* while the container boots and the editor loads. The page watches the workspace for you, so the moment the editor answers the spinner becomes **Open editor** on its own, without a reload. The same rule gates the **Editor** button on the project page: it appears only when the editor will actually open. A start usually takes a few seconds. **Stop** stays available throughout, so a workspace that is still starting can always be stopped again. ## What opens on boot When your workspace starts, two terminals open at the bottom of the window: - **DevPlace Code** runs [`dpc`](/docs/getting-started-vibing.html), the coding agent that ships in every workspace. It has focus, so you can type a request straight away. Every token it spends is metered against your own DevPlace account. - **pravda@workspace** is an ordinary login shell, so the Python, Rust, Nim and Swift toolchains are all on your `PATH`. New terminals you open later are plain shells. To start another agent, pick **DevPlace Code** from the terminal dropdown, or run the command **DevPlace: Start DevPlace Code**. The first time a workspace boots it also opens the **DevPlace welcome page** beside the terminals. It introduces the workspace and DevPlace Code: what `dpc` can do (its 900k token context, vision for screenshots and mockups, parallel sub-agents, deep research with cited sources, and its safety gates), a few prompts to try, and buttons that focus the agent terminal, start the tour, show your public tunnels and open your workspace settings. It is shown once per workspace; reopen it any time with **DevPlace: Show the welcome page**, or read more on the [DevPlace Code site](https://dpc.app.molodetz.nl/). The editor's own built-in chat assistant and VS Code's own welcome page are switched off: `dpc` is the assistant here, and it runs on your DevPlace account. The files `dpc` keeps for itself (`.dpc/` and `dpc.log`) stay in the container and are never copied into your project. You can turn either terminal off. See **Your preferences** below. ## The terminal panel `dpc` lives in the terminal panel at the bottom of the window, so its height matters. The **Terminal panel** preference sets it: | Preset | Height | |---|---| | Short | A fifth of the window, roughly | | Normal | A third of the window, the default | | Tall | About half the window | | Maximized | The whole editor area | The preset is applied the first time a workspace boots and again whenever you change it. Between those moments the height is yours: drag the panel border and DevPlace keeps that size across restarts. ## Every workspace is trusted VS Code normally opens an unfamiliar folder in **Restricted Mode**, which disables tasks, debugging and most extensions until you click to trust it. DevPlace turns that off: your workspace is yours, so it is trusted from the first second and nothing prompts you. **This has a real consequence, and you should know it.** Automatic tasks are enabled too, so if a project you open contains a `.vscode/tasks.json` with a `"runOn": "folderOpen"` task, that task runs when the folder opens. If you are about to open code you did not write and do not trust, read that file first. An administrator can restore Restricted Mode for the whole site from the workspace service settings. ## Size Four separate things have a size, and they are set in two different places. | What | Set by | Where | |---|---|---| | Editor font size, terminal font size, zoom | You | Your workspace page | | Editor layout and terminal panel size | You | Your workspace page | | How the editor opens (tab or sized window) | You | Your workspace page | | CPU, memory and disk | An administrator | Your workspace quota | Your own preferences follow you into every workspace you open. The container size is part of your quota and is shown on the same page so you always know what you have. ## Your preferences The **Editor** card on your workspace page holds them all: - **Theme** - DevPlace Dark, DevPlace Light, or leave it to you (pick any theme from inside the editor and DevPlace will not touch it again). - **Layout** - Standard, Terminal focus, or Zen. - **Terminal panel** - Short, Normal, Tall or Maximized (see **The terminal panel** above). - **Editor font size**, **Terminal font size**, **Zoom level**. - **Agent on boot** and **Shell on boot**. - **Open editor in** - a new tab, a sized window, or a fullscreen window, with the width and height for the sized case. Every field has a **Site default** option. Choosing it removes your preference and lets the administrator's value apply again, including any future change to it. **Reset to site defaults** does that for all of them at once. Over the API and through Devii the same rule applies field by field: only the fields you send are changed, and a field you send as empty or zero goes back to inheriting. ### They apply on the next start Editor settings are read when the workspace container boots. After you save, the page tells you if a restart is needed and gives you the buttons to do it. ### DevPlace never overwrites a setting you changed yourself If you change something inside the editor, that value is yours from then on. DevPlace only writes a setting it wrote itself last time, so a change to the site default reaches everyone who has not expressed an opinion and no one who has. ## Doing it from Devii Devii can read and change these for you: - *"what is my workspace editor set to"* runs `workspace_editor_get`. - *"make my workspace editor font 18 and use the light theme"* runs `workspace_editor_set`. It will show you the exact values and ask before saving. ## Commands inside the editor Press `F1` and type `DevPlace` for the full list: | Command | What it does | |---|---| | **DevPlace: Start DevPlace Code** | Opens another `dpc` terminal | | **DevPlace: Open project on DevPlace** | Your project page | | **DevPlace: Open workspace settings** | Your workspace page | | **DevPlace: Show public tunnels** | Pick one of your live public addresses | | **DevPlace: Open the DevPlace editor guide** | This page | | **DevPlace: Show the welcome page** | The welcome page that opened on the first boot | | **DevPlace: Open the Get started walkthrough** | The five-step tour of the workspace | ## Publishing a port from the editor Forward a port in the editor's **Ports** view and DevPlace publishes it for you. The moment you forward it, the editor registers the port with DevPlace, which creates the tunnel, orders its HTTPS certificate and answers with the public address - the same address the Ports view shows you. Publishing counts against your tunnel quota, so a port DevPlace refuses is reported back in the editor with the reason. Two things to know: - The address serves HTTPS as soon as the certificate is issued, which takes a few seconds. Until then your browser warns about the certificate name. - Un-forwarding the port in the editor does **not** remove the tunnel. Public addresses are removed deliberately, on your workspace page or by asking Devii, so a restarted dev server never silently loses its link. ## Related - [Get started with vibing](/docs/getting-started-vibing.html) - the container runtime, the agents, and publishing what you build. - The **Dev Workspaces** API group for the same settings over HTTP.