Zed 扩展
nudo Zed 扩展把 Nudo 语言服务器挂到 JavaScript / TypeScript buffer 上,作为次要 language server— —与 vtsls / typescript-language-server 并存。
前置条件
PATH上有 Node.js(或使用 Zed 内置 Node 做 npm 回退)@nudojs/lsp≥ 0.5.0 可通过下列任一方式使用:- 项目本地
node_modules/@nudojs/lsp(npm i @nudojs/lsp) - 全局安装并提供
nudo-lspbin(npm i -g @nudojs/lsp) - Zed 托管的 npm 安装(前两者都找不到时自动触发)
- 项目本地
0.5.0+ 自带 dist/server.js 与 nudo-lsp shebang 入口,并在未传 transport 参数时默认走 stdio。
安装
扩展位于独立仓库:nudojs/nudo-zed。
源码安装(开发)
git clone https://github.com/nudojs/nudo-zed
在 Zed 中:Extensions → Install Dev Extension… → 选择克隆下来的 nudo-zed 目录。
设置
{
"languages": {
"JavaScript": {
"language_servers": ["vtsls", "nudo", "..."]
},
"TypeScript": {
"language_servers": ["vtsls", "nudo", "..."]
}
},
"code_lens": "on",
"inlay_hints": { "enabled": true }
}
"..." 会保留其余已注册 language server。若需要类型感知高亮:
{
"semantic_tokens": "combined"
}
覆盖二进制路径
跳过自动发现,直接指定服务器:
{
"lsp": {
"nudo": {
"binary": {
"path": "node",
"arguments": ["/abs/path/node_modules/@nudojs/lsp/dist/server.js"]
}
}
}
}
或 PATH 上已有 nudo-lsp 时:
{
"lsp": {
"nudo": {
"binary": { "path": "nudo-lsp", "arguments": [] }
}
}
}
服务器解析顺序
扩展的 language_server_command 依次尝试:
PATH上的nudo-lsp<worktree>/node_modules/@nudojs/lsp/dist/server.js(经node启动)- Zed 托管的
npm install @nudojs/lsp,用require.resolve解析路径