C# :: Lecture & TIPs VB :: Lecture & TIPs

[Visual Studio 2019] Live Share 기능에 대한 모든 것!

Visual Studio 2017 에서는 새로운 확장 기능을 설치하여야만 사용이 가능했었던 실시간 협업 / 코드 공유 (Live Share) 기능이 Visual Studio 2019 에서는 기본 기능으로 제공됩니다.

Visual Studio 2017 에서도 동일한 Live Share 기능을 이용할 수는 있으나, 별도의 확장 기능을 찾아 설치하는 과정이 필요하다.

Visual Studio 2017 에서는 [Tools (도구)] 메뉴 하위의 [Extensions and Updates (확장 및 업데이트)] 을 통해 Live Share 를 검색한 후 [Download (다운로드)] 버튼을 눌러 기능을 활성화하여 사용이 가능하다.

Live Share 기능이란, 복잡한 설정 없이 팀 구성원들과 함께 하나의 프로젝트를 열어, 실시간으로 함께 작업 할 수 있도록 해 주므로 기존처럼 소스 코드를 나누었다가 다시 합치는 불편한 과정들을 거치지 않아도 소프트웨어를 효율적으로 개발 가능하다는 이점이 존재합니다. 이와 더불어 어플리케이션을 개발하다가 작성한 소스 코드에 문제가 발생한 경우, 타인에게 프로젝트 파일을 별도로 전달하지 않고도 다른 사람과 소스 코드를 실시간으로 확인하면서 수정이 가능하기 때문에 온 · 오프라인 교육 환경이나 원격 작업 지원용으로도 응용하여 활용할 수 있습니다.

Live Share 기능은 Visual Studio 2017 이상 또는 Visual Studio Code 에서 사용 가능하며, Visual Studio 기준으로 상단 메뉴의 [Tools (도구)] – [Options (옵션)] 항목을 차례로 클릭하면 표시되는 설정 화면에서 [Live Share] 카테고리 하위의 [General (일반)] 항목 내부의 여러가지 설정을 수정하여 보다 효율적인 협업이 가능해집니다.

이번 게시글에서는 Live Share 기능 활용 및 설정 방법에 대해 다루어보도록 하겠습니다.

[ Live Share 를 시작하기 전에 옵션 변경하기 ]

Live Share 기능을 최대한 활용하려면, 상단의 [Tools (도구)] 메뉴 하위의 [옵션 (Options)] 항목으로 진입합니다.

설정을 보다 간편하고 빠르게 수행 할 수 있도록 [Sharing (공유)] 버튼을 누르면 표시되는 하위 메뉴에 배치하여 설정 바로 가기 식으로 구현하였다면 보다 직관적으로 접근이 가능했을 것 같은데 살짝 아쉽습니다.

Visual Studio 2019 에는 Live Share 기능이 기본으로 탑재되어 별다른 과정을 거치지 않아도 사용이 가능하며, 메뉴의 [Tools (도구)] – [Options (옵션)] 항목을 통해 기능을 보다 세세하게 제어할 수 있다.

기본적으로 Live Share 기능을 사용하면 세션 당 최대 5 명 까지참여 가능합니다. 하지만 [Options (옵션)] 화면의 [Live Share] 카테고리 하위의 [General (일반)] – [Increased Guest Limit (게스트 제한 증가)] 항목의 설정을 [True] 값으로 변경하게 되면, 최대 30 명 까지 참여하여 함께 소스코드를 편집하거나 검토할 수 있습니다.

옵션 창 에서 [Live Share] 카테고리 하위의 [일반] – [게스트 제한 증가] 를 True 값으로 변경하게 되면, 최대 30 명까지 사용할 수 있다.

이외에도, 공동 디버깅 설정도 할 수 있는데요, 참여한 게스트들에 세션 중 디버깅을 자유롭게 수행할 수 있는지의 여부 혹은 디버그 시 localhost 로 실행되는 웹 앱을 게스트와 공유 할 것인지에 대한 설정까지 제공하고 있습니다.

옵션 창에서의 공동 디버깅 설정 화면. 게스트가 디버깅을 자유롭게 수행할 수 있는지의 여부도 변경할 수 있도록 기능을 제공한다.

