Local Machine에서 개발 가능하지만 Server 개발일경우 원격으로 개발을 해야하는 경우가 있을수있다. 이럴떈 Local에서 개발을 한후 Server로 이동시켜야한다.
사용하는 Local Machine이 windows인 반면 개발해야하는 환경이 Linux라면 Linux Machine에 접속하여 개발을해야한다.
결론-> VSCode의 Remote Development Extension을 사용하면 Remote Machine을 Local Machine 처럼 생각될수있게 개발하는것이 가능하다.
VS Code 의 Remote Development Extension 구조도, 출처 : https://code.visualstudio.com/docs/remote/ssh
위 그림처럼 Local OS에서 VSCode로 작업한 것을 SSH Tunnel을 통해 Remote Machine으로 보내는 형태로 작업을 진행할것이다.
(SSH 외 Containers 또는 WSL을 사용하여 개발을 할수있지만 요번 글은 SSH를 사용해보도록 하겠다)
VSCode의 확장탭에서 Remote Development를 검색하고 설치한다.
F1키를 눌러 >Remote-SSH:... 를 클릭한다.
클릭후 UserId@host(ip)를 입력해준다.
ex) 저같은경우는 (리눅스 UserId= chanyoun)
따라서 -> chanyoun@ip를 입력했습니다.
그후 Select SSH configuration file to update 라는 text가 보인다. 여기서 우리가 Config File을 저장할 위치를 설정해줘야하는데
C:\Users\<본인의 윈도우 계정 아이디>.ssh\<설정파일이름> 식으로 경로를 지정하면된다.
경로를 지정하게되면 VSCode에서 Host added! 라는 알림창이 뜨게되며, Host가 추가될것이다.
그후 다시 F1키를 눌러 >Remote-SSH를 입력하면 전에는 보이지않았던 host가 보이게되고 클릭하면 아래와같은 새로운 VSCode 창이 뜨게된다.
이후 팔레트 창에 (필자는 Linux사용) 설정해준 Linux hostid에대한 비밀번호를 입력하면
아래 사진처럼 왼쪽하단에 SSH-IP 형태로 연결이된다!.
마지막으로 ctrl+o를 이용해 원하는 디렉토리에서 작업을 할수있게 된다.
Virtualbox를 통해 Linux를 실행시킨후 Linux의 cs16디렉토리에있는 main.java코드를 수정한다.
현재 main.java의 상태
Linux에서 코드를 수정할때 VSCode에서 업데이트 되는지 확인한다.
// linux connection test
Linux에서 코드 추가후 저장을 누르면 자동적으로 VSCode에도 주석이 추가되는것을 볼수있다.
// Windows connection test
주석추가 후 저장
이번에도 VSCode에서 추가한 주석이 Linux에도 자동적으로 추가가 되는것을 알수있다.
추후 intellij에서도 SSH를 통해 위 과정을 시도해보겠다!