728x90

개발자의 컴퓨터는 항상 좋은 퍼포먼스를 내는 장비여야 합니다. 개발 도구도 나날이 무거워지고 언어나 런타임시에 사용하는 가상환경도 많은 리소스를 요구하기 때문입니다. 다만 좋은 장비를 새로 지급받거나 구매해서 쓰게되면 손에 착착~ 감기게 맞추어둔 개발 환경을 동일하게 맞추는 스트레스가 발생하기 마련입니다.

제가 주력 개발도구로 사용하고 있는 것은 비주얼 스튜디오 코드 Visual Studio Code 입니다. 상용 개발도구가 아닌 부문에서는 이미 압도적인 사용 점유율을 보이고 있는데요, 워낙 이사람, 저사람, 이 글, 저 글을 통해 얻은 정보들로 환경을 셋업해둔 탓에 새로 받은 장비에 설치하기가 겁나더군요.

하지만, 우리의 사랑 마이크로소프트는 비주얼 스튜디오 코드의 개발 환경을 동일하게 맞추어주는 도구를 내장해 두었습니다. 이름하여 <Setting Sync> 기능입니다. 이 기능은 원격지에 비주얼 스튜디오 코드의 환경 정보를 저장하고, 동일한 계정으로 로그인하는 비주얼 스튜디오 코드들에 대하여 환경 정보를 동기화 하도록 합니다.


1단계 - 원본 컴퓨터에서의 작업

당연하겠지만 우리가 제일 먼저 해야 할일은 원본 컴퓨터 혹은 환경 셋업이 되어 있는 컴퓨터에서 개발 환경 정보를 <Setting Sync> 기능을 통해 원격지에 저장하는 것입니다. 비주얼 스튜디오 코드를 실행하고 아래의 단계를 따라하면 손쉽게 설정할 수 있습니다. 

<Settings Sync> 기능 활성화하기

우선 <Settings Sync> 기능을 활성화 해보겠습니다. 비주얼 스튜디오 코드의 좌측 하단의 프로필 이미지를 누르면 <Turn on Settings Sync...> 메뉴가 있습니다. 선택해보겠습니다.

잘 동작하는 기능입니다만 아직 프리뷰 Preview 단계이기 때문에 간단한 동의 절차를 거쳐야 합니다. 문서를 읽어 보시거나 <Turn On> 버튼을 눌러 동기화 기능을 활성화 합니다. 

<Turn On> 을 누르면 <Settings Sync> 커맨드 팝업이 뜹니다. 동기화할 항목을 선택할 수 있으며 저는 완전히 동일한 환경을 만들기 위해 모든 항목을 선택된 상태 그대로 두었습니다. 로그인 되어 있지 않기 때문에 <Sign in & Turn on>를 눌러 로그인을 하고 동기화 기능을 활성화 하겠습니다. 

사용할 수 있는 로그인 방법은 두가지 입니다. 마이크로소프트 계정이나 깃헙 계정을 이용할 수 있습니다. 개발자라면 깃헙 계정을 대부분 가지고 계실테니 저도 깃헙 계정으로 해보겠습니다. 깃헙에서 종종 보셨을 권한 승인 절차를 거치면 연동이 완료됩니다. 

깃헙에서 Continue 를 눌러 주시고...
다시 비주얼 스튜디오로 돌아가도록 팝업 승인을 하거나 토큰 창의 URL 을 브라우저에 붙여넣고...
비주얼 스튜디오 코드에서 Open 을 눌러줍니다.

승인 절차가 완료되면 비주얼 스튜디오 코드는 선택된 환경 설정에 대한 동기화 작업을 시작합니다. 동기화가 완료되면 비주얼 스튜디오 코드 우측 하단에 알림이 표시되며 <Show log> 링크를 눌러 상세한 동기화 내용을 확인할 수 있습니다. 

열심히 동기화를 잘 했군요. 굿좁!

최초 한번은 이렇게 동기화가 되고 이후 동기화에 대한 설정을 하려면 Mac 기준으로 <shift>+<command>+<p>를 눌러 커맨드 팔레트를 열어 <Settings Sync> 기능을 열어야 합니다. 아래 화면에서 <Show Settings>를 눌러보겠습니다. 

