LSP
Apa itu ini
Bayangkan pemeriksa ejaan dan tata bahasa yang tak kenal lelah untuk kode — yang menggarisbawahi kesalahan saat kamu mengetik. Itulah yang diberikan oleh , Language Server Protocol (Protokol Server Bahasa): cara umum bagi editor dan alat bantu untuk mendapatkan kecerdasan kode secara langsung (live) tentang sebuah proyek. Sebuah "language server" (server bahasa) membaca kodemu saat kamu bekerja dan melaporkan kesalahan, informasi tipe data, saran pelengkapan otomatis (autocomplete), dan tautan "go to definition" (lompat ke definisi). Protokol ini berarti satu language server bisa menggerakkan banyak editor sekaligus — garis bergelombang merah yang sama yang kamu lihat di VS Code juga bisa menggerakkan alat baris perintah (command-line) atau agen coding AI.
Kekuatan
- Memberikan umpan balik nyata yang paham bahasa pemrograman: kesalahan tipe data dan referensi yang tidak terdefinisi secara aktual, bukan sekadar tebakan.
- Terstandardisasi, jadi satu server bisa bekerja di banyak editor dan alat.
- Diperbarui saat kamu mengetik, jadi masalah muncul ke permukaan seketika, bukan baru saat proses build (kompilasi).
- Menggerakkan fitur sehari-hari yang diandalkan para developer: pelengkapan otomatis, dokumentasi saat hover (arahkan kursor), rename (ganti nama), lompat ke definisi.
Kompromi (trade-off)
- Setiap bahasa pemrograman butuh servernya sendiri, dan kualitasnya berbeda-beda antar server.
- Server bisa berat memakai memori dan CPU (prosesor komputer) pada proyek besar.
- Ia hanya memberi tahu apa yang salah, bukan cara memperbaikinya — interpretasinya tetap ada di tanganmu (atau AI).
- Pengaturannya bisa merepotkan; menyiapkan server yang tepat untuk sebuah proyek butuh sedikit ketelitian.
Kapan menggunakannya
Kapan pun kamu ingin umpan balik yang bisa dipercaya dan real-time (langsung saat itu juga) tentang kode saat ditulis — yang pada dasarnya berarti selalu. Untuk vibe coding, ini paling penting sebagai sumber sinyal: diagnostik yang dihasilkan language server adalah persis apa yang kamu inginkan mengalir kembali ke dalam loop (siklus kerja).
Kecocokan dengan vibe coding
LSP adalah yang memungkinkan AI melihat masalah yang sama seperti yang kamu lihat. Harness (rangka kerja) yang baik menyalurkan diagnostik dari language server kembali ke agen setelah setiap perubahan (edit), sehingga AI menangkap kesalahan tipe data dan lint (pemeriksa gaya kode) miliknya sendiri lalu memperbaikinya sebelum kamu bahkan sempat menjalankan kodenya. Alih-alih "kelihatannya masuk akal", kamu mendapatkan "compiler-nya setuju". Suruh agenmu membaca diagnostiknya, bukan sekadar file-nya.
// a diagnostic an LSP server returns — feed this back to the agent
{
"severity": "error",
"range": { "start": { "line": 12, "character": 6 } },
"message": "Type 'string' is not assignable to type 'number'."
}