[vscode] 다시 설치한 vscode가 낯선 당신에게

Ujeon 🍵
8 min readMar 19, 2021

--

Photo by Colin Watts on Unsplash

추측하건대, 새로운 컴퓨터를 사셨군요. 축하드립니다!! 👏

새 컴퓨터를 사고나면 이전에 사용하던 프로그램을 다시 설치해야 하죠. 단순히 설치하는 것에서 끝나면 좋으련만, 간혹 입맛에 맞게 요리조리 설정을 해둔 프로그램은 다시 설정하는 것이 여간 귀찮은 작업이 아니죠.

오늘 이야기 할 vscode를 사용하시는 분들도 그냥 사용하고 계시는 분들이 있는 반면, 이것 저것 손때가 많이 탄(?) vscode를 사용하고 계시는 분들도 있죠.

오늘은 vscode에서 설정 값들을 gist로 관리하고 다른 컴퓨터에서 다운받아서 일관적인 vscode 사용 경험을 제공하는 “Setting Sync”에 대해서 이야기 하려고 합니다.

1. Setting Sync가 무엇인가요?

이름에서도 알 수 있듯, 설정을 업로드하고 동기화 할 수 있도록 도와주는 vscode의 확장 프로그램입니다.

2. 어떤 특징이 있나요?

핵심 기능

  1. Github 계정의 토큰과 Gist를 사용합니다.
  2. 한 번의 클릭만으로 업로드와 다운로드가 가능합니다.
  3. 설정과 확장이 미치는 영향에 대한 자세한 사항을 요약하여 보여줍니다.
  4. 최신 설정을 자동으로 다운로드 합니다.
  5. 설정 파일에 변경이 있을 때 마다 자동으로 업로드 합니다.
  6. 다른 사람에게 여러분의 Gist를 공유하고 다운받을 수 있게끔 해줍니다.
  7. Github 엔터프라이즈를 지원합니다.
  8. @ sync 키워드 (host, os 그리고 env)로 pragma를 지원합니다.
  9. 셋팅과 로그의 변경을 GUI로 표현합니다.
  10. 여러분들이 가지고 계신 기기들 간에 파일 동기화가 가능합니다.

Setting Sync가 동기화하는 것들은

다음 내용을 포함하는 모든 확장프로그램과 사용자 파일을 동기화합니다.

  1. Settings 파일
  2. Keybinding 파일
  3. Launch 파일
  4. Snippets 폴더
  5. VSCode 확장 프로그램 및 확장프로그램의 설정
  6. Workspace 폴더

3. 어떻게 사용하나요?

설정을 시작하기에 앞서 두가지 준비물이 필요합니다.

  1. Github 토큰
  2. Github Gist 아이디

여러분이 처음 Setting Sync를 사용하신다면 Setting Sync 가 Gist를 생성하는 동안 Github 계정을 통해 Github 토큰을 발급받으셔야 합니다.

설정을 하기위해서는 다음단계를 거쳐야 합니다.

  • Login with Github 버튼을 클릭합니다.
  • 브라우저에서 Github에 로그인 한 다음, 성공 메시지가 표시되면 브라우저 탭을 닫습니다.
  • Setting Sync를 처음 사용하는 경우, 설정 파일을 업로드하게 되면 자동으로 GIST가 생성됩니다.
  • 이미 Github GIST가 있는 경우, Github GIST를 선택하거나 새로운 GIST를 생성할 수 있도록 skip 을 선택할 수 있는 윈도우가 열립니다.
저의 경우 이미 GIST 파일들이 존재합니다.
이전에 설정해둔 cloudSettings GIST가 목록에 없어서 skip을 클릭하고 새로 생성하였습니다.

4. 설정파일 업로드 하기

설정을 업로드하기 위해서는 다음을 입력합니다.

Shift + Alt + U (윈도우) / Shift + Option + U (맥OS)

혹은 Command Palette를 연 다음, “>Sync” 를 입력하여 업로드/업데이트를 할 수 있습니다.

업데이트가 완료되면 VSCode 우측 하단에 다음과 같은 팝업이 뜹니다.

파일 업로드가 완료되었습니다.

