태그 보관물: rust

[Tip] Emacs: rust-analyzer-tramp가 계속 죽는 문제

Remote server에 tramp mode로 rust file을 읽어서 rust-mode에 진입한 후에 미니버퍼에 아래와 같은 경고가 뜨는데, ‘y’를 입력해서 rust-analyzer-tramp를 재실행 시켜도 계속해서 죽어서 같은 오류가 보이는 문제가 생겼다.

rust-analyzer 설치 확인

Remote server측에 rust-analyzer가 설치되어 있지 않으면 이와 같은 문제가 생길 수 있으니 다음의 명령어로 rust-analyzer를 update해본다. 만약 설치 되어 있지 않다면 이 과정에서 설치될 것이다.

rustup component add rust-analyzer

Remote path 사용

rust-analyzer가 이미 설치 되어 있음에도 문제가 발생 한다면 서버측의 path가 제대로 설정되고 있는지 확인해 보자. Trump mode는 서버측의 PATH 환경변수 값 을 읽지 않으므로 경로정보를 서버의 것으로 유지 하도록 설정해 주어야 한다.

 (require 'tramp)
 (setq tramp-default-method "ssh")
 ;; Respect remote path.
 (with-eval-after-load 'tramp
   (add-to-list 'tramp-remote-path 'tramp-own-remote-path))

VScode test explorer에 Rust 테스트 케이스 표시

rust-analyzer extension을 설치했는데도 test explorer에서 rust unit test가 표시되지 않는 경우는 다음을 확인해 보자.

Command palette을 열어서 open settings를 검색한다.

왼쪽 pane에서 Extensions -> rust-analyzer를 선택하고 Test Explorer 항목을 찾아 "Show the Test Explorer view."가 체크되어 있는지 확인한다.

한참을 찾았는데 결국은 이게 disabled된 것이 원인 이었다.

이 항목을 체크하고 나면 vscode를 재실행 하겠다는 창이 뜨고, 재실행 뒤에는 unittest가 text explorer에 표시된다.

참고로 UI를 통해서가 아닌 JSON 파일을 직접 수정하려면 settings.json을 열어서 다음을 추가해 주어도 된다.

{
...
    "rust-analyzer.testExplorer": true,
}