vscode-extension-samples README

The project's README from github.com/microsoft/vscode-extension-samples. As one markdown file: README.md.

VS Code Extension Samples

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:

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

Getting Started

Samples

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

Language Server Protocol Samples

Sample Guide on VS Code Website API & Contribution
Snippet Sample /api/language-extensions/snippet-guide contributes.snippets
Language Configuration Sample /api/language-extensions/language-configuration-guide contributes.languages
LSP Sample /api/language-extensions/language-server-extension-guide
LSP Log Streaming Sample N/A
LSP Multi Root Server Sample https://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 Sample N/A
LSP Embedded Language Service N/A
LSP Embedded Request Forwarding N/A
Wasm language server N/A

License

Copyright (c) Microsoft Corporation. All rights reserved.

Licensed under the MIT License.

vscode-extension-samples (microsoft/vscode-extension-samples)

Searching Database…

这是什么?这是微软提供的一组 VS Code 示例扩展。每个示例都是独立的扩展,分别演示 VS Code 扩展 API 的某个主题,或某个特定的贡献点(Contribution Point)。
这是一个扩展,还是很多个扩展的合集?这是很多个独立示例扩展的合集,包括 webview、树视图、状态栏、任务提供程序、源代码管理、语言服务器等。每个示例都放在自己的文件夹中,并附有自己的 README。
我该如何运行其中某个示例?克隆仓库,在 VS Code 中打开某个示例文件夹(code .),在终端中运行 npm install,然后按 F5,在新的 Extension Development Host 窗口中启动该扩展。部分示例在各自的 README 中还有额外的设置步骤。
我需要先安装什么?你需要安装 Node.js 和 npm。建议使用 VS Code 核心开发文档中规定的同一 Node 版本。
如果我是扩展开发的新手,应该从哪里开始?先从 Hello World 示例(或其最简的 JavaScript 版本)入手,了解扩展的基本结构。之后再根据需要学习 Webview、树视图或任务提供程序等特定主题的示例。
它是否也涵盖语言服务器协议(Language Server Protocol)扩展?涵盖。有一组专门的 LSP 示例,包括代码片段、语言配置、完整的 LSP 服务器、Web 扩展变体,甚至还有基于 Wasm 的语言服务器。
我能否构建可在浏览器中运行的扩展(VS Code Web)?可以。有 Hello World Web 示例和 LSP Web Extension 示例,专门用于构建兼容 VS Code for the Web 的扩展。
有没有构建聊天参与者或 AI 功能的示例?有。Chat Sample 和 Chat Tutorial 两个示例演示了聊天扩展 API。
每个示例的代码如何保持一致?所有示例都遵循相同的代码风格,并通过 ESLint 强制执行。
Creator
microsoft
Size
105.1 MB
Stars
10.2K
Updated
CommitSep 05
Age
10y
Commits · 90 Days