语言服务器协议Skill LanguageServerProtocol

语言服务器协议(LSP)开发技能,用于构建支持代码补全、语法高亮、定义跳转、悬停提示、代码重构等完整IDE功能的语言服务器。关键词:语言服务器协议、LSP开发、IDE插件、代码智能感知、语义分析、JSON-RPC、编程语言工具链、开发工具集成。

工具链 2 次安装 10 次浏览 更新于 2/25/2026

name: Language Server Protocol description: 实现具有完整IDE功能支持的语言服务器协议服务器的专家技能 category: 工具链 allowed-tools:

  • Read
  • Write
  • Edit
  • Glob
  • Grep
  • Bash

Language Server Protocol 技能

概述

实现具有完整IDE功能支持的语言服务器协议服务器的专家技能。

能力

  • 实现JSON-RPC传输层
  • 处理文档同步(全量和增量)
  • 实现用于语法高亮的语义标记
  • 实现带解析的代码补全
  • 实现带有类型签名的悬停信息提示
  • 实现转到定义/引用/实现
  • 实现文档符号和工作区符号
  • 实现跨文件支持的代码重命名
  • 实现代码操作和快速修复
  • 实现签名帮助

目标流程

  • lsp-server-implementation.js
  • debugger-adapter-development.js
  • error-message-enhancement.js
  • semantic-analysis.js

依赖

  • LSP规范
  • vscode-languageserver库
  • tower-lsp (Rust)

使用指南

  1. 传输层:从标准输入输出传输开始,根据需要添加TCP/WebSocket支持
  2. 增量同步:实现增量文档同步以提高性能
  3. 缓存:缓存分析结果并在文档更改时使其失效
  4. 容错性:优雅地处理格式错误的文档
  5. 进度报告:为长时间运行的操作报告进度

输出模式

{
  "type": "object",
  "properties": {
    "capabilities": {
      "type": "array",
      "items": { "type": "string" }
    },
    "transportType": {
      "type": "string",
      "enum": ["stdio", "tcp", "websocket"]
    },
    "documentSync": {
      "type": "string",
      "enum": ["full", "incremental"]
    },
    "generatedFiles": {
      "type": "array",
      "items": { "type": "string" }
    }
  }
}