Merge branch 'master' into patch-1

This commit is contained in:
Daniel Imms
2018-12-27 11:09:37 -08:00
committed by GitHub
26 changed files with 91 additions and 137 deletions

View File

@ -5,7 +5,7 @@ The quickest way is to start your project by copying [.base-sample](https://gith
## 1: Sample Listing
- 1.1: Each sample should add itself to the sample listing at `.scripts/samples.js`. This file will be used for generating tables in the README and on the [Extension Guides / Overview](https://vscode-ext-docs.azurewebsites.net/api/extension-guides/overview) topic of the website.
- 1.1: Each sample should add itself to the sample listing at `.scripts/samples.js`. This file will be used for generating tables in the README and on the [Extension Guides / Overview](https://code.visualstudio.com/api/extension-guides/overview) topic of the website.
- 1.2: Each sample should list the API / Contribution that it means to illustrate.
## 2: README

View File

@ -21,7 +21,7 @@ const samples = [
{
description: 'Status Bar Sample',
path: 'statusbar-sample',
guide: '/api/extension-guides/status-bar',
guide: null,
apis: ['window.createStatusBarItem', 'StatusBarItem'],
contributions: []
},
@ -128,10 +128,24 @@ const samples = [
/** @type {Sample[]} */
const lspSamples = [
{
description: 'Snippet Sample',
path: 'snippet-sample',
guide: '/api/language-extensions/snippet-guide',
apis: [],
contributions: ['snippets']
},
{
description: 'Language Configuration Sample',
path: 'language-configuration-sample',
guide: '/api/language-extensions/language-configuration-guide',
apis: [],
contributions: ['languages']
},
{
description: 'LSP Sample',
path: 'lsp-sample',
guide: '/api/language-extensions/smart-editing-lsp-guide',
guide: '/api/language-extensions/language-server-extension-guide',
apis: [],
contributions: []
},
@ -149,20 +163,6 @@ const lspSamples = [
'https://github.com/Microsoft/vscode/wiki/Extension-Authoring:-Adopting-Multi-Root-Workspace-APIs#language-client--language-server',
apis: [],
contributions: []
},
{
description: 'Language Configuration Sample',
path: 'language-configuration-sample',
guide: '/api/language-extensions/language-configuration-guide',
apis: [],
contributions: ['languages']
},
{
description: 'Snippet Sample',
path: 'snippet-sample',
guide: '/api/language-extensions/snippet-guide',
apis: [],
contributions: ['snippets']
}
]

View File

@ -12,21 +12,21 @@ const LSP_TABLE_HEAD = `<!-- LSP_SAMPLES_BEGIN -->
const LSP_TABLE_END = `<!-- LSP_SAMPLES_END -->`
const getTableRow = sample => {
const descriptionCell = `[${sample.description}](${sample.path})`
const descriptionCell = `[${sample.description}](https://github.com/Microsoft/vscode-extension-samples/tree/master/${sample.path})`
let guideCell
if (!sample.guide) {
guideCell = 'N/A'
} else if (sample.guide && sample.guide.startsWith('http')) {
guideCell = sample.guide
} else {
guideCell = `[${sample.guide}](https://vscode-ext-docs.azurewebsites.net${sample.guide})`
guideCell = `[${sample.guide}](https://code.visualstudio.com${sample.guide})`
}
const apis = sample.apis.map(api => {
return `[${api}](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#${api})`
return `[${api}](https://code.visualstudio.com/api/references/vscode-api#${api})`
})
const contributions = sample.contributions.map(c => {
return `[contributes.${c}](https://vscode-ext-docs.azurewebsites.net/api/references/contribution-points#contributes.${c})`
return `[contributes.${c}](https://code.visualstudio.com/api/references/contribution-points#contributes.${c})`
})
const apiAndContributionCell = apis.concat(contributions).join('<br>')

View File

@ -2,7 +2,7 @@
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](https://code.visualstudio.com/docs/extensionAPI/vscode-api) or VS Code's [Contribution Points](https://code.visualstudio.com/docs/extensionAPI/extension-points). You can read, play with or adapt from these samples to create your own extensions.
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](https://code.visualstudio.com/api/references/vscode-api) or VS Code's [Contribution Points](https://code.visualstudio.com/api/references/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
@ -25,22 +25,20 @@ You can expect from each sample:
## Samples
**:construction: Some links point to our work-in-progress [API Extension](https://vscode-ext-docs.azurewebsites.net/api) documentation that is not yet published :construction:**
<!-- SAMPLES_BEGIN -->
| Sample | Guide on VS Code Website | API & Contribution |
| ------ | ----- | --- |
| [Webview Sample](webview-sample) | [/api/extension-guides/webview](https://vscode-ext-docs.azurewebsites.net/api/extension-guides/webview) | [window.createWebviewPanel](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.createWebviewPanel)<br>[window.registerWebviewPanelSerializer](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.registerWebviewPanelSerializer) |
| [Status Bar Sample](statusbar-sample) | [/api/extension-guides/status-bar](https://vscode-ext-docs.azurewebsites.net/api/extension-guides/status-bar) | [window.createStatusBarItem](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.createStatusBarItem)<br>[StatusBarItem](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#StatusBarItem) |
| [Tree View Sample](tree-view-sample) | [/api/extension-guides/tree-view](https://vscode-ext-docs.azurewebsites.net/api/extension-guides/tree-view) | [window.createTreeView](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.createTreeView)<br>[window.registerTreeDataProvider](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.registerTreeDataProvider)<br>[TreeView](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#TreeView)<br>[TreeDataProvider](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#TreeDataProvider)<br>[contributes.views](https://vscode-ext-docs.azurewebsites.net/api/references/contribution-points#contributes.views)<br>[contributes.viewsContainers](https://vscode-ext-docs.azurewebsites.net/api/references/contribution-points#contributes.viewsContainers) |
| [Task Provider Sample](task-provider-sample) | [/api/extension-guides/task-provider](https://vscode-ext-docs.azurewebsites.net/api/extension-guides/task-provider) | [tasks.registerTaskProvider](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#tasks.registerTaskProvider)<br>[Task](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#Task)<br>[ShellExecution](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#ShellExecution)<br>[contributes.taskDefinitions](https://vscode-ext-docs.azurewebsites.net/api/references/contribution-points#contributes.taskDefinitions) |
| [Multi Root Sample](basic-multi-root-sample) | N/A | [workspace.getWorkspaceFolder](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#workspace.getWorkspaceFolder)<br>[workspace.onDidChangeWorkspaceFolders](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#workspace.onDidChangeWorkspaceFolders) |
| [Completion Provider Sample](completions-sample) | N/A | [languages.registerCompletionItemProvider](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#languages.registerCompletionItemProvider)<br>[CompletionItem](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#CompletionItem)<br>[SnippetString](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#SnippetString) |
| [File System Provider Sample](fsprovider-sample) | N/A | [workspace.registerFileSystemProvider](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#workspace.registerFileSystemProvider) |
| [Editor Decoractor Sample](decorator-sample) | N/A | [TextEditor.setDecorations](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#TextEditor.setDecorations)<br>[DecorationOptions](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#DecorationOptions)<br>[DecorationInstanceRenderOptions](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#DecorationInstanceRenderOptions)<br>[ThemableDecorationInstanceRenderOptions](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#ThemableDecorationInstanceRenderOptions)<br>[window.createTextEditorDecorationType](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.createTextEditorDecorationType)<br>[TextEditorDecorationType](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#TextEditorDecorationType)<br>[contributes.colors](https://vscode-ext-docs.azurewebsites.net/api/references/contribution-points#contributes.colors) |
| [I18n Sample](i18n-sample) | N/A | |
| [Terminal Sample](terminal-sample) | N/A | [window.createTerminal](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.createTerminal)<br>[window.onDidChangeActiveTerminal](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.onDidChangeActiveTerminal)<br>[window.onDidCloseTerminal](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.onDidCloseTerminal)<br>[window.onDidOpenTerminal](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.onDidOpenTerminal)<br>[window.Terminal](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.Terminal)<br>[window.terminals](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.terminals) |
| [Vim Sample](vim-sample) | N/A | [commands](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#commands)<br>[StatusBarItem](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#StatusBarItem)<br>[window.createStatusBarItem](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.createStatusBarItem)<br>[TextEditorCursorStyle](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#TextEditorCursorStyle)<br>[window.activeTextEditor](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.activeTextEditor)<br>[Position](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#Position)<br>[Range](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#Range)<br>[Selection](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#Selection)<br>[TextEditor](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#TextEditor)<br>[TextEditorRevealType](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#TextEditorRevealType)<br>[TextDocument](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#TextDocument) |
| [Webview Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/webview-sample) | [/api/extension-guides/webview](https://code.visualstudio.com/api/extension-guides/webview) | [window.createWebviewPanel](https://code.visualstudio.com/api/references/vscode-api#window.createWebviewPanel)<br>[window.registerWebviewPanelSerializer](https://code.visualstudio.com/api/references/vscode-api#window.registerWebviewPanelSerializer) |
| [Status Bar Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/statusbar-sample) | N/A | [window.createStatusBarItem](https://code.visualstudio.com/api/references/vscode-api#window.createStatusBarItem)<br>[StatusBarItem](https://code.visualstudio.com/api/references/vscode-api#StatusBarItem) |
| [Tree View Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/tree-view-sample) | [/api/extension-guides/tree-view](https://code.visualstudio.com/api/extension-guides/tree-view) | [window.createTreeView](https://code.visualstudio.com/api/references/vscode-api#window.createTreeView)<br>[window.registerTreeDataProvider](https://code.visualstudio.com/api/references/vscode-api#window.registerTreeDataProvider)<br>[TreeView](https://code.visualstudio.com/api/references/vscode-api#TreeView)<br>[TreeDataProvider](https://code.visualstudio.com/api/references/vscode-api#TreeDataProvider)<br>[contributes.views](https://code.visualstudio.com/api/references/contribution-points#contributes.views)<br>[contributes.viewsContainers](https://code.visualstudio.com/api/references/contribution-points#contributes.viewsContainers) |
| [Task Provider Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/task-provider-sample) | [/api/extension-guides/task-provider](https://code.visualstudio.com/api/extension-guides/task-provider) | [tasks.registerTaskProvider](https://code.visualstudio.com/api/references/vscode-api#tasks.registerTaskProvider)<br>[Task](https://code.visualstudio.com/api/references/vscode-api#Task)<br>[ShellExecution](https://code.visualstudio.com/api/references/vscode-api#ShellExecution)<br>[contributes.taskDefinitions](https://code.visualstudio.com/api/references/contribution-points#contributes.taskDefinitions) |
| [Multi Root Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/basic-multi-root-sample) | N/A | [workspace.getWorkspaceFolder](https://code.visualstudio.com/api/references/vscode-api#workspace.getWorkspaceFolder)<br>[workspace.onDidChangeWorkspaceFolders](https://code.visualstudio.com/api/references/vscode-api#workspace.onDidChangeWorkspaceFolders) |
| [Completion Provider Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/completions-sample) | N/A | [languages.registerCompletionItemProvider](https://code.visualstudio.com/api/references/vscode-api#languages.registerCompletionItemProvider)<br>[CompletionItem](https://code.visualstudio.com/api/references/vscode-api#CompletionItem)<br>[SnippetString](https://code.visualstudio.com/api/references/vscode-api#SnippetString) |
| [File System Provider Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/fsprovider-sample) | N/A | [workspace.registerFileSystemProvider](https://code.visualstudio.com/api/references/vscode-api#workspace.registerFileSystemProvider) |
| [Editor Decoractor Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/decorator-sample) | N/A | [TextEditor.setDecorations](https://code.visualstudio.com/api/references/vscode-api#TextEditor.setDecorations)<br>[DecorationOptions](https://code.visualstudio.com/api/references/vscode-api#DecorationOptions)<br>[DecorationInstanceRenderOptions](https://code.visualstudio.com/api/references/vscode-api#DecorationInstanceRenderOptions)<br>[ThemableDecorationInstanceRenderOptions](https://code.visualstudio.com/api/references/vscode-api#ThemableDecorationInstanceRenderOptions)<br>[window.createTextEditorDecorationType](https://code.visualstudio.com/api/references/vscode-api#window.createTextEditorDecorationType)<br>[TextEditorDecorationType](https://code.visualstudio.com/api/references/vscode-api#TextEditorDecorationType)<br>[contributes.colors](https://code.visualstudio.com/api/references/contribution-points#contributes.colors) |
| [I18n Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/i18n-sample) | N/A | |
| [Terminal Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/terminal-sample) | N/A | [window.createTerminal](https://code.visualstudio.com/api/references/vscode-api#window.createTerminal)<br>[window.onDidChangeActiveTerminal](https://code.visualstudio.com/api/references/vscode-api#window.onDidChangeActiveTerminal)<br>[window.onDidCloseTerminal](https://code.visualstudio.com/api/references/vscode-api#window.onDidCloseTerminal)<br>[window.onDidOpenTerminal](https://code.visualstudio.com/api/references/vscode-api#window.onDidOpenTerminal)<br>[window.Terminal](https://code.visualstudio.com/api/references/vscode-api#window.Terminal)<br>[window.terminals](https://code.visualstudio.com/api/references/vscode-api#window.terminals) |
| [Vim Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/vim-sample) | N/A | [commands](https://code.visualstudio.com/api/references/vscode-api#commands)<br>[StatusBarItem](https://code.visualstudio.com/api/references/vscode-api#StatusBarItem)<br>[window.createStatusBarItem](https://code.visualstudio.com/api/references/vscode-api#window.createStatusBarItem)<br>[TextEditorCursorStyle](https://code.visualstudio.com/api/references/vscode-api#TextEditorCursorStyle)<br>[window.activeTextEditor](https://code.visualstudio.com/api/references/vscode-api#window.activeTextEditor)<br>[Position](https://code.visualstudio.com/api/references/vscode-api#Position)<br>[Range](https://code.visualstudio.com/api/references/vscode-api#Range)<br>[Selection](https://code.visualstudio.com/api/references/vscode-api#Selection)<br>[TextEditor](https://code.visualstudio.com/api/references/vscode-api#TextEditor)<br>[TextEditorRevealType](https://code.visualstudio.com/api/references/vscode-api#TextEditorRevealType)<br>[TextDocument](https://code.visualstudio.com/api/references/vscode-api#TextDocument) |
<!-- SAMPLES_END -->
### Language Protocol Server Samples
@ -48,11 +46,11 @@ You can expect from each sample:
<!-- LSP_SAMPLES_BEGIN -->
| Sample | Guide on VS Code Website | API & Contribution |
| ------ | ----- | --- |
| [LSP Sample](lsp-sample) | [/api/language-extensions/smart-editing-lsp-guide](https://vscode-ext-docs.azurewebsites.net/api/language-extensions/smart-editing-lsp-guide) | |
| [LSP Log Streaming Sample](lsp-log-streaming-sample) | N/A | |
| [LSP Multi Root Server Sample](lsp-multi-server-sample) | https://github.com/Microsoft/vscode/wiki/Adopting-Multi-Root-Workspace-APIs#language-client--language-server | |
| [Language Configuration Sample](language-configuration-sample) | [/api/language-extensions/language-configuration-guide](https://vscode-ext-docs.azurewebsites.net/api/language-extensions/language-configuration-guide) | [contributes.languages](https://vscode-ext-docs.azurewebsites.net/api/references/contribution-points#contributes.languages) |
| [Snippet Sample](snippet-sample) | [/api/language-extensions/snippet-guide](https://vscode-ext-docs.azurewebsites.net/api/language-extensions/snippet-guide) | [contributes.snippets](https://vscode-ext-docs.azurewebsites.net/api/references/contribution-points#contributes.snippets) |
| [Snippet Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/snippet-sample) | [/api/language-extensions/snippet-guide](https://code.visualstudio.com/api/language-extensions/snippet-guide) | [contributes.snippets](https://code.visualstudio.com/api/references/contribution-points#contributes.snippets) |
| [Language Configuration Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/language-configuration-sample) | [/api/language-extensions/language-configuration-guide](https://code.visualstudio.com/api/language-extensions/language-configuration-guide) | [contributes.languages](https://code.visualstudio.com/api/references/contribution-points#contributes.languages) |
| [LSP Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/lsp-sample) | [/api/language-extensions/language-server-extension-guide](https://code.visualstudio.com/api/language-extensions/language-server-extension-guide) | |
| [LSP Log Streaming Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/lsp-log-streaming-sample) | N/A | |
| [LSP Multi Root Server Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/lsp-multi-server-sample) | https://github.com/Microsoft/vscode/wiki/Adopting-Multi-Root-Workspace-APIs#language-client--language-server | |
<!-- LSP_SAMPLES_END -->
## :warning: Legacy Samples :warning:

View File

@ -9,4 +9,4 @@ This sample shows how to provide completions aka IntelliSense into the editor. T
### `vscode` module
- [`languages.registerCompletionItemProvider`](https://code.visualstudio.com/docs/extensionAPI/vscode-api#languages.registerCompletionItemProvider)
- [`languages.registerCompletionItemProvider`](https://code.visualstudio.com/api/references/vscode-api#languages.registerCompletionItemProvider)

View File

@ -13,8 +13,8 @@ It is not intended as a product quality extension.
# How it works, what it shows?
- The extension implements and registers a [`TextDocumentContentProvider`](https://code.visualstudio.com/docs/extensionAPI/vscode-api#TextDocumentContentProvider) for a particular URI scheme.
- The content provider uses the [`vscode.executeReferenceProvider`](https://code.visualstudio.com/docs/extensionAPI/vscode-api-commands)-API command to delegate searching for references to the language extensions, like TypeScript, vscode-go, or C#
- The extension implements and registers a [`TextDocumentContentProvider`](https://code.visualstudio.com/api/references/vscode-api#TextDocumentContentProvider) for a particular URI scheme.
- The content provider uses the [`vscode.executeReferenceProvider`](https://code.visualstudio.com/api/references/commands)-API command to delegate searching for references to the language extensions, like TypeScript, vscode-go, or C#
- The generated document initially contains a caption only and incrementally updates as each reference location is resolved.
- Add links for each result in the virtual document pointing to the reference.
- Add an entry to editor context menu via `package.json`

View File

@ -47,7 +47,7 @@ export default class Provider implements vscode.TextDocumentContentProvider, vsc
}
// Decode target-uri and target-position from the provided uri and execute the
// `reference provider` command (https://code.visualstudio.com/docs/extensionAPI/vscode-api-commands).
// `reference provider` command (https://code.visualstudio.com/api/references/commands).
// From the result create a references document which is in charge of loading,
// printing, and formatting references
const [target, pos] = decodeLocation(uri);

View File

@ -6,9 +6,9 @@ The following steps can be done to decorate content in an editor:
## Decoration Types
the [TextEditorDecorationType](https://code.visualstudio.com/docs/extensionAPI/vscode-api#TextEditorDecorationType) class defines how to style a decoration.
the [TextEditorDecorationType](https://code.visualstudio.com/api/references/vscode-api#TextEditorDecorationType) class defines how to style a decoration.
It can be created using `vscode.window.createTextEditorDecorationType`. It takes an object as a parameter which includes any of the properties of [DecorationRenderOptions](https://code.visualstudio.com/docs/extensionAPI/vscode-api#DecorationRenderOptions) which match up to their CSS properties.
It can be created using `vscode.window.createTextEditorDecorationType`. It takes an object as a parameter which includes any of the properties of [DecorationRenderOptions](https://code.visualstudio.com/api/references/vscode-api#DecorationRenderOptions) which match up to their CSS properties.
```typescript
const smallNumberDecorationType = vscode.window.createTextEditorDecorationType({
@ -29,9 +29,9 @@ const smallNumberDecorationType = vscode.window.createTextEditorDecorationType({
## Creating an array of Ranges
the Decorator API requires an array of [Ranges](https://code.visualstudio.com/docs/extensionAPI/vscode-api#Range). A VS Code range object describes a range of code which can span across both rows and columns in a single file.
the Decorator API requires an array of [Ranges](https://code.visualstudio.com/api/references/vscode-api#Range). A VS Code range object describes a range of code which can span across both rows and columns in a single file.
you can either use a `Range[]` or a [DecorationOptions[]](https://code.visualstudio.com/docs/extensionAPI/vscode-api#DecorationOptions).
you can either use a `Range[]` or a [DecorationOptions[]](https://code.visualstudio.com/api/references/vscode-api#DecorationOptions).
For simple sets of selections, using a regular expression can be useful.
@ -56,7 +56,7 @@ const decoration = { range: new vscode.Range(startPos, endPos), hoverMessage: 'N
## Setting the decoration
Finally, you can insert the decoration into any editor with the `setDecorations` method of the [TextEditor](https://code.visualstudio.com/docs/extensionAPI/vscode-api#TextEditor) class. It takes two arguments:
Finally, you can insert the decoration into any editor with the `setDecorations` method of the [TextEditor](https://code.visualstudio.com/api/references/vscode-api#TextEditor) class. It takes two arguments:
* The `TextEditorDecorationType` defined for the decoration.
* Either a `Range` array or a `DecorationOptions` array.

View File

@ -1,18 +0,0 @@
# Welcome to the extension samples
## What's here
* These folders contain sample [VS Code extensions](https://code.visualstudio.com/docs/extensions/overview) that demonstrate various extension APIs.
## Get up and running straight away
* Launch `npm install` in terminal in the root folder to initialize all samples
* Open the debug view and select the sample to launch
* set breakpoints inside a sample's `extension.ts` to debug an extension
* find output from your extension in the debug console
## Make changes
* you can relaunch a sample from the debug toolbar after changing code in `extension.ts`
* you can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes
## Explore the API
* you can open the full set of our API when you open the file node_modules/vscode/vscode.d.ts in each
sample

View File

@ -8,12 +8,12 @@ It does not use TypeScript and only includes the `vscode` devDependency needed f
### `vscode` module
- [`commands.registerCommand`](https://code.visualstudio.com/docs/extensionAPI/vscode-api#commands.registerCommand)
- [`window.showInformationMessage`](https://code.visualstudio.com/docs/extensionAPI/vscode-api#window.showInformationMessage)
- [`commands.registerCommand`](https://code.visualstudio.com/api/references/vscode-api#commands.registerCommand)
- [`window.showInformationMessage`](https://code.visualstudio.com/api/references/vscode-api#window.showInformationMessage)
### Contribution Points
- [`contributes.commands`](https://code.visualstudio.com/docs/extensionAPI/extension-points#_contributescommands)
- [`contributes.commands`](https://code.visualstudio.com/api/references/contribution-points#contributes.commands)
## Running the Sample

View File

@ -2,7 +2,7 @@
This is a Hello World example that shows you how to use VS Code API.
Guide for this sample: https://vscode-ext-docs.azurewebsites.net/api/hello-code/introduction.
Guide for this sample: https://code.visualstudio.com/api/get-started/your-first-extension.
## Demo
@ -12,12 +12,12 @@ Guide for this sample: https://vscode-ext-docs.azurewebsites.net/api/hello-code/
### `vscode` module
- [`commands.registerCommand`](https://code.visualstudio.com/docs/extensionAPI/vscode-api#commands.registerCommand)
- [`window.showInformationMessage`](https://code.visualstudio.com/docs/extensionAPI/vscode-api#window.showInformationMessage)
- [`commands.registerCommand`](https://code.visualstudio.com/api/references/vscode-api#commands.registerCommand)
- [`window.showInformationMessage`](https://code.visualstudio.com/api/references/vscode-api#window.showInformationMessage)
### Contribution Points
- [`contributes.commands`](https://code.visualstudio.com/docs/extensionAPI/extension-points#_contributescommands)
- [`contributes.commands`](https://code.visualstudio.com/api/references/contribution-points#contributes.commands)
## Running the Sample

View File

@ -20,7 +20,7 @@ Localization values are only applied when running the gulp `build` task. During
1. Ensure that you have `gulp-cli` installed globally using `npm install --global gulp-cli`.
1. Run `npm install` to bring in the dependencies.
1. Follow the steps at https://code.visualstudio.com/docs/extensions/publish-extension to ensure that you have installed vsce and have a publisher account.
1. Follow the steps at https://code.visualstudio.com/api/working-with-extensions/publishing-extension to ensure that you have installed vsce and have a publisher account.
1. Run `gulp package` to produce a .vsix file.
1. Install the .vsix file following the instructions at https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix
1. Change your locale to Japanese by invoking "Configure Language" from the Command Palette.

View File

@ -1,26 +0,0 @@
const fs = require('fs');
const path = require('path');
const cp = require('child_process');
const npm = process.platform === 'win32' ? 'npm.cmd' : 'npm';
function npmInstall(location) {
const result = cp.spawnSync(npm, ['install', '-D', 'tslint'], {
cwd: location,
stdio: 'inherit'
});
if (result.error || result.status !== 0) {
process.exit(1);
}
}
const cwd = process.cwd();
for (const element of fs.readdirSync(cwd)) {
if (element[0] !== '.' && element.endsWith('-sample')) {
const fullpath = path.join(cwd, element, 'package.json');
if (fs.existsSync(fullpath)) {
npmInstall(path.join(cwd, element));
}
}
}

View File

@ -1,6 +1,6 @@
# Language Configuration Sample
This is the source code for the [Language Configuration Guide](https://vscode-ext-docs.azurewebsites.net/api/language-extensions/language-configuration-guide). This sample controls the following [Declarative Language Features](https://vscode-ext-docs.azurewebsites.net/api/language-extensions/overview#declarative-language-support) for JavaScript:
This is the source code for the [Language Configuration Guide](https://code.visualstudio.com/api/language-extensions/language-configuration-guide). This sample controls the following [Declarative Language Features](https://code.visualstudio.com/api/language-extensions/overview#declarative-language-support) for JavaScript:
- Comment toggling
- Brackets definition
@ -14,7 +14,7 @@ This is the source code for the [Language Configuration Guide](https://vscode-ex
### Contribution Points
- [`contributes.languages`](https://vscode-ext-docs.azurewebsites.net/api/references/contribution-points#contributes.languages)
- [`contributes.languages`](https://code.visualstudio.com/api/references/contribution-points#contributes.languages)
## Running the Sample

View File

@ -2,13 +2,13 @@
Please use the new Webview API instead:
- Guide: https://code.visualstudio.com/docs/extensions/webview
- Guide: https://code.visualstudio.com/api/extension-guides/webview
- Sample: https://github.com/Microsoft/vscode-extension-samples/tree/master/webview-sample
# CSS Properties Preview Sample
This is an sample extension that illustrates the use of virtual documents or `TextDocumentContentProviders` together with the `vscode.previewHtml`
[command](https://code.visualstudio.com/docs/extensionAPI/vscode-api-commands#_commands).
[command](https://code.visualstudio.com/api/references/commands#commands).
It is not intended as a product quality extension.
@ -24,7 +24,7 @@ The purpose of the extension is to show a preview of the properties in the decla
# How it works
- The extension implements and registers a [`TextDocumentContentProvider`](https://code.visualstudio.com/docs/extensionAPI/vscode-api#TextDocumentContentProvider) for a particular URI scheme.
- The extension implements and registers a [`TextDocumentContentProvider`](https://code.visualstudio.com/api/references/vscode-api#TextDocumentContentProvider) for a particular URI scheme.
- The content provider creates a HTML document that contains the declaration block of the selected CSS rule in the active editor.
- The generated HTML document contains a link that invokes a contributed command to highlight the CSS rule in the source editor
- The generated HTML document is then opened in an editor in the 2nd Column using the command `vscode.previewHtml`.

View File

@ -1,6 +1,6 @@
# LSP Example
Heavily documented sample code for https://code.visualstudio.com/docs/extensions/example-language-server.
Heavily documented sample code for https://code.visualstudio.com/api/language-extensions/language-server-extension-guide
## Functionality

View File

@ -12,7 +12,7 @@ It is not intended as a product quality extension.
# How it works, what it shows?
- The extension uses the [`withProgress`](https://code.visualstudio.com/docs/extensionAPI/vscode-api#ProgressOptions) API to show the task in the notification area.
- The extension uses the [`withProgress`](https://code.visualstudio.com/api/references/vscode-api#ProgressOptions) API to show the task in the notification area.
- Registers a command via `package.json` that will trigger the task
# How to run locally

View File

@ -14,7 +14,7 @@ It is not intended as a production quality extension.
# How it works, what it shows?
- The extension uses the [`QuickPick`](https://code.visualstudio.com/docs/extensionAPI/vscode-api#QuickPick) and [`InputBox`](https://code.visualstudio.com/docs/extensionAPI/vscode-api#InputBox) API to show a UI for user input.
- The extension uses the [`QuickPick`](https://code.visualstudio.com/api/references/vscode-api#QuickPick) and [`InputBox`](https://code.visualstudio.com/api/references/vscode-api#InputBox) API to show a UI for user input.
- Registers a command via `package.json` that will trigger the task
# How to run locally

View File

@ -1,12 +1,12 @@
# Snippet Sample
This is the source code for [Snippet Guide](https://vscode-ext-docs.azurewebsites.net/api/language-extensions/snippet-guide).
This is the source code for [Snippet Guide](https://code.visualstudio.com/api/language-extensions/snippet-guide).
## VS Code API
### Contribution Points
- [`contributes.snippets`](https://vscode-ext-docs.azurewebsites.net/api/references/contribution-points#contributes.snippets)
- [`contributes.snippets`](https://code.visualstudio.com/api/references/contribution-points#contributes.snippets)
## Running the Sample

View File

@ -9,4 +9,4 @@ This is a sample extension that adds a status bar entry showing the current numb
### `vscode` module
- [`languages.registerCompletionItemProvider`](https://code.visualstudio.com/docs/extensionAPI/vscode-api#window.createStatusBarItem)
- [`languages.registerCompletionItemProvider`](https://code.visualstudio.com/api/references/vscode-api#window.createStatusBarItem)

View File

@ -1,16 +1,16 @@
# Task Provider Sample
This is the source code for the [Task Provider Guide](https://vscode-ext-docs.azurewebsites.net/api/extension-guides/task-provider). It auto-detects tasks in [Rakefiles](https://ruby.github.io/rake/).
This is the source code for the [Task Provider Guide](https://code.visualstudio.com/api/extension-guides/task-provider). It auto-detects tasks in [Rakefiles](https://ruby.github.io/rake/).
## VS Code API
### `vscode` module
- [`tasks`](https://code.visualstudio.com/docs/extensionAPI/vscode-api#_tasks)
- [`tasks`](https://code.visualstudio.com/api/references/vscode-api#_tasks)
### Contribution Points
- [`contributes.taskdefinitions`](https://code.visualstudio.com/docs/extensionAPI/extension-points#_contributestaskdefinitions)
- [`contributes.taskdefinitions`](https://code.visualstudio.com/api/references/contribution-points#contributes.taskDefinitions)
## Running the example

View File

@ -8,12 +8,12 @@ This sample provides several commands that demonstrates how to utilize the integ
### `vscode` module
- [window.createTerminal](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.createTerminal)
- [window.onDidChangeActiveTerminal](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.onDidChangeActiveTerminal)
- [window.onDidCloseTerminal](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.onDidCloseTerminal)
- [window.onDidOpenTerminal](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.onDidOpenTerminal)
- [window.Terminal](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.Terminal)
- [window.terminals](https://vscode-ext-docs.azurewebsites.net/api/references/vscode-api#window.terminals)
- [window.createTerminal](https://code.visualstudio.com/api/references/vscode-api#window.createTerminal)
- [window.onDidChangeActiveTerminal](https://code.visualstudio.com/api/references/vscode-api#window.onDidChangeActiveTerminal)
- [window.onDidCloseTerminal](https://code.visualstudio.com/api/references/vscode-api#window.onDidCloseTerminal)
- [window.onDidOpenTerminal](https://code.visualstudio.com/api/references/vscode-api#window.onDidOpenTerminal)
- [window.Terminal](https://code.visualstudio.com/api/references/vscode-api#window.Terminal)
- [window.terminals](https://code.visualstudio.com/api/references/vscode-api#window.terminals)
### Proposed API
@ -22,7 +22,7 @@ This sample provides several commands that demonstrates how to utilize the integ
### Contribution Points
- [`contributes.commands`](https://code.visualstudio.com/docs/extensionAPI/extension-points#_contributescommands)
- [`contributes.commands`](https://code.visualstudio.com/api/references/contribution-points#contributes.commands)
## Running the Sample

View File

@ -2,9 +2,9 @@
This sample color theme extension contains two TextMate themes.
Text Mate themes describe the theming rules used for syntax highlighting. Each rule consists of one or more scope selectors and a set of styles. To learn more about scopes and how they're used, check out the [color theme](https://code.visualstudio.com/docs/extensions/themes-snippets-colorizers#_adding-a-new-color-theme) documentation.
Text Mate themes describe the theming rules used for syntax highlighting. Each rule consists of one or more scope selectors and a set of styles. To learn more about scopes and how they're used, check out the [color theme](https://code.visualstudio.com/api/extension-guides/color-theme) documentation.
You can directly use .tmTheme files in your extensions or import/convert them with VS Code's extension generator [yo code](https://code.visualstudio.com/docs/extensions/yocode).
You can directly use .tmTheme files in your extensions or import/convert them with VS Code's extension generator [yo code](https://code.visualstudio.com/api/get-started/your-first-extension).
## Demo
@ -20,7 +20,7 @@ Sample Dark
### Contribution Points
- [contributes.themes](https://code.visualstudio.com/docs/extensionAPI/extension-points#_contributesthemes)
- [contributes.themes](https://code.visualstudio.com/api/references/contribution-points#contributes.themes)
## Running the sample

View File

@ -1,9 +1,9 @@
# Contributing a View Container & View
* Contribute a view container using the [viewContainers](https://code.visualstudio.com/docs/extensionAPI/extension-points#_contributesviewscontainers) extension point.
* Contribute a view using the [views](https://code.visualstudio.com/docs/extensionAPI/extension-points#_contributesviews) extension point.
* Register a data provider for the view using the [TreeDataProvider](https://code.visualstudio.com/docs/extensionAPI/vscode-api#_TreeDataProvider) API.
* Contribute actions to the view using `view/title` and `view/item/context` locations in [menus](https://code.visualstudio.com/docs/extensionAPI/extension-points#_contributesmenus) extension point.
* Contribute a view container using the [viewContainers](https://code.visualstudio.com/api/references/contribution-points#contributes.viewsContainers) extension point.
* Contribute a view using the [views](https://code.visualstudio.com/api/references/contribution-points#contributes.views) extension point.
* Register a data provider for the view using the [TreeDataProvider](https://code.visualstudio.com/api/references/vscode-api#_TreeDataProvider) API.
* Contribute actions to the view using `view/title` and `view/item/context` locations in [menus](https://code.visualstudio.com/api/references/contribution-points#contributesmenus) extension point.
## contributes.viewsContainers extension point
@ -22,7 +22,7 @@ You must specify an identifier and name for the view. You can contribute to foll
- `explorer`: Explorer view in the Side bar
- `debug`: Debug view in the Side bar
- `scm`: Debug view in the Side bar
- `scm`: Source Control Management view in the Side bar
When the user opens the view, VS Code will then emit an activationEvent `onView:${viewId}` (e.g. `onView:nodeDependencies` for the example below). You can also control the visibility of the view by providing the `when` context value.
@ -105,7 +105,7 @@ Examples:
## TreeDataProvider
Extension writers should register a [provider](/docs/extensionAPI/vscode-api.md#TreeDataProvider) programmatically to populate data in the view.
Extension writers should register a [provider](https://code.visualstudio.com/api/references/vscode-api#TreeDataProvider) programmatically to populate data in the view.
```typescript
vscode.window.registerTreeDataProvider('nodeDependencies', new DepNodeProvider());

View File

@ -9,6 +9,6 @@ This is a sample extension that shows how to add virtual documents to the editor
### `vscode` module
- [`workspace.registerTextDocumentContentProvider`](https://code.visualstudio.com/docs/extensionAPI/vscode-api#workspace.registerTextDocumentContentProvider)
- [`commands.registerCommand`](https://code.visualstudio.com/docs/extensionAPI/vscode-api#commands.registerCommand)
- [`window.showInputBox`](https://code.visualstudio.com/docs/extensionAPI/vscode-api#window.showInputBox)
- [`workspace.registerTextDocumentContentProvider`](https://code.visualstudio.com/api/references/vscode-api#workspace.registerTextDocumentContentProvider)
- [`commands.registerCommand`](https://code.visualstudio.com/api/references/vscode-api#commands.registerCommand)
- [`window.showInputBox`](https://code.visualstudio.com/api/references/vscode-api#window.showInputBox)

View File

@ -1,6 +1,6 @@
# Cat Coding — A Webview API Sample
Demonstrates VS Code's [webview API](https://code.visualstudio.com/docs/extensions/webview). This includes:
Demonstrates VS Code's [webview API](https://code.visualstudio.com/api/extension-guides/webview). This includes:
- Creating and showing a basic webview.
- Dynamically updating a webview's content.
@ -21,8 +21,8 @@ Demonstrates VS Code's [webview API](https://code.visualstudio.com/docs/extensio
### `vscode` module
- [`window.createWebviewPanel`](https://code.visualstudio.com/docs/extensionAPI/vscode-api#window.createWebviewPanel)
- [`window.registerWebviewPanelSerializer`](https://code.visualstudio.com/docs/extensionAPI/vscode-api#window.registerWebviewPanelSerializer)
- [`window.createWebviewPanel`](https://code.visualstudio.com/api/references/vscode-api#window.createWebviewPanel)
- [`window.registerWebviewPanelSerializer`](https://code.visualstudio.com/api/references/vscode-api#window.registerWebviewPanelSerializer)
## Running the example