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、二进制数据
相关推荐
测试员周周7 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
小辰记事本9 小时前
从零读懂RoCEv2数据包构造:从WQE到线缆上的完整旅程
服务器·网络·网络协议·rdma
在角落发呆10 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
裴东青12 小时前
10-实战:RuoYi-Cloud的自动化发布
运维·ci/cd·自动化
江公望12 小时前
Ubuntu htop命令,10分钟讲清楚
linux·服务器
哎呦,帅小伙哦12 小时前
Linux 时间:从原子钟到 clock_gettime 的每一面
linux·运维·服务器
sxgzzn12 小时前
新能源场站数智化转型:基于数字孪生与AI的智慧运维管理平台解析
大数据·运维·人工智能
张小姐的猫12 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++
CodeMartain13 小时前
Dify Windows 原生部署(无 Docker、纯本地)
运维·docker·容器
xxx1x1x13 小时前
极客向:DLL/运行库故障的底层逻辑与自动化修复方案
运维·自动化·dll文件·dll·dll修复·dll缺失·dll一键修复