1---
2title: Deno
3description: "Configure Deno language support in Zed, including language servers, formatting, and debugging."
4---
5
6# Deno
7
8Deno support is available through the [Deno extension](https://github.com/zed-extensions/deno).
9
10- Language server: [Deno Language Server](https://docs.deno.com/runtime/manual/advanced/language_server/overview/)
11
12## Deno Configuration
13
14To use the Deno Language Server with TypeScript and TSX files, you will likely wish to disable the default language servers and enable Deno.
15
16Configure language servers and formatters in Settings ({#kb zed::OpenSettings}) under Languages > JavaScript/TypeScript/TSX, or add to your settings file:
17
18```json [settings]
19{
20 "lsp": {
21 "deno": {
22 "settings": {
23 "deno": {
24 "enable": true
25 }
26 }
27 }
28 },
29 "languages": {
30 "JavaScript": {
31 "language_servers": [
32 "deno",
33 "!typescript-language-server",
34 "!vtsls",
35 "!eslint"
36 ],
37 "formatter": "language_server"
38 },
39 "TypeScript": {
40 "language_servers": [
41 "deno",
42 "!typescript-language-server",
43 "!vtsls",
44 "!eslint"
45 ],
46 "formatter": "language_server"
47 },
48 "TSX": {
49 "language_servers": [
50 "deno",
51 "!typescript-language-server",
52 "!vtsls",
53 "!eslint"
54 ],
55 "formatter": "language_server"
56 }
57 }
58}
59```
60
61See [Configuring supported languages](../configuring-languages.md) in the Zed documentation for more information.
62
63<!--
64TBD: Deno TypeScript REPL instructions [docs/repl#typescript-deno](../repl.md#typescript-deno)
65-->
66
67## Configuration completion
68
69To get completions for `deno.json` or `package.json`, add the following to your settings file ([how to edit](../configuring-zed.md#settings-files)). For more details, see [JSON](./json.md).
70
71```json [settings]
72"lsp": {
73 "json-language-server": {
74 "settings": {
75 "json": {
76 "schemas": [
77 {
78 "fileMatch": [
79 "deno.json",
80 "deno.jsonc"
81 ],
82 "url": "https://raw.githubusercontent.com/denoland/deno/refs/heads/main/cli/schemas/config-file.v1.json"
83 },
84 {
85 "fileMatch": [
86 "package.json"
87 ],
88 "url": "https://www.schemastore.org/package"
89 }
90 ]
91 }
92 }
93 }
94 }
95```
96
97## DAP support
98
99To debug deno programs, add this to `.zed/debug.json`
100
101```json [debug]
102[
103 {
104 "adapter": "JavaScript",
105 "label": "Deno",
106 "request": "launch",
107 "type": "pwa-node",
108 "cwd": "$ZED_WORKTREE_ROOT",
109 "program": "$ZED_FILE",
110 "runtimeExecutable": "deno",
111 "runtimeArgs": ["run", "--allow-all", "--inspect-wait"],
112 "attachSimplePort": 9229
113 }
114]
115```
116
117## Runnable support
118
119To run deno tasks like tests from the ui, add this to `.zed/tasks.json`
120
121```json [tasks]
122[
123 {
124 "label": "deno test",
125 "command": "deno test -A '$ZED_FILE'",
126 "tags": ["js-test"]
127 }
128]
129```
130
131## See also:
132
133- [TypeScript](./typescript.md)
134- [JavaScript](./javascript.md)