🤔

06-28-2020

vscode에서 swift language server 돌리기

PWA를 이리저리 해보다 역시 뭔가 기기에 안붙는 느낌이 힘들어서 걍 네이티브 앱으로 만들고 있는데… 아 이런 건 애시당초 네이티브앱으로 만들었어야되었다는 생각이다. 일단 손에 붙는 느낌이 너무 다르고 등등…

그런데 코드 에디팅하는 데는 vscode가 이미 손에 익어있는 게 있고(vim 익스텐션 등등), 폰트나 theme을 기분따라 자주 바꾸는 편인데 그런 부분이 xcode는 좀 불편했다. 빌드나 프리뷰 등등은 어쩔 수 없겠지만 좀 손에 걸리적거리는 부분들이 있었다.

그래서 혹시 vscode에서 javascript 다루는 것 처럼 이것저것 정보를 띄울 수 없나 알아보았는데, 다행히 애플에서 SourceKit-LSP라고 랭귀지 서버 프로토콜을 구현해놓은 게 있어서 vscode에서 코드 액션 등등을 돌릴 수 있었다.

방법은 아래와 같다.

  1. 원하는 위치에 sourcekit-lsp를 클론 받는다.

  2. 클론한 폴더의 Editors/vscode로 이동한다.

    $ cd sourcekit-lst/Editors/vscode
  3. .vsix(익스텐션 파일) 를 생성한다.

    $ npm run createDevPackage
  4. 생성한 익스텐션을 설치한다.

    $ code --install-extension out/sourcekit-lsp-vscode-dev.vsix
  5. 공식 가이드엔 여기까지 하면 된다고 나와있긴 한데, vscode에서 Starting client failed Launching server using command sourcekit-lsp failed. 어쩌구 하면서 에러가 발생했다.

  6. sourcekit-lsp 가 설치된 경로를 알아내서 복사한다.

    $ xcrun -f sourcekit-lsp
  7. vscode의 settings.json에 아래를 추가한다.

      "sourcekit-lsp.serverPath": "<복사한 경로>"
  8. vscode를 reload 한다.

  9. 된다된다 잘된다.

    된다된다


©2021 Sehyun Chung