사이드바가 열리며 현재 동기화 된 설정의 내용을 확인할 수 있습니다. 이제 원래의 컴퓨터에서 해야 하는 작업은 마무리가 되었습니다. 항상 동기화가 되기 때문에 언제든 원래 컴퓨터에서 환경 설정을 바꾸면 원격지에 동기화되어 다른 컴퓨터에도 변경된 내용이 반영되게 됩니다. 

 

2단계 - 새로운 컴퓨터에서의 작업

새로운 컴퓨터에서의 작업도 크게 다르지 않습니다. 비주얼 스튜디오 코드를 실행하고 깃헙 계정으로 로그인하여 동기화된 환경 설정을 가져오도록 해보겠습니다. 원본 컴퓨터에서 했던 작업과 마찬가지로 프로필 이미지를 눌러 <Turn on Settings Sync...> 메뉴를 실행합니다.

꼼꼼하고 친절한 마이크로소프트는 이번에도 기능이 프리뷰라는 것을 알려주고 정말로 켤 것인지를 한 번 더 확인하게 합니다. 우리는 과감하게 <Turn On>을 눌러 동기화 작업을 하겠습니다. 네, 모든 것이 완전히 동일하니 따로 설명하지 않고 스크린 샷으로 대치하겠습니다. 

<Turn On> 을 누르고...
<Sign in & Turn On> 을 누르고...
원본 컴퓨터에서 쓴 것과 동일한 계정을 선택하고...
여기까지 왔는데 승인 안하면 안되니 <Continue>를 누릅니다.
스샷이 하나 빠졌는데... 여튼 확인하고 <Open>합니다.
동기화가 빠르게 완료되었네요!

계정으로 로그인 하고 동기화가 완료되면 원본 컴퓨터에서와 마찬가지로 <shift>+<command>+<p>를 눌러 <Settings Sync> 기능을 열어봅니다. 재미있는 것은 커맨드 팔레트에서 사용했던 히스토리까지 넘어와 있는게 보입니다. 바로 설치한 비주얼 스튜디오 코드인데도 말이죠!

<Settings Sync> 내용을 보면 각 항목이 여러개 나와 있는 것이 보입니다. 같은 항목에 대하여 여러번 동기화가 된 경우 히스토리 성으로 그 내역이 동기화 되고 리스트화 되어 보이는 것으로 추정됩니다 -_-;; (네, 프리뷰입니다 여러분! 오류일수도 있지만 저는 마이크로소프트를 믿습니다!!) 

왼쪽 하단의 <Synced Machines> 목록을 보면 원래의 컴퓨터와 새로운 컴퓨터가 목록에 보입니다. 알아보기 힘드니 눈에 익숙하도록 이름을 바꾸어 두었습니다. 

 


이렇게 새로운 장비에 비주얼 스튜디오 코드를 설치하고 기존의 개발 환경을 그대로 옮겨와 봤습니다. 생각보다 쉬운 절차이고 앞으로도 유용하게 사용할 수 있을 것 같은 느낌입니다. 어렵게 한 땀, 한 땀 환경 설정을 옮기지 마시고 쉽게 동기화해서 셋업 시간을 아껴보시기 바랍니다! 보다 자세한 내용은 아래의 공식 문서를 참고하세요!

code.visualstudio.com/docs/editor/settings-sync

 

Settings Sync in Visual Studio Code

Synchronize your user settings across all your Visual Studio Code instances.

code.visualstudio.com

 

728x90
728x90

코드를 만들 필요가 있을때 왠만하면 Node.js 를 이용하는 편입니다. 아무래도 익숙하기도 하거니와 자유로운 자바스크립트의 DNA 가 살아 있기 때문에 "대략 이렇게 돌아갈까?" 하는 것들이 동작하기 때문입니다. 하지만 환경에 따라서 특정한 언어를 사용해야 하는 경우에는 그 환경에 맞출 수 밖에 없는 경우도 생깁니다.

 

근래에 회사에서 제공하는 함수형 플랫폼을 사용하려다보니 (AWS 의 람다와 무척 비슷합니다) Python 을 사용할 일이 조금 생기고 있습니다. 본격적으로 다뤄본 언어도 아니고 개발환경도 익숙하지 않아 시행착오가 많이 생기고 있습니다. 오늘 만난 문제는 Visual Studio Code 에서 Python 을 사용할 때 발생하는 Unresolved Import Error 에 대한 이야기 입니다. 

 

