Apps Artificial Intelligence CSS DevOps Go JavaScript Laravel Linux MongoDB MySQL PHP Python Rust Svelte Vue

Daftar Bahasa Pemrograman dan Tool yang Mendukung Language Server Protocol (LSP)

2 min read .
Daftar Bahasa Pemrograman dan Tool yang Mendukung Language Server Protocol (LSP)

Editor modern seperti VS Code, Neovim, Sublime, atau Emacs kini semakin powerful berkat adanya Language Server Protocol (LSP). Dengan LSP, fitur seperti autocomplete, linting, code navigation, hingga refactoring bisa dinikmati lintas bahasa tanpa harus membuat sistem baru dari nol untuk tiap editor.

Kita akan membahas:

  1. Apa itu LSP dan bagaimana cara kerjanya.
  2. Bahasa pemrograman dan tool yang sudah mendukung LSP.
  3. Cara instalasi beberapa LSP populer.

1. Konsep Dasar LSP

  • LSP biasanya berupa binary (CLI tool) atau package yang harus di-install di sistem.
  • Editor (misalnya VS Code atau Neovim) akan menjalankan LSP tersebut di background.
  • Untuk menghubungkan editor dengan LSP, biasanya dibutuhkan plugin/extension tambahan.

Contoh:

  • VS Code β†’ langsung pakai extension dari marketplace.
  • Neovim β†’ biasanya via plugin manager (nvim-lspconfig).
  • Sublime / Emacs β†’ ada package masing-masing untuk integrasi.

2. Bahasa dan Tool yang Sudah Punya LSP

Berikut daftar LSP berdasarkan kategori:

πŸ”Ή Bahasa Populer

  • Go β†’ gopls
  • Python β†’ pyright, pylsp
  • JavaScript / TypeScript β†’ typescript-language-server
  • Java β†’ jdt.ls
  • C / C++ β†’ clangd, ccls
  • C# β†’ omnisharp
  • Rust β†’ rust-analyzer
  • PHP β†’ intelephense, phpactor
  • Ruby β†’ solargraph, ruby-lsp
  • Kotlin β†’ kotlin-language-server
  • Scala β†’ metals
  • Swift β†’ sourcekit-lsp
  • Dart / Flutter β†’ dart-analysis-server
  • Elixir β†’ elixir-ls
  • Haskell β†’ haskell-language-server
  • Lua β†’ lua-language-server
  • Zig β†’ zls
  • Nim β†’ nimlsp

πŸ”Ή Bahasa Web & Scripting

  • HTML β†’ vscode-html-languageserver
  • CSS / SCSS / LESS β†’ vscode-css-languageserver
  • JSON β†’ vscode-json-languageserver
  • YAML β†’ yaml-language-server
  • GraphQL β†’ graphql-language-service
  • Markdown β†’ marksman, remark-lsp

πŸ”Ή Database & Query

  • SQL β†’ sqls, pgsql-language-server
  • Prisma β†’ prisma-language-server

πŸ”Ή DevOps / Infra

  • Dockerfile β†’ dockerfile-language-server
  • Terraform (HCL) β†’ terraform-ls
  • Ansible β†’ ansible-language-server

πŸ”Ή Lain-lain

  • Clojure β†’ clojure-lsp
  • OCaml β†’ ocaml-lsp
  • F# β†’ fsautocomplete
  • Perl β†’ perl-language-server
  • R β†’ languageserver

3. Instalasi Beberapa LSP Populer

Berikut contoh instalasi untuk bahasa-bahasa yang paling sering digunakan:

Go (gopls)

go install golang.org/x/tools/gopls@latest

Binary akan tersimpan di $GOPATH/bin atau $HOME/go/bin. Pastikan path tersebut sudah masuk ke PATH.

Python (pyright atau pylsp)

Pyright (direkomendasikan, berbasis TypeScript):

npm install -g pyright

Atau Python LSP:

pip install 'python-lsp-server[all]'

JavaScript / TypeScript

npm install -g typescript typescript-language-server

C / C++ (clangd)

Linux (Debian/Ubuntu):

sudo apt install clangd -y

Fedora:

sudo dnf install clang-tools-extra

Rust (rust-analyzer)

Cara resmi via Rustup:

rustup component add rust-analyzer

Atau manual:

cargo install rust-analyzer

PHP (intelephense)

npm install -g intelephense

HTML / CSS / JSON / YAML

npm install -g vscode-langservers-extracted
npm install -g yaml-language-server

Terraform

macOS:

brew install hashicorp/tap/terraform-ls

Atau download binary dari release GitHub terraform-ls.

Penutup

Dengan menggunakan Language Server Protocol (LSP), pengalaman ngoding jadi jauh lebih konsisten lintas bahasa dan editor. Cukup install server yang sesuai, integrasikan dengan editor favorit, dan semua fitur canggih seperti autocomplete, linting, dan refactoring langsung bisa dipakai.

Lihat Juga

chevron-up