bastianplsfix

Configure this Zed project to use Deno

Here's a piece of how editors actually work, because it explains everything you're about to do: Zed doesn't understand your code by itself. It consults a language server, a background program that reads what you type and supplies the feedback, formatting, and suggestions you see. Zed ships with a general-purpose TypeScript language server, and it's fine. But this project runs its TypeScript through Deno, and Deno brings its own language server that understands Deno's way of doing things. Two experts disagreeing over your code is worse than one; this step hires the right one and politely dismisses the rest.

Install the Deno extension

  1. Open Zed's Extension Gallery:
    • macOS: Command-Shift-X
    • Windows/Linux: Control-Shift-X
    • Alternative: Zed menu → Extensions
  2. Search for Deno and select the Deno extension.
  3. Choose Install and wait for confirmation.

Create the project settings

  1. In the Project Panel, right-click the examples folder and choose New Folder.
  2. Name it .zed (the dot is part of the name).
  3. Right-click .zed, choose New File, and name it settings.json.

The resulting path is .zed/settings.json. Insert this complete configuration:

{
"lsp": {
"deno": {
"settings": {
"deno": {
"enable": true
}
}
}
},
"languages": {
"TypeScript": {
"language_servers": [
"deno",
"!typescript-language-server",
"!vtsls",
"!eslint"
],
"formatter": "language_server"
}
}
}

Save the file.

Read it as: in this project, enable Deno, use it to understand TypeScript files, and use it to format them. The !-prefixed entries are the polite dismissals: they disable the other TypeScript language servers for this project so only one expert is talking. And because this lives in .zed/settings.json inside the project, it applies here only; any other project on your machine is untouched.

Trust and restart

  1. Zed may display a trust prompt, since project settings can launch tools.
  2. Choose Trust; you wrote these settings yourself, ten seconds ago.
  3. Close all Zed windows completely.
  4. Reopen the examples folder in Zed.

Your setup check

Open the Extension Gallery and confirm Deno shows as Installed.

Press Control-` to open Zed's terminal and run:

deno --version

The output should begin with deno and a version number.

Your Project Panel should show:

examples
├── .zed
│ └── settings.json
├── deno.json
└── programs

Confirm four points before proceeding:

  1. The Deno extension displays as Installed.
  2. .zed/settings.json contains the configuration shown above.
  3. The examples project is trusted in Zed.
  4. deno --version works in the project terminal.

When all four hold, your editor, runtime, and project are speaking the same language, literally. The final prerequisite is optional, a convenience I recommend but won't require.


This page follows Zed's official documentation for Deno language support and project settings.

Next (optional): Run and watch the current file from the editor →