더불어 공동 편집을 위한 세부적인 설정도 지원합니다. 각각의 사용자 이름 (ID) 을 보여주는 플래그 기능에 대해 항상 보여줄 것인지, 참여자 (게스트) 의 활동이 있거나 해당 커서에 사용자의 마우스를 올리면 보여줄 것인지를 설정할 수 있고, 참여자 (게스트) 들의 커서 이동 요청을 무조건 수락할 것인지, 요청들에 대해 각각 의사에 따라 결정할 것인지에 대한 설정 등을 세세하게 변경할 수 있습니다.

공동 소스 코드 편집과 더불어 빌드 관련해서도 개발자가 제약 사항을 자유롭게 변경할 수 있도록 허용해두었다.

[ Live Share 세션 시작하기 ]

오른쪽 최상단에 위치[Live Share] 버튼을 클릭하여 새로운 공동 작업 세션시작할 수 있습니다. 예를 들어 자신이 작성한 코드에 오류가 발생하여 다른 개발자 분께 검토를 요청하거나, 온.오프라인 회의 및 강의를 하는 경우, 사내에서 다른 들과 협업이 필요한 경우 등의 사례들에 매력적으로 활용할 수 있을 것으로 보여지는데요,

오른쪽 상단의 Live Share 버튼을 클릭하여 실시간 공동 작업 세션을 시작할 수 있다.

Live Share 기능을 처음 실행할 경우, 보안 상 방화벽의 포트에 대한 권한을 허용하여야 정상적으로 세션을 시작할 수 있기에 하단에 위치한 [OK (확인)] 버튼을 클릭해주시면 되겠습니다.

처음 실행 시 방화벽을 허용하여야 정상적으로 Live Share 기능을 사용할 수 있다는 경고창이 표시되는데, [OK (확인)] 버튼을 눌러 허용을 허락하도록 한다.

이렇게 세션을 시작하면 상단의 아이콘 모양과 텍스트가 변경되고, 세션을 준비하는데 약간의 시간이 소요되게 됩니다.

Live Share 버튼을 눌러 공동 작업 세션을 준비하고 있다. 오른쪽 상단의 아이콘이 변경된 후, 로딩 중인 모습을 확인할 수 있다.

세션이 성공적으로 시작되면 오른쪽 상단의 문구가 [Sharing (공유)] 으로 변경되고, 클립보드에 공동 작업 세션 URL 링크가 자동으로 복사됩니다. 공동 작업 세션 URL 링크를 망각하였을 경우, 상단에 표시되는 노란색 바[More Info (추가 정보)] 텍스트를 클릭하여 링크를 다시 한번 확인하실 수 있습니다.

Live Share 세션이 시작되면, 오른쪽 상단의 문구가 [Sharing (공유)] 으로 바뀌게 되며, 클립보드에 자동으로 링크가 복사된다. 이 때 노란색 바 위의 [More Info (추가 정보)] 버튼을 눌러 더 많은 정보를 확인할 수 있다.

노란색 바의 More Info 텍스트를 눌렀을 때 표시되는 화면입니다. 공동 작업 세션 URL 을 확인하실 수 있고, 아래의 [Copy Invite Link (초대 링크 복사)] 버튼을 클릭하면 세션 URL 클립보드에 복사됩니다. 그리고 새로운 게스트 (참여자) 가 참여했을 때 알림 등을 확인할 수 있는 정보 등도 보여주고 있습니다.

[More Info] 버튼을 눌렀을 때 표시되는 화면. Live Share 세션에 참여할 수 있는 링크와, 게스트가 참여했을 때 알림 등을 확인 할 수 있는 정보 등을 확인할 수 있다.

소스 코드에 게스트 (참여자) 가 수정해서는 안되는 민감한 내용을 담고 있거나, 온.오프라인 강의 중인 경우 게스트 (참여자) 가 1 명이라도 참여하기 전에 상단 노란색 바 [Make Read Only (읽기 전용으로 만들기)] 텍스트를 클릭하여 읽기 전용 모드로 변경하실 수 있습니다.

