Link

익스텐션 가이드

Hello World 예제에서 Visual Studio Code 익스텐션 API의 기본을 배우셨다면, 실제로 쓰이는 익스텐션을 작성해 볼 시간입니다. Extension Capabilities 주제에서 익스텐션에서 어떤 일을 가능 한 지에 대해 설명한다면, 이번 주제에서는 자세한 코드 가이드와 예시를 통해 특정 VS Code API를 이용한 방법을 설명 하고 있습니다.

각각의 가이드-예시 조합마다, 여러분은 다음을 확인 할 수 있습니다:

  • 커멘트로 설명이 잘 되어있는 소스 코드.
  • GIF 혹은 이미지로 제공되는 익스텐션의 사용 예시.
  • 예시 익스텐션을 실행시키는 방법.
  • 사용되는 VS Code API 리스트.
  • 사용되는 Contribution Points 리스트.
  • 예시와 유사한 실제 익스텐션.
  • API 컨셉에 대한 설명.

가이드 & 예시

다음은 가이드와 예시의 목록들입니다. 각각의 가이드는 해당하는 샘플 코드와 표기하고 있지만, 몇몇 샘플은 아직 해당하는 가이드가 없습니다.

각 샘플은 하나의 VS Code API 혹은 Contribution Point를 사용 예를 설명 하고 있습니다.

예시VS Code Website의 가이드API & Contribution
웹 뷰/api/extension-guides/webviewwindow.createWebviewPanel
window.registerWebviewPanelSerializer
상태 바N/Awindow.createStatusBarItem
StatusBarItem
트리 뷰/api/extension-guides/tree-viewwindow.createTreeView
window.registerTreeDataProvider
TreeView
TreeDataProvider
contributes.views
contributes.viewsContainers
작업 제공자/api/extension-guides/task-providertasks.registerTaskProvider
Task
ShellExecution
contributes.taskDefinitions
다중 루트N/Aworkspace.getWorkspaceFolder
workspace.onDidChangeWorkspaceFolders
완성 제공자N/Alanguages.registerCompletionItemProvider
CompletionItem
SnippetString
파일 시스템 제공자N/Aworkspace.registerFileSystemProvider
Editor Decoractor SampleN/ATextEditor.setDecorations
DecorationOptions
DecorationInstanceRenderOptions
ThemableDecorationInstanceRenderOptions
window.createTextEditorDecorationType
TextEditorDecorationType
contributes.colors
I18nN/A 
터미널N/Awindow.createTerminal
window.onDidChangeActiveTerminal
window.onDidCloseTerminal
window.onDidOpenTerminal
window.Terminal
window.terminals
VimN/Acommands
StatusBarItem
window.createStatusBarItem
TextEditorCursorStyle
window.activeTextEditor
Position
Range
Selection
TextEditor
TextEditorRevealType
TextDocument
소스 컨트롤https://code.visualstudio.com/api/extension-guides/scm-providerworkspace.workspaceFolders
SourceControl
SourceControlResourceGroup
scm.createSourceControl
TextDocumentContentProvider
contributes.menus
API에 커멘트N/A 
문서 수정N/Acommands

언어 익스텐션