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

일반적인 기능

일반 기능은 확장의 중요한 빌딩 블록입니다. 거의 모든 확장이 이러한 기능 중 일부를 사용합니다. 이를 활용하는 방법은 다음과 같습니다.

명령

명령은 VS Code 작동 방식의 중심입니다. 명령 팔레트를 열어 명령을 실행하고, 사용자 지정 키 바인딩을 명령에 연결하고, 마우스 오른쪽 버튼을 클릭하여 컨텍스트 메뉴에서 명령을 호출합니다.

확장은 다음을 수행할 수 있습니다.

  • vscode.commands API를 사용하여 명령을 등록하고 실행합니다.
  • contributes.commands 기여 지점을 사용하여 명령을 명령 팔레트에서 사용할 수 있도록 합니다.

확장 가이드 / 명령 주제에서 명령에 대해 자세히 알아봅니다.

구성

확장은 contributes.configuration 기여 지점을 사용하여 확장별 설정을 제공하고 workspace.getConfiguration API를 사용하여 읽을 수 있습니다.

키 바인딩

확장은 사용자 지정 키 바인딩을 추가할 수 있습니다. contributes.keybindings키 바인딩 주제에서 자세히 알아보세요.

컨텍스트 메뉴

확장은 마우스 오른쪽 버튼을 클릭할 때 VS Code UI의 다른 부분에 표시되는 사용자 지정 컨텍스트 메뉴 항목을 등록할 수 있습니다. contributes.menus 기여 지점에서 자세히 알아보세요.

데이터 저장

데이터 저장을 위한 다섯 가지 옵션이 있습니다.

  • ExtensionContext.workspaceState: 키/값 쌍을 작성할 수 있는 작업 영역 저장소입니다. VS Code는 저장소를 관리하며 동일한 작업 영역이 다시 열릴 때 복원합니다.
  • ExtensionContext.globalState: 키/값 쌍을 작성할 수 있는 전역 저장소입니다. VS Code는 저장소를 관리하며 각 확장 활성화 시 복원합니다. globalStatesetKeysForSync 메서드를 사용하여 동기화할 키를 설정하여 전역 저장소의 키/값 쌍을 선택적으로 동기화할 수 있습니다.
  • ExtensionContext.storageUri: 확장이 읽기/쓰기 액세스 권한을 갖는 로컬 디렉토리를 가리키는 작업 영역별 저장소 URI입니다. 현재 작업 영역에서만 액세스할 수 있는 대용량 파일을 저장해야 하는 경우 좋은 옵션입니다.
  • ExtensionContext.globalStorageUri: 확장이 읽기/쓰기 액세스 권한을 갖는 로컬 디렉토리를 가리키는 전역 저장소 URI입니다. 모든 작업 영역에서 액세스할 수 있는 대용량 파일을 저장해야 하는 경우 좋은 옵션입니다.
  • ExtensionContext.secrets: 암호화될 비밀(또는 민감한 모든 정보)을 위한 전역 저장소입니다. 이러한 정보는 컴퓨터 간에 동기화되지 않습니다. 데스크톱용 VS Code의 경우 Electron의 safeStorage API를 활용합니다. 웹용 VS Code의 경우 이중 키 암호화(DKE) 구현을 사용합니다.

확장 컨텍스트는 확장 진입 파일activate 함수에서 사용할 수 있습니다.

setKeysForSync 예제

확장이 여러 컴퓨터에 걸쳐 사용자 상태를 유지해야 하는 경우 vscode.ExtensionContext.globalState.setKeysForSync를 사용하여 상태를 설정 동기화에 제공하세요.

다음 패턴을 사용할 수 있습니다.

// on activate
const versionKey = 'shown.version';
context.globalState.setKeysForSync([versionKey]);

// later on show page
const currentVersion = context.extension.packageJSON.version;
const lastVersionShown = context.globalState.get(versionKey);
if (isHigher(currentVersion, lastVersionShown)) {
    context.globalState.update(versionKey, currentVersion);
}

컴퓨터 간 상태를 공유하면 사용자가 보거나 닫은 플래그를 공유하여 환영 또는 업데이트 페이지의 여러 인스턴스를 보는 문제를 방지하는 데 도움이 될 수 있습니다.

알림 표시

거의 모든 확장은 어느 시점에서든 사용자에게 정보를 표시해야 합니다. VS Code는 다른 심각도의 알림 메시지를 표시하기 위한 세 가지 API를 제공합니다.

빠른 선택

vscode.QuickPick API를 사용하면 사용자 입력을 쉽게 수집하거나 사용자가 여러 옵션 중에서 선택하도록 할 수 있습니다. QuickInput 샘플은 API를 설명합니다.

파일 선택기

확장은 window.showOpenDialog API를 사용하여 시스템 파일 선택기를 열고 파일 또는 폴더를 선택할 수 있습니다.

출력 채널

출력 패널은 OutputChannel 모음을 표시하며, 이는 로깅 목적에 매우 유용합니다. window.createOutputChannel API를 사용하여 쉽게 활용할 수 있습니다.

진행률 API

vscode.Progress API를 사용하여 사용자에게 진행률 업데이트를 보고할 수 있습니다.

ProgressLocation 옵션을 사용하여 다양한 위치에 진행률을 표시할 수 있습니다.

  • 알림 영역
  • 소스 제어 보기
  • VS Code 창의 일반 진행률

진행률 샘플은 이 API를 보여줍니다.

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