Files
awesome-copilot/skills/lsp-setup/references/lsp-servers.md
Bruno Borges c6590f51ca Add lsp-setup skill for configuring LSP servers in Copilot CLI
Adds a new skill that helps users install and configure Language Server
Protocol servers for GitHub Copilot CLI. Includes:

- Interactive workflow: detect OS, install server, write config, verify
- Bundled reference with 14 languages (Java/jdtls, TypeScript, Python,
  Go, Rust, C/C++, C#, Ruby, PHP, Kotlin, Swift, Lua, YAML, Bash)
- Per-OS install commands and ready-to-use lsp-config.json snippets
- Support for both user-level and repo-level configuration

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-02 15:20:11 -04:00

8.6 KiB

Known LSP Servers for Copilot CLI

Reference data for the lsp-setup skill. Each section contains install commands per OS and a ready-to-use config snippet.


TypeScript / JavaScript

Server: typescript-language-server

Install

OS Command
Any npm install -g typescript-language-server

Config snippet

{
  "typescript": {
    "command": "typescript-language-server",
    "args": ["--stdio"],
    "fileExtensions": {
      ".ts": "typescript",
      ".tsx": "typescriptreact",
      ".js": "javascript",
      ".jsx": "javascriptreact"
    }
  }
}

Java

Server: Eclipse JDT Language Server (jdtls)

Requires Java 21+ on JAVA_HOME or $PATH.

Install

OS Command
macOS brew install jdtls
Linux Check distro repos for jdtls or eclipse.jdt.ls; alternatively download from https://download.eclipse.org/jdtls/milestones/
Windows Download from https://download.eclipse.org/jdtls/milestones/ and add bin/ to PATH

On macOS with Homebrew, the binary is installed as jdtls on $PATH.

Config snippet

{
  "java": {
    "command": "jdtls",
    "args": [],
    "fileExtensions": {
      ".java": "java"
    }
  }
}

Note

: The jdtls wrapper script handles --stdio mode internally. If using a manual install, you may need to invoke the launcher jar directly — see the jdtls README for details.


Python

Server: pylsp (python-lsp-server)

Install

OS Command
Any pip install python-lsp-server
macOS brew install python-lsp-server

Config snippet

{
  "python": {
    "command": "pylsp",
    "args": [],
    "fileExtensions": {
      ".py": "python"
    }
  }
}

Alternative: Pyright

Server: pyright (via basedpyright or pyright)

OS Command
Any npm install -g pyright
Any pip install basedpyright (for basedpyright fork)
{
  "python": {
    "command": "pyright-langserver",
    "args": ["--stdio"],
    "fileExtensions": {
      ".py": "python"
    }
  }
}

Go

Server: gopls

Install

OS Command
Any go install golang.org/x/tools/gopls@latest
macOS brew install gopls

Config snippet

{
  "go": {
    "command": "gopls",
    "args": ["serve"],
    "fileExtensions": {
      ".go": "go"
    }
  }
}

Rust

Server: rust-analyzer

Install

OS Command
Any rustup component add rust-analyzer
macOS brew install rust-analyzer
Linux Distribution package or rustup
Windows rustup component add rust-analyzer or download from GitHub releases

Config snippet

{
  "rust": {
    "command": "rust-analyzer",
    "args": [],
    "fileExtensions": {
      ".rs": "rust"
    }
  }
}

C / C++

Server: clangd

Install

OS Command
macOS brew install llvm (clangd included) or Xcode command line tools
Linux apt install clangd / dnf install clang-tools-extra
Windows Download LLVM from https://releases.llvm.org/

Config snippet

{
  "cpp": {
    "command": "clangd",
    "args": ["--background-index"],
    "fileExtensions": {
      ".c": "c",
      ".h": "c",
      ".cpp": "cpp",
      ".cxx": "cpp",
      ".cc": "cpp",
      ".hpp": "cpp",
      ".hxx": "cpp"
    }
  }
}

C# (.NET)

Server: OmniSharp or csharp-ls

Install (csharp-ls)

OS Command
Any dotnet tool install --global csharp-ls

Config snippet

{
  "csharp": {
    "command": "csharp-ls",
    "args": [],
    "fileExtensions": {
      ".cs": "csharp"
    }
  }
}

Ruby

Server: solargraph

Install

OS Command
Any gem install solargraph

Config snippet

{
  "ruby": {
    "command": "solargraph",
    "args": ["stdio"],
    "fileExtensions": {
      ".rb": "ruby",
      ".rake": "ruby",
      ".gemspec": "ruby"
    }
  }
}

PHP

Server: intelephense

Install

OS Command
Any npm install -g intelephense

Config snippet

{
  "php": {
    "command": "intelephense",
    "args": ["--stdio"],
    "fileExtensions": {
      ".php": "php"
    }
  }
}

Kotlin

Server: kotlin-language-server

Install

OS Command
macOS brew install kotlin-language-server
Any Download from GitHub releases and add to PATH

Config snippet

{
  "kotlin": {
    "command": "kotlin-language-server",
    "args": [],
    "fileExtensions": {
      ".kt": "kotlin",
      ".kts": "kotlin"
    }
  }
}

Swift

Server: sourcekit-lsp (bundled with Swift toolchain)

Install

OS Command
macOS Included with Xcode; binary at xcrun sourcekit-lsp
Linux Included with Swift toolchain; install from https://swift.org

Config snippet

{
  "swift": {
    "command": "sourcekit-lsp",
    "args": [],
    "fileExtensions": {
      ".swift": "swift"
    }
  }
}

On macOS you may need to use the full path: /usr/bin/sourcekit-lsp or set command to xcrun with args: ["sourcekit-lsp"].


Lua

Server: lua-language-server

Install

OS Command
macOS brew install lua-language-server
Linux Download from GitHub releases
Windows Download from GitHub releases

Config snippet

{
  "lua": {
    "command": "lua-language-server",
    "args": [],
    "fileExtensions": {
      ".lua": "lua"
    }
  }
}

YAML

Server: yaml-language-server

Install

OS Command
Any npm install -g yaml-language-server

Config snippet

{
  "yaml": {
    "command": "yaml-language-server",
    "args": ["--stdio"],
    "fileExtensions": {
      ".yaml": "yaml",
      ".yml": "yaml"
    }
  }
}

Bash / Shell

Server: bash-language-server

Install

OS Command
Any npm install -g bash-language-server

Config snippet

{
  "bash": {
    "command": "bash-language-server",
    "args": ["start"],
    "fileExtensions": {
      ".sh": "shellscript",
      ".bash": "shellscript",
      ".zsh": "shellscript"
    }
  }
}