欢迎去往我的github

语言服务器

笔记软件在2023/4/6 15:08:06推送该笔记

语言服务器与客户端

  • 语言服务器
  • 语言客户端

语言服务器运行在单独的进程有两个好处:

  • 只要能通过LSP通信,语言分析工具可以用任何语言实现。
  • 语言分析工具一般非常消耗CPU和内存,在单独的进程中运行能避免大性能开销

lsp-sample:本篇教程的主要源代码,有大量注释
lsp-multi-server-sample:lsp-sample的进阶版本,同样有大量注释,支持多目录工作区特性的语言服务器实例。

> git clone https://github.com/microsoft/vscode-extension-samples.git
> cd vscode-extension-samples/lsp-sample
> npm install
> npm run compile
> code .

安装完所有依赖然后打开lsp-sample工作,里面包含客户端和服务器的代码。下面是一个整体的lsp-sample目录结构


├── client // 语言客户端
│   ├── src
│   │   ├── test // 语言客户端 / 服务器 的端到端测试
│   │   └── extension.ts // 语言客户端入口
├── package.json // 插件配置清单
└── server // 语言服务器
    └── src
        └── server.ts // 语言服务器入口

posted @ 2023-04-08 09:04  月夜魂归  阅读(34)  评论(0编辑  收藏  举报
……