back to home

microsoft / vscode-extension-samples

Sample code illustrating the VS Code extension API.

9,969 stars
3,849 forks
67 issues
TypeScriptJavaScriptRust

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing microsoft/vscode-extension-samples in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind-ai.vercel.app/repo/microsoft/vscode-extension-samples)
Preview:Analyzed by RepoMind

Repository Summary (README)

Preview
<h1 align="center"> VS Code Extension Samples </h1>

This repository contains sample code illustrating the VS Code extension API. Each sample is a self-contained extension that explains one topic in VS Code API or VS Code's Contribution Points. You can read, play with or adapt from these samples to create your own extensions.

You can expect from each sample:

  • An explanation of its functionality
  • A gif or screenshot demonstrating its usage
  • Link to a guide on VS Code website, if it has one
  • Listing of used VS Code API and Contribution Points
  • Code of the same style, enforced using ESLint

Prerequisites

You need to have node and npm installed on your system to run the examples. It is recommended to use the node version used for VS Code development itself which is documented here

Usage

  • git clone https://github.com/Microsoft/vscode-extension-samples
  • code <any-sample-folder>
  • npm install in the terminal, then F5 to run the sample
  • Alternatively, follow the instructions in each sample's README for setting up and running the sample

Getting Started

Samples

<!-- SAMPLES_BEGIN -->
SampleGuide on VS Code WebsiteAPI & Contribution
Webview Sample/api/extension-guides/webviewwindow.createWebviewPanel<br>window.registerWebviewPanelSerializer
Webview View SampleN/Awindow.registerWebviewViewProvider
Webview Codicons SampleN/A
Status Bar SampleN/Awindow.createStatusBarItem<br>StatusBarItem
Tree View Sample/api/extension-guides/tree-viewwindow.createTreeView<br>window.registerTreeDataProvider<br>TreeView<br>TreeDataProvider<br>contributes.views<br>contributes.viewsContainers
Task Provider Sample/api/extension-guides/task-providertasks.registerTaskProvider<br>Task<br>ShellExecution<br>contributes.taskDefinitions
Multi Root SampleN/Aworkspace.getWorkspaceFolder<br>workspace.onDidChangeWorkspaceFolders
Completion Provider SampleN/Alanguages.registerCompletionItemProvider<br>CompletionItem<br>SnippetString
Code Actions SampleN/Alanguages.registerCodeActionsProvider<br>CodeActionProvider
File System Provider SampleN/Aworkspace.registerFileSystemProvider
Editor Decorator SampleN/ATextEditor.setDecorations<br>DecorationOptions<br>DecorationInstanceRenderOptions<br>ThemableDecorationInstanceRenderOptions<br>window.createTextEditorDecorationType<br>TextEditorDecorationType<br>contributes.colors
L10n SampleN/A
Terminal SampleN/Awindow.createTerminal<br>window.onDidChangeActiveTerminal<br>window.onDidCloseTerminal<br>window.onDidOpenTerminal<br>window.Terminal<br>window.terminals
Extension Terminal SampleN/Awindow.createTerminal<br>window.Pseudoterminal<br>window.ExtensionTerminalOptions
Color Theme Sample/api/extension-guides/color-themecontributes.themes
Product Icon Theme Sample/api/extension-guides/product-icon-themecontributes.productIconThemes
Vim SampleN/Acommands<br>StatusBarItem<br>window.createStatusBarItem<br>TextEditorCursorStyle<br>window.activeTextEditor<br>Position<br>Range<br>Selection<br>TextEditor<br>TextEditorRevealType<br>TextDocument
webpack-sample/api/working-with-extensions/bundling-extension
esbuild-sample/api/working-with-extensions/bundling-extension
Source Control Sample/api/extension-guides/scm-providerworkspace.workspaceFolders<br>SourceControl<br>SourceControlResourceGroup<br>scm.createSourceControl<br>TextDocumentContentProvider<br>contributes.menus
Commenting API SampleN/A
Document Editing SampleN/Acommands
Custom Data Sample/api/extension-guides/custom-data-extension
CodeLens Provider SampleN/Alanguages.registerCodeLensProvider<br>CodeLensProvider<br>CodeLens
Call Hierarchy SampleN/Alanguages.registerCallHierarchyProvider<br>CallHierarchyProvider<br>CallHierarchyItem<br>CallHierarchyOutgoingCall<br>CallHierarchyIncomingCall
Custom Editors Sample/api/extension-guides/custom-editorswindow.registerCustomEditorProvider<br>CustomTextEditorProvider<br>contributes.customEditors
Semantic tokens/api/language-extensions/semantic-highlight-guidelanguages.registerDocumentSemanticTokensProvider<br>vscode.DocumentSemanticTokensProvider
Test Provider SampleN/A
Getting Started SampleN/A
notebook-renderer-sample/api/extension-guides/notebook#notebook-renderercontributes.notebookRenderer
notebook-extend-markdown-renderer-sample/api/extension-guides/notebook#notebook-renderercontributes.notebookRenderer
jupyter-server-provider-sampleN/A
Chat SampleN/A
Chat TutorialN/A
Notifications SampleN/A
<!-- SAMPLES_END -->

Language Server Protocol Samples

<!-- LSP_SAMPLES_BEGIN -->
SampleGuide on VS Code WebsiteAPI & Contribution
Snippet Sample/api/language-extensions/snippet-guidecontributes.snippets
Language Configuration Sample/api/language-extensions/language-configuration-guidecontributes.languages
LSP Sample/api/language-extensions/language-server-extension-guide
LSP Log Streaming SampleN/A
LSP Multi Root Server Samplehttps://github.com/Microsoft/vscode/wiki/Extension-Authoring:-Adopting-Multi-Root-Workspace-APIs#language-client--language-server
LSP Web Extension Sample/api/language-extensions/language-server-extension-guide
LSP User Input SampleN/A
LSP Embedded Language ServiceN/A
LSP Embedded Request ForwardingN/A
Wasm language serverN/A
<!-- LSP_SAMPLES_END -->

License

Copyright (c) Microsoft Corporation. All rights reserved.

Licensed under the MIT License.