이 출시되었습니다! 11월의 새로운 기능 및 수정 사항을 읽어보세요.

설정 동기화

설정 동기화를 사용하면 설정, 키보드 바로 가기, 설치된 확장 프로그램과 같은 Visual Studio Code 구성을 컴퓨터 간에 공유하여 항상 좋아하는 설정으로 작업할 수 있습니다.

참고: VS Code는 원격 창(SSH, 개발 컨테이너(devcontainer) 또는 WSL에 연결된 경우 등)으로 확장 프로그램을 동기화하거나 확장 프로그램에서 동기화하지 않습니다.

설정 동기화 켜기

작업 표시줄 하단의 관리 톱니바퀴 메뉴 또는 계정 메뉴에서 설정 백업 및 동기화... 항목을 사용하여 동기화 설정을 켤 수 있습니다.

Screenshot of the Manage menu, highlighting the Backup and Sync Settings command.

동기화 설정을 사용하려면 로그인하고 동기화하려는 설정을 선택해야 합니다. 현재 설정 동기화는 다음 설정을 지원합니다.

  • 설정
  • 키보드 단축키
  • 사용자 스니펫
  • 사용자 작업
  • UI 상태
  • 확장
  • 프로필

Screenshot of the Settings Sync configure Quick Pick to select the settings to synchronize.

로그인 버튼을 선택하면 Microsoft 또는 GitHub 계정으로 로그인하는 옵션을 선택할 수 있습니다.

Screenshot of the Settings Sync Quick Pick to choose an account type.

이 선택을 한 후 브라우저가 열리면 Microsoft 또는 GitHub 계정으로 로그인할 수 있습니다. Microsoft 계정을 선택하는 경우 Outlook 계정과 같은 개인 계정 또는 Azure 계정을 사용할 수 있으며, GitHub 계정을 새 Microsoft 계정 또는 기존 Microsoft 계정에 연결할 수도 있습니다.

로그인 후 설정 동기화가 켜지고 백그라운드에서 환경 설정을 자동으로 계속 동기화합니다.

병합 또는 바꾸기

이미 한 컴퓨터에서 동기화했고 다른 컴퓨터에서 동기화를 켜는 경우 다음 병합 또는 바꾸기 대화 상자가 표시됩니다.

Settings Sync Merge or Replace dialog

  • 병합: 이 옵션을 선택하면 로컬 설정을 클라우드의 원격 설정과 병합합니다.
  • 로컬 바꾸기: 이 옵션을 선택하면 클라우드의 원격 설정으로 로컬 설정을 덮어씁니다.
  • 수동으로 병합...: 이 옵션을 선택하면 병합 보기가 열리고 환경 설정을 하나씩 병합할 수 있습니다.

Settings Sync Merges

동기화되는 데이터 구성

머신 설정(machine 또는 machine-overridable 범위 포함)은 해당 값이 특정 머신에 고유하므로 기본적으로 동기화되지 않습니다. 설정 편집기나 settingsSync.ignoredSettings 설정을 사용하여 이 목록에 추가하거나 제거하려는 설정을 추가할 수도 있습니다.

Settings Sync ignored settings

키보드 바로 가기는 기본적으로 플랫폼별로 동기화됩니다. 키보드 바로 가기가 플랫폼에 구애받지 않는 경우 settingsSync.keybindingsPerPlatform 설정을 비활성화하여 플랫폼 간에 동기화할 수 있습니다.

설치된 모든 내장 확장 프로그램과 설치된 확장 프로그램은 전역 사용 설정 상태와 함께 동기화됩니다. 확장 프로그램 보기(⇧⌘X (Windows, Linux Ctrl+Shift+X))에서 또는 settingsSync.ignoredExtensions 설정을 사용하여 확장 프로그램 동기화를 건너뛸 수 있습니다.

Settings Sync ignored settings

현재 동기화되는 UI 상태는 다음과 같습니다.

  • 표시 언어
  • 작업 표시줄 항목
  • 패널 항목
  • 보기 레이아웃 및 가시성
  • 최근 사용한 명령
  • 다시 표시하지 않는 알림

설정 동기화: 구성 명령을 사용하거나 관리 톱니바퀴 메뉴를 열고 설정 동기화 켜짐을 선택한 다음 설정 동기화: 구성을 선택하여 동기화되는 항목을 언제든지 변경할 수 있습니다.

충돌