5. 설정파일 다운로드 하기

설정을 다운로드하기 위해서는 다음을 입력합니다.

Shift + Alt + D(윈도우) / Shift + Option + D(맥OS)

혹은 Command Palette를 연 다음, “>Sync” 를 입력하여 다운로드를 할 수 있습니다.

GIST 아이디가 필요합니다.

업로드 되어있는 cloudSettings의 GIST 아이디를 입력하면 다운로드가 됩니다.

6. 설정파일 리셋하기

설정파일 리셋은 Command Palette를 연 다음, “>Sync” 를 입력하여 리셋 옵션을 선택하면 됩니다.

7. 설정

설정은 설정 페이지에서 수정할 수 있습니다. 설정 페이지는 “> Sync : Advanced Options > Open Settings Page”를 통해 접근할 수 있습니다.

Setting Sync에는 두가지 타입의 설정이 있습니다. 설정 사항에 대해서 자세히 알고 싶으시면 여기를 참고하세요.

Gist 설정

Gist 설정은 코드의 settings.json 에 저장됩니다. Gist 설정은 다음 내용을 설정할 수 있습니다.

1. Gist 아이디 설정 (Environment)
2. Github Gist 자동 업로드 및 다운로드
3. 익스텐션 동기화 동작 구성
4. 강제 다운로드 설정
5. 강제 업로드 설정
6. 자동 동기화 설정
"sync.gist": "0c929b1a6c51015cdc9e0fe2e369ea4c",
"sync.autoDownload": false,
"sync.autoUpload": false,
"sync.forceDownload": false,
"sync.forceUpload": false,
"sync.quietSync": false,
"sync.removeExtensions": true,
"sync.syncExtensions": true

글로벌 설정

글로벌 설정은 User 폴더의 syncLocalSettings.json 에 있습니다. 이 설정은 여러 Gist 환경에 걸쳐서 공유됩니다.

Gist 설정과 마찬가지로 동기화를 커스터마이징 할 수 있습니다:

1. 업로드에서 제외할 파일, 폴더 및 설정을 지정할 수 있습니다.
2. 기본 Gist 환경 이름을 설정할 수 있습니다.
3. 다운로드 한 다음 코드 설정을 대체합니다.
4. Github에서 새로운 Gist을 생성하는 동안 Gist 설명을 변경합니다.
5. GitHub 엔터프라이즈 Url를 설정합니다
{
"ignoreUploadFiles": [
"state.*",
"syncLocalSettings.json",
".DS_Store",
"sync.lock",
"projects.json",
"projects_cache_vscode.json",
"projects_cache_git.json",
"projects_cache_svn.json",
"gpm_projects.json",
"gpm-recentItems.json"
],
"ignoreUploadFolders": [
"workspaceStorage"
],
"ignoreExtensions": [],
"gistDescription": "Visual Studio Code Settings Sync Gist",
"version": 340,
"token": "YOUR_GITHUB_TOKEN",
"downloadPublicGist": false,
"supportedFileExtensions": [ "json", "code-snippets" ],
"openTokenLink": true,
"disableUpdateMessage": false,
"lastUpload": null,
"lastDownload": null,
"githubEnterpriseUrl": null,
"askGistDescription": false,
"customFiles": {},
"hostName": null,
"universalKeybindings": false,
"autoUploadDelay": 20
}

자세히 알고 싶으시면 여기를 참고하세요.

마무리

가끔 그럴 때 있지 않나요? ‘아 이거 어떻게 했더라..?’ 아니면 ‘어디에 저장해 뒀는데…” 하는 경우요.

Setting Sync는 한 번 설정해두고 잊어버려도 된다는 것이 큰 장점인 것 같습니다. (설정해두었다는 사실 자체를 잊기도 하지만요 ㅎㅎ)

본문의 내용은 Setting Sync 레파지토리에 있는 정보를 번역한 내용입니다. 최신 정보는 레파지토리를 참고해주세요.

감사합니다.

--

--

Ujeon 🍵
Ujeon 🍵

Written by Ujeon 🍵

Hi there, this is Ujeon. I want to be a developer who passes on value through development :)

No responses yet