게스트가 수정하면 안되는 민감한 내용의 소스 코드라면, 게스트가 참여하기 전에 [Make Read Only] 텍스트를 눌러 참여자들의 화면에서 소스 코드 수정이 불가능하게 설정해두도록 한다.

[ Live Share 세션 참가하기 ]

Live Share 세션에 참가하는 방법에는 크게 두 가지가 있습니다.

SNS 혹은 메신저로 공동 작업 세션 URL 링크를 수신한 경우 해당 링크를 탭하거나 클릭하여 웹 브라우저를 통해 Live Share 세션에 참여하는 방법이 있고, Visual Studio 가 실행 중이라면 간단하게 Visual Studio 를 통해서 참여가 가능한데요, 두 가지 방법을 모두 언급해두도록 하겠습니다.

SNS 혹은 메신저로 URL 링크를 전송받았다면 웹 브라우저를 통해 Live Share 세션에 참여할 수 있다.

웹 브라우저를 통해 Live Share 세션에 참여하는 경우, 이렇게 Visual Studio 2019 를 실행하시겠습니까? 라는 대화상자가 표시되는데 [Yes (확인)] 버튼을 클릭하면 Visual Studio 를 실행한 후 자동으로 Live Share 세션에 참여하게 됩니다.

웹 브라우저 주소창에서 실행 한 경우 Visual Studio 를 실행하시겠습니까? 라는 경고창이 표시되는데, [Yes (확인)] 버튼을 클릭하면 자동으로 Live Share 세션에 참여된다.

Live Share 기능이 기본으로 제공되지 않는 Visual Studio 2017 환경에서 Live Share 확장 기능이 설치되어 있지 않은 상황이라면, 에러 메시지가 표시되고 실제 Live Share 세션과 연결되지 않는데요, 이후 표시되는 웹 페이지에서 Live Share 확장 기능을 설치할 수 있는 링크를 제공하고 있습니다.

Visual Studio 2017 환경에 Live Share 확장 기능이 설치되어 있지 않다면, 에러 메시지가 표시되고, 이후 표시되는 웹 페이지에서 확장 기능을 설치할 수 있다.

직접적으로 링크가 전달되었거나, Visual Studio 로 작업을 하던 경우에는 [File (파일)] 메뉴 하위의 [Join Live Share Session (공동 작업 세션 참가)] 항목 클릭하여 세션 참여 설정 과정을 거치면 참여할 수 있습니다.

직접적으로 링크가 전달되었거나, Visual Studio 가 실행 중이던 상황이라면 [File] 메뉴 하위의 [Join Live Share Session] 항목을 클릭하여 세션 참여 설정 과정을 거친다.

메뉴를 통해 진입하셨다면 아래와 같은 화면이 표시되는데요. 부여받은 공동 작업 세션 URL 를 텍스트박스에 입력하고 [Join (참가)] 버튼을 클릭하면 현재 진행되는 Live Share 세션에 바로 참여하실 수 있습니다.

텍스트박스에 부여받은 공동 작업 세션 URL 를 입력한 후 [Join] 버튼을 누르면 Live Share 세션에 참여 할 수 있다.

이렇게 게스트 (참여자) 가 Live Share 세션에 입장하게 되면 하단의 알림 창을 통해 참여 알림이 표시됩니다. 이 때부터 참여자와 세션 진행자가 실시간으로 자유롭게 소스를 편집하거나 수정할 수 있게 됩니다.

누군가가 Live Share 세션에 게스트로 참여하였다면 세션 진행자의 알림 창을 통해 알려준다.

참여자가 소스 코드의 내용을 수정하거나, 편집하고 있는 경우 상단에 Thumbnail (썸네일) 형태로 보여지는 프로필 사진을 클릭하면 그 때 그 때, 각각의 참여자가 수정하거나 현재 편집중인 위치로 이동하실 수 있습니다.

참여 현황은 알림창 이외에도 상단에 프로필 사진이 썸네일 (Thumbnail) 형태로 보여지는데, 이를 클릭하면 각각의 참여자가 수정하거나 편집중인 위치로 이동할 수 있다.

[ 공동 디버깅 하기 ]