여러 컴퓨터 간에 설정을 동기화할 때 가끔 충돌이 발생할 수 있습니다. 충돌은 컴퓨터 간에 동기화를 처음 설정하거나 컴퓨터가 오프라인 상태일 때 설정이 변경될 때 발생할 수 있습니다. 충돌이 발생하면 다음 옵션이 제공됩니다.

  • 로컬 수락: 이 옵션을 선택하면 클라우드의 원격 설정을 로컬 설정으로 덮어씁니다.
  • 원격 수락: 이 옵션을 선택하면 클라우드의 원격 설정으로 로컬 설정을 덮어씁니다.
  • 충돌 보기: 이 옵션을 선택하면 소스 제어 충돌 편집기와 유사한 비교 편집기가 표시되어 로컬 및 원격 설정을 미리 보고 로컬 또는 원격을 수락하거나 로컬 설정 파일에서 변경 사항을 수동으로 해결한 다음 로컬 파일을 수락할 수 있습니다.

계정 전환

언제든지 다른 계정으로 데이터를 동기화하려면 설정 동기화를 끄고 다른 계정으로 다시 켤 수 있습니다. 동기화를 끄는 명령은 설정 동기화: 끄기입니다.

안정 버전과 미리 보기 버전 동기화

기본적으로 VS Code 안정 버전과 미리 보기 빌드는 다른 설정 동기화 서비스를 사용하므로 설정을 공유하지 않습니다. 설정 동기화를 켜는 동안 안정 버전 동기화 서비스를 선택하여 미리 보기 버전을 안정 버전과 동기화할 수 있습니다. 이 옵션은 VS Code 미리 보기 버전에서만 사용할 수 있습니다.

Settings Sync Switch Service

참고: 미리 보기 빌드는 안정 버전 빌드보다 최신이므로 동기화하면 데이터 비호환성이 발생할 수 있습니다. 이 경우 데이터 불일치를 방지하기 위해 안정 버전에서 설정 동기화가 자동으로 비활성화됩니다. 안정 버전 빌드의 최신 버전이 릴리스되면 안정 버전 클라이언트를 업그레이드하고 동기화를 켜서 동기화를 계속할 수 있습니다.

데이터 복원

VS Code는 동기화 중에 항상 환경 설정의 로컬 및 원격 백업을 저장하고 이러한 백업에 액세스할 수 있는 보기를 제공합니다. 문제가 발생하면 이러한 보기에서 데이터를 복원할 수 있습니다.

Settings Sync backup views

명령 팔레트에서 설정 동기화: 동기화된 데이터 보기 명령을 사용하여 이러한 보기를 열 수 있습니다. 로컬 동기화 활동 보기는 기본적으로 숨겨져 있으며 설정 동기화 보기 오버플로 작업의 보기 하위 메뉴를 사용하여 활성화할 수 있습니다.

Settings Sync enable local backup views

디스크의 로컬 백업 폴더는 설정 동기화: 로컬 백업 폴더 열기 명령을 통해 액세스할 수 있습니다. 폴더는 환경 설정 유형별로 구성되며 백업이 발생한 타임스탬프가 포함된 JSON 파일 버전을 포함합니다.

참고: 로컬 백업은 30일 후에 자동으로 삭제됩니다. 원격 백업의 경우 각 개별 리소스(설정, 확장 프로그램 등)의 최신 20개 버전이 유지됩니다.

동기화된 컴퓨터

VS Code는 환경 설정을 동기화하는 컴퓨터를 추적하고 액세스할 수 있는 보기를 제공합니다. 각 컴퓨터에는 VS Code 유형(미리 보기 또는 안정 버전)과 해당 컴퓨터의 플랫폼을 기반으로 기본 이름이 지정됩니다. 보기의 컴퓨터 항목에서 사용할 수 있는 편집 작업을 사용하여 컴퓨터 이름을 항상 업데이트할 수 있습니다. 또한 보기의 컴퓨터 항목에서 설정 동기화 끄기 컨텍스트 메뉴 작업을 사용하여 다른 컴퓨터에서 동기화를 비활성화할 수 있습니다.

Settings Sync machines views

명령 팔레트에서 설정 동기화: 동기화된 데이터 보기 명령을 사용하여 이 보기를 열 수 있습니다.

확장 프로그램 작성자

확장 프로그램 작성자인 경우 사용자가 설정 동기화를 활성화할 때 확장 프로그램이 적절하게 작동하도록 해야 합니다. 예를 들어, 확장 프로그램이 여러 컴퓨터에서 동일한 무시된 알림이나 환영 페이지를 표시하지 않도록 하려는 경우가 있을 수 있습니다.

컴퓨터 간에 사용자 전역 상태 동기화

