Setup Deno language server in Zed editor

1 min read

214 words

Deno has been removed from the Zed core and is now available as an extension. To install the extension open up the command palette (default is cmd + shift + p and search for zed: extensions). There you can search for Deno.

screenshot of zed extensions tab

Unfortunately, there is still a small problem that the extension is sometimes only loaded after the TypeScript language server. This means that some "problems" are displayed that should actually work without problems with the Deno language server. We have to make sure that local settings (.zed/settings.json) or global settings (cmd + ,) are changed. For example, in TypeScript and TSX files, the Deno LSP must always be loaded first. In addition, eslint and the TypeScript language server should be deactivated. This works with the following snippet, which should be entered in the above-mentioned files (either/or).

Update: As of Zed 0.139.3 where the vtsls language server is available, it should be disabled as well.

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

Thanks for reading and have a great day,

Niklas