본문으로 바로가기
리옵트 핸드북
리옵트 핸드북
OpenCode 고급 활용

기본 세팅

Ch1. 설치/업데이트Ch2. 고급 설정

에이전트 & 권한

Ch3. 에이전트 설계Ch4. 권한 정책Ch5. 모드 활용

워크플로우

Ch6. 커스텀 커맨드Ch7. TUI 고급 활용Ch8. 포매터 자동화Ch9. 모델 선택

확장 & 통합

Ch10. 플러그인 확장Ch11. GitHub & IDE 통합Ch12. LSP 코드 인텔리전스Ch13. 공유/프라이버시

검증

검증 리포트업데이트 내역
핸드북›OpenCode 고급 활용›Ch12. LSP 코드 인텔리전스

Ch12. LSP 코드 인텔리전스

29개+ 내장 LSP 서버의 자동 실행, lsp 키를 통한 초기화·커스텀 서버 등록·비활성화, 실험적 LSP 도구와 클라이언트/서버 아키텍처를 다룹니다.

핵심 요약

  • OpenCode는 29개+ LSP 서버를 내장해 파일 확장자 기반으로 자동 실행하고 진단 정보를 LLM에 전달합니다.
  • Astro·Vue·YAML 등은 자동 다운로드되지만, rust-analyzer·gopls·pyright·jdtls(Java 21+) 등은 해당 툴체인이 시스템에 설치돼 있어야 합니다.
  • lsp 키로 서버별 초기화 옵션·환경 변수를 지정하고, command+extensions로 커스텀 서버를 등록하거나 { "lsp": false }로 비활성화합니다.
  • OPENCODE_EXPERIMENTAL_LSP_TOOL=true를 켜면 에이전트가 심볼 검색·정의 이동·참조 찾기를 직접 수행합니다.
  • 클라이언트/서버 구조라 opencode serve로 GPU 서버에서 실행하고 opencode attach로 로컬에서 접속하는 원격 운영이 가능합니다.

OpenCode는 29개 이상의 LSP 서버를 내장합니다. 파일 확장자에 따라 알맞은 서버가 자동으로 실행되고, 진단 정보가 LLM에 전달됩니다.

지원 언어

별도 설치 없이 OpenCode가 자동으로 LSP 서버를 다운로드합니다.

Astro, Kotlin, Lua, PHP, SVG, Vue, YAML, Terraform, Typst

LSP 설정

기본 설정

{
  "lsp": {
    "typescript": {
      "initialization": {
        "preferences": {
          "importModuleSpecifierPreference": "relative"
        }
      }
    },
    "rust": {
      "env": {
        "RUST_LOG": "debug"
      }
    }
  }
}

커스텀 LSP 서버

표준 목록에 없는 LSP 서버를 등록할 수 있습니다.

{
  "lsp": {
    "custom-lang": {
      "command": ["custom-lsp-server", "--stdio"],
      "extensions": [".custom"]
    }
  }
}

LSP 비활성화

// 전체 비활성화
{ "lsp": false }

// 특정 서버만 비활성화
{
  "lsp": {
    "typescript": { "disabled": true }
  }
}

구문 강조 확장 (v1.3.1+)

v1.3.1에서 다음 언어의 구문 강조(Syntax Highlighting)가 추가되었습니다:

언어파일 확장자
Kotlin.kt, .kts
HCL.hcl, .tf
Lua.lua
TOML.toml

LSP 지원과는 별개로, TUI와 diff 뷰에서 이 언어들의 코드를 더 읽기 쉽게 보여줍니다.

힙 스냅샷 (v1.3.2+)

v1.3.2에서 힙 스냅샷(Heap Snapshot) 기능이 추가되었습니다. 메모리 사용량을 디버깅하거나 성능을 프로파일링할 때 쓰며, 오래 돌아가는 에이전트 세션에서 메모리 누수를 잡아내는 데 특히 도움이 됩니다.

실험적 LSP 도구

LLM이 LSP 서버에 직접 쿼리할 수 있는 실험적 도구입니다.

OPENCODE_EXPERIMENTAL_LSP_TOOL=true opencode

켜면 에이전트가 심볼 검색, 정의 이동, 참조 찾기를 직접 처리합니다.

서버 아키텍처

OpenCode는 클라이언트/서버 아키텍처를 사용합니다.

명령어설명
opencode serve헤드리스 서버 시작 (API 접근)
opencode web웹 인터페이스 포함 서버 시작
opencode attach [url]원격 서버에 TUI 클라이언트 연결

원격 운영 활용

# 서버 머신에서
OPENCODE_SERVER_PASSWORD=secret opencode serve

# 로컬에서 연결
opencode attach http://server:3000

이렇게 하면 무거운 작업은 GPU 서버에서 돌리고 로컬에서는 접속만 하는 구성이 됩니다.

고급 팁

  • LSP 자동 설치 방지: OPENCODE_DISABLE_LSP_DOWNLOAD=true로 네트워크 없는 환경 대응
  • 프로젝트별 LSP 설정: opencode.json에서 프로젝트에 맞는 LSP 초기화 옵션 지정
  • 진단 정보 활용: LSP 진단이 LLM에 자동 전달되어 타입 오류 수정 정확도 향상
  • 서버 분리 운영: opencode serve로 리소스가 풍부한 서버에서 실행

참고 문서

  • LSP 통합: https://opencode.ai/docs/lsp/
  • 서버 모드: https://opencode.ai/docs/cli
  • 네트워크/프록시: https://opencode.ai/docs/network

관련 문서

검증 리포트

OpenCode 고급 활용 핸드북의 콘텐츠 검증 및 업데이트 이력

Ch2. 고급 설정

opencode.json 6단계 구성 파일 우선순위, env·file 변수 치환, AGENTS.md 규칙 시스템, tui.json 분리와 .well-known 원격 설정을 다룹니다.

Ch6. MCP 서버 연동

Kiro 고급 활용 · Kiro에서 Model Context Protocol 서버와 프롬프트·리소스를 운영하는 방법

Ch6. MCP 서버 연동

Claude Code 고급 활용 · Claude Code에서 Model Context Protocol 서버와 도구·리소스를 운영하는 방법

Cmd. /mcp

Claude Code 명령어 마스터 · MCP 서버 연결과 OAuth 인증을 관리하고, 노출된 도구 상태를 점검하는 명령

Ch11. GitHub & IDE 통합

bash 도구 기반 Git 작업, VS Code 계열·ACP를 통한 IDE 연동, GitHub App(/oc) 호출, GitLab Agent Platform, v1.3.0 Git-backed 세션 리뷰를 정리합니다.

Ch13. 공유/프라이버시

manual·auto·disabled 세션 공유 모드, 코드 비저장 프라이버시 원칙, SSO·다단계 인증·내부 AI 게이트웨이 등 엔터프라이즈 기능과 시트당 가격 모델을 정리합니다.

On this page

지원 언어LSP 설정기본 설정커스텀 LSP 서버LSP 비활성화구문 강조 확장 (v1.3.1+)힙 스냅샷 (v1.3.2+)실험적 LSP 도구서버 아키텍처원격 운영 활용고급 팁참고 문서