확장 프로그램이 다른 컴퓨터 간에 사용자 상태를 유지해야 하는 경우 vscode.ExtensionContext.globalState.setKeysForSync를 사용하여 설정 동기화에 상태를 제공하십시오. UI에서 무시되거나 보기를 표시한 플래그와 같은 상태를 컴퓨터 간에 공유하면 더 나은 사용자 경험을 제공할 수 있습니다.

setKeysforSync를 사용하는 예는 확장 프로그램 기능 토픽에서 확인할 수 있습니다.

문제 보고

설정 동기화 활동은 로그(설정 동기화) 출력 보기에서 모니터링할 수 있습니다. 설정 동기화에 문제가 발생하는 경우 이 로그를 포함하여 문제를 생성하십시오. 인증과 관련된 문제인 경우 계정 출력 보기의 로그도 포함하십시오.

내 데이터를 삭제하려면 어떻게 해야 하나요?

서버에서 모든 데이터를 제거하려면 관리 톱니바퀴 메뉴 아래에서 사용할 수 있는 설정 동기화 켜짐 메뉴를 통해 동기화를 끄고 모든 클라우드 데이터를 지우는 확인란을 선택하기만 하면 됩니다. 동기화를 다시 활성화하기로 선택하면 처음 로그인하는 것과 같습니다.

다음 단계

자주 묻는 질문

VS Code 설정 동기화는 설정 동기화 확장 프로그램과 동일한가요?

아니요, Shan Khan이 만든 설정 동기화 확장 프로그램은 GitHub의 개인 Gist를 사용하여 VS Code 설정을 다른 컴퓨터 간에 공유하며 VS Code 설정 동기화와는 관련이 없습니다.

설정 동기화 로그인에 어떤 종류의 계정을 사용할 수 있나요?

VS Code 설정 동기화는 Microsoft 계정(예: Outlook 또는 Azure 계정) 또는 GitHub 계정으로 로그인하는 것을 지원합니다. GitHub Enterprise 계정으로 로그인은 지원되지 않습니다. 다른 인증 공급자가 향후 지원될 수 있으며 이슈 #88309에서 제안된 인증 공급자 API를 검토할 수 있습니다.

참고: VS Code 설정 동기화는 현재 Microsoft Sovereign Cloud 계정 사용을 지원하지 않습니다. 이러한 기능이 필요하다면 이 GitHub 이슈에서 어떤 종류의 Microsoft Sovereign Cloud를 사용하고 싶은지 알려주세요.

설정 동기화에 다른 백엔드나 서비스를 사용할 수 있나요?

설정 동기화는 설정을 저장하고 업데이트를 조정하기 위한 전용 서비스를 사용합니다. 향후 사용자 지정 설정 동기화 백엔드를 허용하기 위해 서비스 공급자 API가 노출될 수 있습니다.

키체인 문제 해결

참고: 이 섹션은 VS Code 버전 1.80 이상에 적용됩니다. 1.80에서는 아카이브로 인해 keytar에서 Electron의 safeStorage API로 전환했습니다.

참고: keychain, keyring, wallet, credential store는 이 문서에서 동의어로 사용됩니다.

설정 동기화는 암호화를 위해 OS 키체인을 사용하여 데스크톱의 인증 정보를 유지합니다. 키체인이 잘못 구성되었거나 환경을 인식하지 못하는 경우 키체인 사용이 실패할 수 있습니다.

문제 해결에 도움이 되도록 다음 플래그로 VS Code를 다시 시작하여 자세한 로그를 생성할 수 있습니다.

code --verbose --vmodule="*/components/os_crypt/*=1"

Windows 및 macOS

현재 Windows 또는 macOS에는 알려진 구성 문제가 없지만 문제가 있다고 의심되는 경우 위의 자세한 로그와 함께 VS Code에 이슈를 여세요. 추가 데스크톱 구성을 지원하는 데 중요합니다.

Linux

이전 명령의 로그 상단에서 다음과 유사한 내용을 볼 수 있습니다.

[9699:0626/093542.027629:VERBOSE1:key_storage_util_linux.cc(54)] Password storage detected desktop environment: GNOME
[9699:0626/093542.027660:VERBOSE1:key_storage_linux.cc(122)] Selected backend for OSCrypt: GNOME_LIBSECRET

Chromium의 oscrypt 모듈을 사용하여 암호화 키 정보를 keyring에서 검색하고 저장합니다. Chromium은 다양한 데스크톱 환경을 지원합니다. 아래에는 몇 가지 인기 있는 데스크톱 환경과 keyring이 잘못 구성된 경우 도움이 될 수 있는 문제 해결 단계가 나와 있습니다.

GNOME 또는 UNITY(또는 유사)

