프로젝트에 포함된 파일이 아니고 그냥 단일 파일이면 lsp-mode 동작이 안되도록 돼있는 것 같은데
아니 그냥 프로젝트 지정 안해도 lsp-mode 작동되게 하는 방법 없음?
댓글 6
lsp 자체가 프로젝트 단위로 돌아가는거라 안될거임
Riey(rerereq)2021-02-26 19:08
답글
근데 다른 에디터에서는 단일 파일도 그냥 lsp 서버 실행시켜주잖아 이맥스는 아예 서버 실행도 안해서 아무것도 안되더라고
익명(110.70)2021-02-26 20:35
그 단일파일 존재하는 다렉토리를 lsp 세션으로 추가하면 됨
익명(49.142)2021-02-27 02:13
lsp 바이너리를 직접 실행해본적이 있다면 금방 도출해낼수 있는 의문 - dc App
대딩2(156.249)2021-02-27 02:29
lsp 프로토콜 스펙이랑 언어 서버들은 멍청해서 프로젝트랑 라이브러리 자기가 혼자서 못찾음. 그래서 에디터 implementation에 따라 다름. VSCode 같은 애는 단일 파일 쓸때 확장팩 자체 샌드박스 된 환경에서 파일의 lsp 환경을 알아서 자동화 시켜서 다 뜨는 거고. vim이나 emacs같은 애들은 그걸 자체 프로젝트 찾기 기능(e.g. projectile)이나 빌드 파일들 그리고 파일 패턴 매칭해서 언어 서버에다가 전달함.
익명(99.145)2021-02-27 05:03
그래서 파이썬 virtualenv나 도커 빌드 환경으로 프로젝트 이루어졌으면 lsp 각각 에디터 implementation에 따라 달라서 현재 자동 지원하는 애들도 적음. Emacs에서는 pyenv같은 거랑 연동 해야하고 도커는 lsp-docker 같은 걸 쓰던가 Tramp로 도커 환경에 ssh해야하고 존나 복잡함. VSCode는 https://code.visualstudio.com/docs/remote/containers 이렇게 함. 암튼 local환경이 아니면 lsp 생각보다 존나 골치 아픔.
lsp 자체가 프로젝트 단위로 돌아가는거라 안될거임
근데 다른 에디터에서는 단일 파일도 그냥 lsp 서버 실행시켜주잖아 이맥스는 아예 서버 실행도 안해서 아무것도 안되더라고
그 단일파일 존재하는 다렉토리를 lsp 세션으로 추가하면 됨
lsp 바이너리를 직접 실행해본적이 있다면 금방 도출해낼수 있는 의문 - dc App
lsp 프로토콜 스펙이랑 언어 서버들은 멍청해서 프로젝트랑 라이브러리 자기가 혼자서 못찾음. 그래서 에디터 implementation에 따라 다름. VSCode 같은 애는 단일 파일 쓸때 확장팩 자체 샌드박스 된 환경에서 파일의 lsp 환경을 알아서 자동화 시켜서 다 뜨는 거고. vim이나 emacs같은 애들은 그걸 자체 프로젝트 찾기 기능(e.g. projectile)이나 빌드 파일들 그리고 파일 패턴 매칭해서 언어 서버에다가 전달함.
그래서 파이썬 virtualenv나 도커 빌드 환경으로 프로젝트 이루어졌으면 lsp 각각 에디터 implementation에 따라 달라서 현재 자동 지원하는 애들도 적음. Emacs에서는 pyenv같은 거랑 연동 해야하고 도커는 lsp-docker 같은 걸 쓰던가 Tramp로 도커 환경에 ssh해야하고 존나 복잡함. VSCode는
https://code.visualstudio.com/docs/remote/containers
이렇게 함. 암튼 local환경이 아니면 lsp 생각보다 존나 골치 아픔.