LSP、DAP语言服务器

lsp语言服务器

  • pyright,python语言服务器
  • gopls,golang语言服务器
  • java language server(Red Hat)
  • clangd

lsp语言服务器提供的服务

  • 文档同步接口:文档的打开关闭修改事件监控
  • 语言接口:代码补全,悬停提示,定义和引用,符号查询,重构,语法语义诊断,代码插和签名帮助
  • 文件空间管理接口:代码地址管理
  • 类层次和调用关系
  • 语义标记接口

lsp服务器接入

以clangd为例,官方文档
https://clangd.llvm.org/

  • textDocument/switchSourceHeader当前文件切换
  • textDocument/clangd.fileStatus文件状态
  • initializationOptions.compilationDatabasePath编译代码(clangd不直接编译,调用clang++编译代码)
  • textDocument/symbolInfo符号信息

DAP服务器

  • lldb
  • gdb
  • js-debug
  • debugpy
  • java-debug
  • delve-dap

大多数dap服器没有restful接口,主流的dap通过以下两种方式传递数据

  • cli命方式,通过子进程cout、cin重定向操作
  • websocket或者rpc传输json、二进制数据
相关推荐
卤炖阑尾炎14 分钟前
PostgreSQL 日常运维全指南:从基础操作到备份恢复
运维·数据库·postgresql
handsomestWei1 小时前
Docker引擎API接入配置
运维·http·docker·容器·api
Tingjct1 小时前
Linux常用指令
linux·运维·服务器
daad7771 小时前
wifi_note
运维·服务器·数据库
IT界的老黄牛1 小时前
Linux 压缩命令实战:tar、gzip、bzip2、xz、zstd 怎么选?一篇讲清楚
linux·运维·服务器
IT WorryFree2 小时前
飞塔防火墙与第三方设备进行IPSEC故障诊断期间,用户可能会观察到以下错误:
linux·服务器·网络
12345,catch a tiger2 小时前
虚拟机ubuntu安装Vmware Tools
linux·运维·ubuntu
✎ ﹏梦醒͜ღ҉繁华落℘2 小时前
Makefile -GNU和MakeFile关系(二)
服务器·gnu
程序猿编码4 小时前
一个授予普通进程ROOT权限的Linux内核级后门:原理与实现深度解析
linux·运维·服务器·内核·root权限
小夏子_riotous4 小时前
openstack的使用——9. 密钥管理服务Barbican
linux·运维·服务器·系统架构·centos·云计算·openstack