"잠긴 컬렉션에 항목을 만들 수 없습니다" 오류가 표시되는 경우 keyring의 로그인 keyring이 잠겨 있을 가능성이 높습니다. OS의 keyring(Seahorse는 keyring을 보는 데 일반적으로 사용되는 GUI입니다)을 시작하고 기본 keyring(보통 로그인 keyring이라고 함)이 잠금 해제되었는지 확인해야 합니다. 이 keyring은 시스템에 로그인할 때 잠금 해제되어야 합니다.

KDE

KDE 6은 아직 Visual Studio Code에서 완전히 지원되지 않습니다. 해결 방법: 최신 kwallet6는 kwallet5로도 액세스할 수 있으므로 아래 VS Code에서 사용할 keyring 구성에 설명된 대로 암호 저장소를 kwallet5로 설정하여 kwallet5를 사용하도록 강제할 수 있습니다.

지갑(keyring)이 닫혔을 수 있습니다. KWalletManager를 열면 기본 kdewallet이 닫혔는지 확인할 수 있으며, 닫혔다면 열어야 합니다.

KDE5 이상을 사용 중이고 kwallet5에 연결하는 데 문제가 있는 경우(비공식 VS Code Flatpak 사용자 이슈 #189672 참조) keyring을 gnome-libsecret로 구성해 보세요. 이렇게 하면 Secret Service API를 사용하여 유효한 keyring과 통신합니다. kwallet5는 Secret Service API를 구현하며 이 방법을 통해 액세스할 수 있습니다.

kwallet5에 연결하는 데 여전히 문제가 있는 경우 일부 사용자는 특정 D-Bus 서비스 권한을 부여하는 것이 유효한 수정 방법이라고 보고했습니다.

flatpak override --user --talk-name=org.kde.kwalletd5 --talk-name=org.freedesktop.secrets com.visualstudio.code

기타 Linux 데스크톱 환경

먼저, 데스크톱 환경이 감지되지 않은 경우 위의 자세한 로그와 함께 VS Code에 이슈를 여세요. 추가 데스크톱 구성을 지원하는 데 중요합니다.

password-store 플래그를 전달하여 VS Code에서 사용할 keyring을 수동으로 지정할 수 있습니다. 권장 구성은 먼저 gnome-keyring을 설치한 다음 code --password-store="gnome-libsecret"으로 VS Code를 시작하는 것입니다.

이 솔루션이 작동하는 경우, 명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))를 열고 환경 설정: 런타임 인수 구성 명령을 실행하여 password-store 값을 영구적으로 저장할 수 있습니다. 그러면 argv.json 파일이 열리고 여기서 "password-store":"gnome-libsecret" 설정을 추가할 수 있습니다.

gnome-keyring과 다른 keyring을 사용하고 싶다면 password-store의 모든 가능한 값은 다음과 같습니다.

암호 저장소가 자동으로 감지되지 않은 경우 이슈 #187338에서 설정을 확인하십시오. 그렇지 않은 경우 해당 설정에 대한 내용을 포함하거나 자동 암호 저장소 감지와 관련된 문제가 아니라고 생각되면 자세한 로그와 함께 VS Code에 이슈를 여세요.

Chromium의 oscrypt 모듈을 사용하여 암호화 키 정보를 keyring에서 검색하고 저장합니다. Chromium은 Chromium 소스에 하드코딩된 문자열을 기반으로 하는 메모리 내 키를 사용하는 선택적 대체 암호화 전략을 제공합니다. 이 때문에 이 대체 전략은 기껏해야 난독화에 불과하며, 시스템의 어떤 프로세스든 저장된 비밀을 해독할 수 있다는 위험을 감수하는 경우에만 사용해야 합니다.

이 위험을 수락하는 경우, 명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))를 열고 환경 설정: 런타임 인수 구성 명령을 실행하여 password-storebasic으로 설정할 수 있습니다. 그러면 argv.json 파일이 열리고 여기서 "password-store":"basic" 설정을 추가할 수 있습니다.

VS Code 안정 버전과 미리 보기 버전 간에 설정을 공유할 수 있나요?

예. 자세한 내용은 안정 버전과 미리 보기 버전 동기화 섹션을 참조하십시오.

미리 보기 빌드는 안정 버전 빌드보다 최신이기 때문에 데이터 비호환성이 발생할 수 있다는 점에 유의하십시오. 이 경우 데이터 불일치를 방지하기 위해 안정 버전에서 설정 동기화가 자동으로 비활성화됩니다. 안정 버전 빌드의 최신 버전이 릴리스되면 클라이언트를 업그레이드하고 설정 동기화를 켜서 동기화를 계속할 수 있습니다.

© . This site is unofficial and not affiliated with Microsoft.