Nvim-Lspconfig 설정 가이드: Neovim에서 LSP 클라이언트 사용하기

1. 프로젝트 구조 및 설명

Nvim-lspconfig의 디렉토리 구조는 다음과 같습니다:
.
├── CONTRIBUTING.md   
├── doc                
│   └── lua            
├── lualib             
└── plugin             
└── scripts            
└── test               
└── .codespellignore   
└── .editorconfig      
└── .gitignore         
└── .luacheckrc        
└── .stylua.toml       
└── CONTRIBUTORS.md    
└── LICENSE.md         
└── Makefile           
└── README.md          
└── flake.lock         
└── flake.nix          
└── neovim.yml         
└── nvim-lspconfig-scm-1.rockspec  
└── selene.toml        
이 프로젝트는 주요 부분으로 다음을 포함합니다: - `doc`: 문서와 도움말 정보가 들어 있습니다. - `lualib`: LSP 관련 Lua 함수를 제공합니다. - `plugin`: 내장된 플러그인 코드입니다. - `scripts`: 보조 스크립트입니다. - `test`: 단위 테스트 사례입니다.

2. 초기화 파일 소개

Nvim-lspconfig에는 특정 시작 파일이 없습니다. 이는 독립 실행형 애플리케이션이 아니라 Neovim의 설정 라이브러리이기 때문입니다. Neovim을 시작한 후, 초기화 파일(`init.vim` 또는 `init.lua`)에서 설정을 로드하여 LSP 지원을 활성화해야 합니다. 다음은 `init.lua`에서 LSP 설정을 하는 간단한 예제입니다:
require'lspconfig'.pyright.setup{} -- Pyright 언어 서버 시작
Neovim을 시작하면, LSP 클라이언트는 구성에 맞는 언어 파일을 열 때 해당 언어 서버에 자동으로 연결됩니다.

3. 설정 파일 설명

설정 파일 위치

Neovim에서 LSP 설정은 일반적으로 사용자의 `init.vim` 또는 `init.lua` 파일에 위치하며, 이는 Neovim이 시작될 때 읽는 설정 파일입니다.

예제 설정

각 언어 서버의 설정은 약간 다르지만 기본적인 구성 방식은 비슷합니다. 예를 들어, Pyright 언어 서버를 설정하려면 `init.lua`에서 다음과 같이 작성할 수 있습니다:
-- LSPConfig 라이브러리 로드
require'lspconfig'

-- Pyright 설치 및 설정
local client_caps = vim.lsp.protocol.make_client_capabilities()
client_caps.textDocument.completion.completionItem.snippetSupport = true

require'lspconfig'.pyright.setup{
  capabilities = client_caps,
}
이 예제에서는 필요한 모듈을 먼저 가져온 후 클라이언트의 기능(capabilities)을 정의하고, 마지막으로 Pyright 언어 서버 설정을 지정했습니다. 다른 언어 서버를 설정하려면 `server_configurations.md` 문서나 `:help lspconfig-all` 명령을 참고하세요. 시스템 경로에 없는 서버의 경우, JDTLS 또는 ElixirLS의 전체 경로를 명시적으로 지정해야 할 수 있습니다.

태그: Nvim LSP Pyright Lua neovim

5월 30일 00:43에 게시됨