vscode 에서 만난 생소한 너란 녀석!

첫번째 방법

python 환경에 익숙하지 않다 보니 사실 python 2.x 와 python 3.x 가 공존하는 것도 사실 좀 생소합니다. pip도 2.x 와 3.x 용을 따로 사용하고 있고 python 환경에서 코드를 구동할 때 어떤 버전의 환경에서 구동되는 것인지 헷갈릴 때가 많습니다. 어찌되었건 돌아가는 환경이 준비되면 필요한 코드를 만드는데 집중하는 식이긴 하지만 여러가지로 찜찜한게 현실입니다. 물론... 이 현실을 타개할 것이냐는 다른 이야기죠 ㅎㅎ

 

오늘 새로운 코드 작업이 필요하여 저장소를 만들고 기존에 만들었던 코드를 기반으로 보일러 플레이팅하여 코드 작업을 시작했습니다. 그런데 왠지 모르게 계속 import 구문에서 가져온 모듈에 물결표시가 생기면서 unreolved import warning 에러가 눈에 띄었습니다. 코드는 동작하긴 하는데 vscode 에서 자동완성 같은 기능들이 삐그덕 거리는 느낌이 들었습니다. 수소문해보니 해결 방법은 여러가지이지만 가장 간단했던 방법을 소개합니다. 

 

1) Ctrl + Shift + P 혹은 Cmd + Shift + P 를 누릅니다.

2) 창에 Python Select Interpreter 를 입력하고 선택합니다

 

3) 사용중인 Python 버전에 맞는 경로를 선택해 줍니다

 

이렇게 하면 vscode 에서 거슬리는 unresolved import warning 을 없앨 수 있습니다. 이렇게 지정한 Python 경로는 vscode 의 개별 과제별 환경 파일인 .vscode 경로 하위의 settings.json 에 기록됩니다. 거꾸로 얘기하면 이 파일을 직접 수정해도 동일한 효과를 얻을 수 있다는 말입니다. 저라면 Cmd + Shift + P 를 이용하는 방법을 계속 쓸 것 같습니다 ㅎㅎ

 


두번째 방법

위와 같이 해결되었다면 다행이지만 그렇지 못한 경우도 가끔 생깁니다. 이 때는 Visual Studio Code 의 인텔리센스 관련한 기능 동작에 문제가 있는 것일수도 있습니다. VIsual Studio Code 에서 문제가 되는 프로젝트를 열어둔 상태에서 Shift - Command - P 를 누릅니다. (윈도우에서는 Shift - Ctrl - P 일까요? 윈도 쓴지가 오래되서... ㅜㅜ) 

 

화면에 검색창이 나오면 Language Specific 이라고 치고 자동 완성되 목록에서 (아마도) 첫번째 항목인 "Configure Language Specific Settings..." 를 선택해 줍니다. 곧바로 사용중인 언어를 선택하는 창이 나옵니다. python 을 입력하여 python 으로 언어를 선택하겠습니다.  그러면 settings.json 파일이 로드되는 것을 확인할 수 있습니다. 

 

 

이때 열리는 settings.json 파일은 프로젝트와 관련된 파일이 아니고 Visual Studio Code 의 언어별 기본 설정입니다. 이 파일의 내용들 중 인텔리센스와 관련된 항목을 발견할 수 있는데요, 이 항목을 과감히 삭제하고 저장해 줍니다. 제 경우에는 "python.jediEnabled" 항목을 통째로 날려주었습니다 :-)

이제 프로젝트를 열어둔 Visual Studio Code 창을 닫고 다시 프로젝트를 열어보겠습니다. (아마도) Unresolved Import Error 가 사라졌을겁니다. 후훗.

 

 

[ 혼공파 - 게으른 저는... 사두고 보진 않습니다만... 여러분들은 잘 하실겁니다 ]

 

혼자 공부하는 파이썬:파이썬 최신 버전 반영

COUPANG

www.coupang.com

본 포스팅은 소정의 수수료를 지급받을 수 있습니다

728x90

+ Recent posts