UnrealDev.nvim 업데이트: SQLite로 전환해 초고속 성능

발행: (2025년 12월 29일 오후 05:54 GMT+9)
4 min read
원문: Dev.to

Source: Dev.to

연말을 맞아 UnrealDev.nvim의 대규모 업데이트를 공개했습니다!
이전에는 UnrealDev.nvim(및 핵심인 UEP.nvim)이 프로젝트 정보를 캐시하기 위해 JSON 파일을 사용했습니다. 규모가 큰 언리얼 엔진 프로젝트에서는 방대한 JSON 파일의 파일 I/O 오버헤드가 눈에 띄는 병목 현상이었습니다. 이번 업데이트에서는 캐시 백엔드를 SQLite로 전환하여 파일 탐색 및 프로젝트 분석 속도를 크게 향상시켰습니다.

주요 변경 사항 및 설치

  1. 새로운 의존성: sqlite.lua
    플러그인에 이제 다음 라이브러리가 필요합니다:
    kkharji/sqlite.lua

Windows 사용자에게 중요한 안내

sqlite.lua가 정상적으로 동작하려면 sqlite3.dll이 필요합니다. winget과 같은 패키지 관리자를 통해 SQLite를 설치하면 .dll 없이 .exe만 제공될 수 있습니다.

해결 방법

-- Example: Set path to sqlite3.dll
vim.g.sqlite_clib_path = "C:\\Users\\username\\path\\to\\sqlite3.dll"

업데이트된 :checkhealth

헬스 체크가 이제 SQLite 상태를 확인합니다. 모든 설정이 올바르게 되어 있으면 다음과 유사한 출력이 표시됩니다:

UnrealDev:                                                                  ✅

UnrealDev Dependencies ~
- ✅ OK Executable 'fd': Found (File finder)
- ✅ OK Executable 'rg': Found (Ripgrep text searcher)
- ✅ OK UNL.nvim: Installed (Core Library & Utilities)
- ✅ OK Plugin 'kkharji/sqlite.lua' found.
- ✅ OK Path configured: C:\Users\taku3\AppData\Local\Programs\sqlite\sqlite3.dll
- ✅ OK SQLite is working correctly! (In-memory DB test passed)
...

명령 통합

몇몇 구체적인 명령이 폐기되고 메인 명령으로 통합되었습니다.

  • 폐기: :UEP config_files, :UEP program_files, :UEP config_grep, :UEP program_grep
  • 통합: :UEP files, :UEP grep

명령 인자는 이제 새로운 mode 파라미터를 지원합니다:

:UEP files [scope] [mode] [deps_flag]
:UEP grep  [scope] [mode] [deps_flag]

mode 인자를 사용해 파일 유형을 지정할 수 있습니다(기본값은 source).

예시

" Runtime 모듈에서 Config(.ini) 파일 찾기
:UEP files runtime config

" Game 프로젝트 내 Tools(Programs) 소스 파일 찾기
:UEP files game programs

" Engine에서 Shader(.usf/.ush) 파일 찾기
:UEP files engine shader

이렇게 scopemode를 조합해 유연하게 필터링할 수 있습니다.
참고: :UEP module_files와 같은 명령은 모듈‑전용 동작의 인자 로직을 단순하게 유지하기 위해 별도로 남겨두었습니다.

Back to Blog

관련 글

더 보기 »