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、二进制数据
相关推荐
写代码的学渣10 分钟前
Linux systemd 开机启动日志逐行详细解析报告
linux·运维·服务器
田里的水稻35 分钟前
EP_XML\JSON配置文件和YAML
xml·运维·人工智能·机器人·自动驾驶·json
阿成学长_Cain1 小时前
Linux telinit 命令详解:运行级别切换|关机重启|系统维护一站式掌握
linux·运维·前端·网络
QXWZ_IA1 小时前
油气储罐沉降监测用什么技术方案最好?千寻自动化监测+次声波泄漏方案
运维·科技·自动化·能源
NiceCloud喜云2 小时前
Anthropic 一周三连发:Cowork 多端、Fable 5 按需付费、J-space 论文的技术解读
java·服务器·网络·人工智能·ai
qeen872 小时前
【Linux】指令补充与shell的简单介绍
linux·运维·服务器
DLYSB_3 小时前
《从零开始搭建机房轻量化“声光告警”系统:基于 HTTP API 与 TTS 的运维实践》
运维·网络协议·http·报警灯
阿成学长_Cain3 小时前
Linux talk 命令详解:经典终端实时聊天工具,无需图形界面即可对话
linux·运维·前端
一拳一个娘娘腔4 小时前
【后渗透-Linux篇】Linux 提权与逃逸:从 www-data到 root的蜕变
linux·运维·服务器
jieyucx4 小时前
零基础通关:Shell 编程核心语法全景详解
linux·运维·编程·shell