Visual Studio 의 [Options (옵션)] 에서 공동으로 자유롭게 디버깅할 수 있는 [Allow Guest Control (게스트 제어 허용)] 옵션True 값으로 변경 해 두었다면 일반적인 디버깅 방식 (상단 중앙에 위치한 [Start (시작)] 버튼 클릭) 참여자 쪽과 진행자 쪽 어디에서든 자유롭게 디버깅이 가능합니다.

하지만, False 값으로 일반적인 디버깅 방식으로 디버깅을 할 수 없도록 설정되어 있는 경우라면, 아래와 같이 오른쪽 상단의 [Sharing (공유)] 버튼클릭하여 나타나는 하위 메뉴에서 [Share Terminal (Read / Write) (터미널 공유 (읽기 / 쓰기)] 항목을 클릭하여 터미널을 공유하는 방법으로 디버깅을 수행 할 수 있습니다. 물론, 디버깅 수행 이전에 BreakPoint (마킹하는 작업) 를 걸어 놓는 작업이 필요합니다.

디버깅 (Debugging) 역시 공동으로 수행할 수 있으나 파일은 세션 진행자의 컴퓨터에만 존재하므로 약간의 절차를 거쳐야 한다. 오른쪽 상단의 [Sharing (공유)] 버튼을 누른 후, 하위의 [Share Terminal (Read / Write) 항목을 클릭한다.

터미널을 공유하면 PowerShell (파워셸) 창이 표시되는데요. 메인 경로를 cd (Change Directory) 명령어 사용하여 프로젝트의 실행파일이 있는 경로로 변경해 준 다음, 실행 명령어를 통해 파일을 실행하여 디버깅 과정을 거칠 수 있는데요,

다만, 여기서 주의하여야 될 점이 존재한다면, PowerShell 의 경우 Command Prompt (명령 프롬프트) 와는 다르게 현재 설정된 디렉토리의 경로가 기본 값이 아니므로, CMD (명령 프롬프트) 에서 실행하는 방법과 동일하게 파일 명만 그대로 입력하시면 안됩니다. 따라서 실행 테스트를 하실 경우 현재 경로 의미하는 “.” 과 디렉토리 분류 의미하는 “\” 를 입력하신 후 파일명 입력하셔서 ./[실행 파일명] 과 같이 입력하여 디버깅 수행하시면 되겠습니다.

명령어를 통해 PowerShell 화면의 메인 경로를 프로젝트의 실행파일이 있는 경로로 변경한 다음, 실행파일을 실행하여 디버깅 과정을 거친다.

[ 공동 작업 세션 종료하기 ]

공동 작업 세션은 간단하게 오른쪽 상단의 [Sharing (공유)] 버튼을 클릭하여 표시되는 메뉴에서 [End Live Share Session (Live Share 세션 종료)] 버튼 차례로 클릭하여 종료 가능합니다. 참여자 / 진행자 쪽에 상관 없이 종료가 가능하며 종료될 경우 열려있던 모든 파일과 편집기가 종료되어 편집 불가 상태가 됩니다.

실시간 공동 작업 세션을 종료하기를 희망하는 경우 오른쪽 상단의 [Sharing] 버튼을 클릭한 후 [End Live Share Session] 항목을 차례로 클릭해 세션을 종료할 수 있다.

참여자가 세션에 참여하고 있는 상황에서 진행자의 의향대로 세션을 종료 할 경우 “호스트에서 현재 공동 작업 세션을 종료했습니다. 이제 열린 폴더 및 편집기가 닫힙니다.” 라는 내용의 메시지박스가 표시되고 Live Share 세션 강제적으로 종료되네요!

진행자 쪽에서 Live Share 세션이 종료된 경우, 참여자 (게스트) 쪽 화면에서도 더 이상 소스 코드를 편집하거나 참고할 수 없도록 모든 폴더와 편집기가 닫혀버린다.

Live Share 기능 안에 여러가지 다양한 기능들이 포함되어 있어 내용이 길어졌습니다. 그만큼 여러분들께 많은 도움이 되었으면 좋겠습니다!

오늘 이야기는 여기까지입니다.

Happy Coding!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: