[Claude Code 스킬] 코드 인텔리전스(LSP 플러그인) — 편집 직후 타입 오류를 IDE처럼 잡는다 | DAKER 커뮤니티
무엇
LSP(Language Server Protocol)는 에디터와 언어 분석 엔진이 대화하는 표준 규약입니다. VS Code가 오타에 빨간 밑줄을 긋는 것이 바로 이 프로토콜의 일이죠. Claude Code는 플러그인으로 LSP 서버(예: Python의 Pyright)를 붙여 같은 감각을 얻습니다. 편집이 끝난 그 순간 오류·경고 진단이 자동으로 컨텍스트에 주입되고, 정의로 이동·참조 찾기·호버 타입 정보 같은 IDE급 내비게이션을 씁니다. 텍스트로만 코드를 읽던 에이전트에게 '문법 신경'을 이식하는 셈입니다.
언제 쓰나
타입 있는 언어(Python+타입힌트, TypeScript, Rust)에서 편집→실행→오류 발견 루프가 길 때: 실행 전에 타입 오류를 잡습니다
대규모 리팩터링: 문자열 검색(grep)은 동명이인을 구분 못 하지만, 참조 찾기는 심볼 단위로 정확합니다
Claude가 방금 쓴 코드를 스스로 검증하는 속도를 올리고 싶을 때 — 테스트 한 바퀴(분 단위)가 진단 한 줄(초 단위)로 줄어듭니다
사용법
# 1) 언어 서버 바이너리 먼저 설치 (플러그인에는 서버가 안 들어 있음)
pip install pyright
# 2) 공식 마켓플레이스에서 LSP 플러그인 설치
/plugin install pyright-lsp
# TypeScript: typescript-lsp / Rust: rust-analyzer-lsp
# 또는 /plugin → Discover 탭에서 "lsp" 검색
# 3) 공식에 없는 언어는 플러그인 루트의 .lsp.json으로 직접 정의
{
"go": {
"command": "gopls",
"args": ["serve"],
"extensionToLanguage": { ".go": "go" }
}
}공식 LSP 플러그인은 pyright-lsp(Python)·typescript-lsp·rust-analyzer-lsp 3종이고, 그 외 언어는 .lsp.json에 command와 extensionToLanguage(필수 2개)만 적으면 붙습니다.
팁
서버는 워크스페이스 trust 승인 후에만 시작됩니다.
/pluginErrors 탭에Executable not found in $PATH가 보이면 언어 서버 바이너리 미설치가 원인 — 설치 후/reload-plugins로 재시작 없이 반영하세요.진단 주입이 시끄러우면 서버 설정에
diagnostics: false를 주면 내비게이션(정의 이동·참조 찾기)만 남습니다. 같은 확장자를 두 서버가 선언하면 먼저 등록된 쪽만 동작하니(/plugin에 경고 표시) 언어당 서버는 하나만 켜두는 게 깔끔합니다.
출처
공식 문서 — Plugins reference: LSP servers
공식 플러그인 — Pyright LSP
프로토콜 스펙 — Language Server Protocol