본문 바로가기
기타

VSCode Liveshare로 페어 프로그래밍 시작하기

by 유세지 2023. 1. 9.

 

이 글은 "TCP 웹 프론트 스터디" 의 안내를 위해 작성되었습니다.

 

 

이번에 과제형 스터디를 진행하면서 효과적인 학습을 위해 페어 프로그래밍을 도입했습니다. 직접 만나지 않더라도 페어 프로그래밍을 진행하는 방법은 다양하게 있지만, 그 중 VSCode의 Liveshare 플러그인을 통해 진행하는 방법을 알아보겠습니다.

 

설치

 

VSCode 기준 왼쪽 탭 메뉴에서 Extensions 메뉴를 찾습니다. 단축키는 윈도우 기준 [Ctrl + Shift + X], 맥 기준 [Cmd + Shift + X] 입니다.

 

 

"Live Share" 으로 검색하여 Microsoft 사의 Live Share 플러그인을 다운로드 받습니다. Live Share Audio까지 함께 설치하고 싶다면 사진 기준 3번째의 Live Share Extension Pack을 설치하시면 됩니다.

 

 

설치가 완료되면 왼쪽의 Live share 아이콘을 눌러 사용할 수 있습니다.

 

 

기능

기본적으로 Live share를 사용할때의 역할은 프로젝트를 제공하는 호스트와 다른 호스트의 프로젝트에 참여하는 콜라보레이터로 나뉩니다. 호스트가 Share 버튼을 눌러 프로젝트를 공개하면 본인의 프로젝트에 접속할 수 있는 주소가 생성되고, 콜라보레이터에게 이 주소를 공유하여 접속하도록 할 수 있습니다.

 

Share 버튼을 클릭하여 호스트가 되면 프로젝트가 공유됩니다

 

자신이 콜라보레이터라면, 호스트에게 프로젝트 주소를 공유받아 Join 버튼을 눌러 해당 프로젝트에 접속합니다.

 

Join 버튼을 클릭하여 다른 호스트의 프로젝트에 참여할 수 있습니다

 

 

프로젝트에 접속하게 되면 콜라보레이터의 권한은 Read-Only 입니다. 따라서 호스트의 공유 터미널을 사용할 수 없는데, 호스트에게 터미널 권한 변경을 요청해야 합니다. 호스트의 경우 아래처럼 터미널의 권한을 변경할 수 있습니다.

 

호스트는 터미널의 권한을 변경할 수 있습니다

 

본격적인 코딩 단계에 들어서면 Live share의 유용한 편의 기능을 사용할 수 있습니다. 예를 들어 아래처럼 다른 협업자가 보고 있는 화면을 볼 수 있거나, 반대로 다른 협업자가 내 화면을 보도록 유도할 수 있습니다.

 

이렇게 다른 협업자의 화면을 따라갈 수도 있고,
이렇게 다른 협업자들에게 내 화면을 보도록 유도할 수도 있습니다.

 

 

코딩을 마치고 커밋을 하는 경우, 함께 프로그래밍을 했다면 커밋에 협업자를 넣을 수 있습니다. 협업자를 등록하게 되면 메인에 병합 시 기여자로 추가되기 때문에 히스토리 추적을 위해 함께 등록하는 것이 좋습니다. 또한 깃허브에 잔디가 생기는 것도 소소한 장점입니다.

 

 

커밋 메시지 내용에 협업자의 계정이 추가됩니다.

 

 

그러나 이렇게 협업자를 추가하게 되면 한 번 커밋을 올린 뒤 커밋 메시지 칸이 초기화됩니다. 쭉 페어 프로그래밍을 해야한다면 매 커밋마다 하나하나 협업자를 추가해주어야 할텐데, 이런 과정은 다소 번거롭습니다.

 

이럴때는 Git Mob Co-author commits 플러그인을 이용하면 편리합니다. Extensions 메뉴에서 Git Mob Co-author commits을 검색하여 설치해줍니다. 

 

 

설치가 완료되면, 소스 컨트롤 메뉴로 들어가서 추가된 메뉴를 확인할 수 있습니다.

 

 

처음이라면 placeholder 계정만 있을텐데, 원하는 계정을 새로 추가하는 방법은 파일을 일립시스 버튼()을 눌러 깃허브에서 검색하거나 빈 파일 버튼을 눌러 설정 파일을 직접 수정하시면 됩니다.

 

 

상대방을 추가한 후 아래 메뉴에서 협업자를 적용하면 커밋 이후에도 내용에 해당 협업자가 남아있어 편리하게 커밋을 이어갈 수 있습니다.

 

 

 

이렇게 한 번 협업을 하고나면 이후에는 협업자가 로컬에 저장되어 다음에 페어 프로그래밍을 진행하게 될 때도 쉽게 찾을 수 있습니다.

 

마무리

페어 프로그래밍은 분명 처음엔 어렵고 낯설게 느껴지는 협업 방법입니다. 하지만 익숙해진다면 서로의 보완점을 채워줄 수 있는 굉장히 효율적인 학습 방법이 되므로 꾸준히 진행해보시면 좋겠습니다.

반응형

댓글