Link

공용 기능

공용 기능은 여러분의 익스텐션 블록을 짓는데에 중요합니다. 거의 모든 익스텐션이 이러한 기능 중 몇가지를 사용합니다. 다음은 이를 이용하는 방법을 설명합니다.

커맨드

커맨드는 VS Code 작동 방식의 중심입니다. 여러분은 커맨드를 실행하기 위해 Command Palette를 열어, 커스텀 키조합을 커맨드에 설정하고, 우클릭을 통해 Context 메뉴의 커맨드를 불러올 수 있습니다.

익스텐션으로 :

  • vscode.commands API를 사용하여, 커맨드를 등록하고 실행할 수 있습니다.
  • contributes.commands Contribution Point를 사용하여 커맨드를 Command Palette에서 이용할 수 있습니다.

Extension Guides / Command 주제를 참조하여, 커맨드에 대하여 더 알 수 있습니다.

구성

익스텐션은 contributes.configuration Contribution Point 를 통해서 특정 익스텐션 설정에 기여 하고, workspace.getConfiguration API를 사용하여 설정을 읽을 수 있습니다.

키바인딩

익스텐션은 커스텀 키조합을 더할 수 있습니다. contributes.keybindingsKey Bindings 주제에서 더 많은 내용을 확인하십시오.

Context 메뉴

익스텐션은 VS Code에서 우클릭을 통해 다른 부분을 보여주는 UI 커스텀 Context 메뉴를 등록 할 수 있습니다. contributes.menus Contribution Point 에서 더 많은 내용을 확인하십시오.

데이터 저장

데이터를 저장하기 위해서, 4가지 방법이 있습니다.

  • ExtensionContext.workspaceState: key/value쌍을 작업공간에 저장하기. VS Code는 동일한 작업공간이 다시 열렸을때 데이터 저장 내역을 복구 할 것입니다.
  • ExtensionContext.globalState: key/value쌍을 전역환경에 저장하기. VS Code는 각 익스텐션이 활성화 될때 데이터 저장 내역을 복구 할 것입니다.
  • ExtensionContext.storagePath: 익스텐션이 읽기/쓰기 권한을 가진 local directory 작업공간에 저장하기. 이 방법은 현재 작업공간에서만 접근가능한 큰 파일을 저장 할 때 좋습니다.
  • ExtensionContext.globalStoragePath: 익스텐션이 읽기/쓰기 권한을 가진 로컬 디렉토리를 가리키는 전역 저장 경로에 저장하기. 이 방법은 모든 작업공간에서 접근가능한 큰 파일을 저장 할 때 좋습니다.

익스텐션 context는 Extension Entry Fileactivate 기능에 사용 할 수 있습니다.

디스플레이 알림

거의 모든 익스텐션은 사용자에게 때에 따라 정보를 보여야 합니다. VS Code는 알림을 보이기 위한 3가지 API를 중요도에 따라 제공하고 있습니다.

빠른 선택

vscode.QuickPick API를 통해, 여러분은 쉽게 사용자 입력을 수집하거나, 사용자가 여러가지 선택지를 고르게 할 수 있습니다. QuickInput Sample에서 API를 설명하고 있습니다.

파일 선택

익스텐션은 vscode.window.showOpenDialog API를 이용하여 시스템의 파일 혹은 폴더를 선택 할 수 있습니다.

출력 채널

출력 패널은 로그를 남기는 목적에 적합한 여러 OutputChannel들을 보여줍니다. 여러분은 window.createOutputChannel API를 사용하여 이를 쉽게 이용 할 수 있습니다.

진행과정 API

vscode.Progress API를 사용하여 사용자에게 진행과정을 업데이트 하십시오.

진행과정은 ProgressLocation옵션을 통해 여러 위치에서 볼 수 있습니다.

  • Notification 공간에서
  • Source Control view 에서
  • VS Code 윈도우의 General progress에서

Progress Sample에서 이 API를 설명하고 있습니다.