코딩을 하다보면 여러 컴퓨터에서 작업을 해야하는 경우가 있다.

그럴 때 자신에게 편리하게 맞춰둔 개발 환경을 다시 설정하려면 골치가 아파온다..
이는 직접적인 생산성 저하로 이어지기도 하기 때문에 중요하다!

그럼 지금부터 개발 환경별로 이 설정을 동기화할 수 있는 방법을 살펴보자.

Rule

들어가기 앞서 여기서 소개하는 방법들에 대한 원칙을 밝혀둔다.

  • 코드와 마찬가지로, 설정 역시 버전 컨트롤될 수 있는 대상으로 생각한다.

  • 가급적이면 IDE만의 특별한 방법보다는 보다 보편적으로 쓸 수 있는 방법을 사용한다.
    (한 IDE만 사용할거라는 법은 없으니)

Intellij based IDE

인텔리제이 기반의 IDE - Intellij CE, Android Studio 등에서는 settings repository라는 플러그인을 지원한다. git 저장소 하나를 설정을 위해서 사용한다고 생각하면 된다.

[Ctrl]-[A] 를 눌러 아래와 같이 Settings Repository...를 찾자.

스크린샷 2019-04-15 오후 2.19.09.png

만약 이 메뉴가 없다면 [Preferences]-[Plugins]에서 Settings Repository를 검색해서 추가하자.

스크린샷 2019-04-15 오후 2.45.55.png

들어가면 아래와 같이 Upstream URL을 입력하라고 하는데, 여기에 Github든 뭐든 자신이 설정 저장소로 사용할 저장소 링크를 첨부하자.

스크린샷 2019-04-15 오후 2.47.36.png

스크린샷 2019-04-15 오후 2.18.25.png

이후 Github의 [Settings]-[Developer Settings]-[Personal access tokens]로 이동해
Access Token을 만들고 인증하면 되는데 여기서 주의할 점이 있다.

당연하겠지만, 아래와 같이 repo에 접근할 수 있도록 scope를 설정해야 한다.

스크린샷 2019-04-15 오후 2.52.07.png

Intellij 기반의 IDE에서 설정을 싱크하는 방법에 대해서 더 궁금한 것이 있다면 공식 문서를 참고하자.

VSCode

VSCode에서는 settings sync라는 extension을 사용할 수 있다.

Intellij와 비슷하지만, 여기서는 gist를 사용한다.
따라서 github access token을 생성할 때도 gist scope에 체크를 해야 한다.

스크린샷 2019-04-15 오후 3.14.02.png

이전과 동일하게 access token을 사용해서 인증을 하면 끝.
사용법은 무척 간단해서 따로 설명할 필요도 없을 듯 하다.

[Shift]-[Alt]-[U]: 현재 설정을 업로드한다.
[Shift]-[Alt]-[D]: 최신 설정을 다운로드한다.

여담 (아직 해결하지 못한 문제들)

필자는 기존에 각 IDE별 여러 설정을 모아서 git repository에 저장하고, 필요할 때 그 저장소를 가져와서 직접 설정하는 방식을 취했다.

이 방법은 범용적이라는 장점은 있었지만 무척이나 불편해서 조금 더 좋은 방법은 없을까 조사하다가 알아낸 것들이 바로 위에서 설명한 것들이다.

두 방법은 모두 개발자들이 많이 사용하는 Github과 git의 버전 관리 시스템을 활용해서 설정을 동기화하고 있는데, 내가 봐도 이게 가장 확실한 방법이라는 생각이 든다.

한 편으로 아직 해결하지 못한 문제들 중에는 .bash_profile, .inputrc 등 터미널 개인 설정을 동기화하는 것이 남아있는데, 조만간 이런 것들을 관리할 수 있는 프로그램을 짜볼까 생각중이다.