diff --git a/.scripts/samples.js b/.scripts/samples.js index 3c8310e4..bb0fe695 100644 --- a/.scripts/samples.js +++ b/.scripts/samples.js @@ -145,7 +145,7 @@ const samples = [ { description: 'Source Control Sample', path: 'source-control-sample', - guide: 'https://code.visualstudio.com/api/extension-guides/scm-provider', + guide: '/api/extension-guides/scm-provider', apis: [ 'workspace.workspaceFolders', 'SourceControl', @@ -170,6 +170,15 @@ const samples = [ `commands` ], contributions: [] + }, + { + description: 'Custom Data Sample', + path: 'custom-data-sample', + guide: '/api/extension-guides/custom-data-extension', + apis: [ + `commands` + ], + contributions: [] } ] diff --git a/README.md b/README.md index 3207cb4a..85811227 100644 --- a/README.md +++ b/README.md @@ -44,10 +44,12 @@ You need to have [node](https://nodejs.org/en/) and [npm](https://nodejs.org/en/ | [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)
[DecorationOptions](https://code.visualstudio.com/api/references/vscode-api#DecorationOptions)
[DecorationInstanceRenderOptions](https://code.visualstudio.com/api/references/vscode-api#DecorationInstanceRenderOptions)
[ThemableDecorationInstanceRenderOptions](https://code.visualstudio.com/api/references/vscode-api#ThemableDecorationInstanceRenderOptions)
[window.createTextEditorDecorationType](https://code.visualstudio.com/api/references/vscode-api#window.createTextEditorDecorationType)
[TextEditorDecorationType](https://code.visualstudio.com/api/references/vscode-api#TextEditorDecorationType)
[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)
[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) | +| [Extension Terminal Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/extension-terminal-sample) | N/A | [window.createTerminal](https://code.visualstudio.com/api/references/vscode-api#window.createTerminal)
[window.Pseudoterminal](https://code.visualstudio.com/api/references/vscode-api#window.Pseudoterminal)
[window.ExtensionTerminalOptions](https://code.visualstudio.com/api/references/vscode-api#window.ExtensionTerminalOptions) | | [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)
[StatusBarItem](https://code.visualstudio.com/api/references/vscode-api#StatusBarItem)
[window.createStatusBarItem](https://code.visualstudio.com/api/references/vscode-api#window.createStatusBarItem)
[TextEditorCursorStyle](https://code.visualstudio.com/api/references/vscode-api#TextEditorCursorStyle)
[window.activeTextEditor](https://code.visualstudio.com/api/references/vscode-api#window.activeTextEditor)
[Position](https://code.visualstudio.com/api/references/vscode-api#Position)
[Range](https://code.visualstudio.com/api/references/vscode-api#Range)
[Selection](https://code.visualstudio.com/api/references/vscode-api#Selection)
[TextEditor](https://code.visualstudio.com/api/references/vscode-api#TextEditor)
[TextEditorRevealType](https://code.visualstudio.com/api/references/vscode-api#TextEditorRevealType)
[TextDocument](https://code.visualstudio.com/api/references/vscode-api#TextDocument) | -| [Source Control Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/source-control-sample) | https://code.visualstudio.com/api/extension-guides/scm-provider | [workspace.workspaceFolders](https://code.visualstudio.com/api/references/vscode-api#workspace.workspaceFolders)
[SourceControl](https://code.visualstudio.com/api/references/vscode-api#SourceControl)
[SourceControlResourceGroup](https://code.visualstudio.com/api/references/vscode-api#SourceControlResourceGroup)
[scm.createSourceControl](https://code.visualstudio.com/api/references/vscode-api#scm.createSourceControl)
[TextDocumentContentProvider](https://code.visualstudio.com/api/references/vscode-api#TextDocumentContentProvider)
[contributes.menus](https://code.visualstudio.com/api/references/contribution-points#contributes.menus) | +| [Source Control Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/source-control-sample) | [/api/extension-guides/scm-provider](https://code.visualstudio.com/api/extension-guides/scm-provider) | [workspace.workspaceFolders](https://code.visualstudio.com/api/references/vscode-api#workspace.workspaceFolders)
[SourceControl](https://code.visualstudio.com/api/references/vscode-api#SourceControl)
[SourceControlResourceGroup](https://code.visualstudio.com/api/references/vscode-api#SourceControlResourceGroup)
[scm.createSourceControl](https://code.visualstudio.com/api/references/vscode-api#scm.createSourceControl)
[TextDocumentContentProvider](https://code.visualstudio.com/api/references/vscode-api#TextDocumentContentProvider)
[contributes.menus](https://code.visualstudio.com/api/references/contribution-points#contributes.menus) | | [Commenting API Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/comment-sample) | N/A | | | [Document Editing Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/document-editing-sample) | N/A | [commands](https://code.visualstudio.com/api/references/vscode-api#commands) | +| [Custom Data Sample](https://github.com/Microsoft/vscode-extension-samples/tree/master/custom-data-sample) | [/api/extension-guides/custom-data-extension](https://code.visualstudio.com/api/extension-guides/custom-data-extension) | [commands](https://code.visualstudio.com/api/references/vscode-api#commands) | ### Language Protocol Server Samples diff --git a/custom-data-sample/.vscode/launch.json b/custom-data-sample/.vscode/launch.json new file mode 100644 index 00000000..9a1bdb20 --- /dev/null +++ b/custom-data-sample/.vscode/launch.json @@ -0,0 +1,12 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Run Extension", + "type": "extensionHost", + "request": "launch", + "runtimeExecutable": "${execPath}", + "args": ["--extensionDevelopmentPath=${workspaceFolder}"] + } + ] +} diff --git a/custom-data-sample/.vscode/settings.json b/custom-data-sample/.vscode/settings.json new file mode 100644 index 00000000..48813806 --- /dev/null +++ b/custom-data-sample/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "html.customData": ["./html.html-data.json"], + "css.customData": ["./css.css-data.json"] +} diff --git a/custom-data-sample/README.md b/custom-data-sample/README.md new file mode 100644 index 00000000..ae505030 --- /dev/null +++ b/custom-data-sample/README.md @@ -0,0 +1,22 @@ +# Custom Data Sample + +This demonstrates packaging [custom data](https://github.com/microsoft/vscode-custom-data) into a VS Code extension. + +Guide for this sample: https://code.visualstudio.com/api/extension-guides/custom-data-extension. + +## Demo + +![demo](demo.gif) + +## VS Code API + +### Contribution Points + +- [`contributes.html.customData`](https://code.visualstudio.com/api/extension-guides/custom-data-extension) +- [`contributes.css.customData`](https://code.visualstudio.com/api/extension-guides/custom-data-extension) + +## Running the Sample + +- Run the `Run Extension` target in the Debug View. +- Open a HTML file. You should receive auto completion and hover information for the HTML entities defined in `html.html-data.json`. +- Open a CSS file. You should receive auto completion and hover information for the CSS entities defined in `css.css-data.json`. \ No newline at end of file diff --git a/custom-data-sample/css.css-data.json b/custom-data-sample/css.css-data.json new file mode 100644 index 00000000..7ecb26c5 --- /dev/null +++ b/custom-data-sample/css.css-data.json @@ -0,0 +1,17 @@ +{ + "version": 1.1, + "properties": [{ + "name": "my-size", + "description": "Compiles down to `width` and `height`. See details at https://github.com/postcss/postcss-size", + "references": [ + { + "name": "GitHub", + "url": "https://github.com/postcss/postcss-size" + } + ] + }], + "pseudoClasses": [{ + "name": ":my-link", + "description": ":any-link pseudo class. See details at https://preset-env.cssdb.org/features#any-link-pseudo-class" + }] +} \ No newline at end of file diff --git a/custom-data-sample/demo.gif b/custom-data-sample/demo.gif new file mode 100644 index 00000000..bdd06d2a Binary files /dev/null and b/custom-data-sample/demo.gif differ diff --git a/custom-data-sample/html.html-data.json b/custom-data-sample/html.html-data.json new file mode 100644 index 00000000..ed8cef4d --- /dev/null +++ b/custom-data-sample/html.html-data.json @@ -0,0 +1,20 @@ +{ + "version": 1.1, + "tags": [{ + "name": "my-button", + "description": "My button", + "attributes": [{ + "name": "type", + "description": "My button type", + "values": [ + { "name": "alert" } + ] + }], + "references": [ + { + "name": "Bootstrap buttons", + "url": "https://getbootstrap.com/docs/4.0/components/buttons/" + } + ] + }] +} \ No newline at end of file diff --git a/custom-data-sample/package.json b/custom-data-sample/package.json new file mode 100644 index 00000000..197195bd --- /dev/null +++ b/custom-data-sample/package.json @@ -0,0 +1,22 @@ +{ + "name": "custom-data-sample", + "description": "Custom Data sample extension for VS Code", + "version": "0.0.1", + "publisher": "vscode-samples", + "repository": "https://github.com/Microsoft/vscode-extension-samples", + "engines": { + "vscode": "^1.38.0" + }, + "contributes": { + "html": { + "customData": [ + "./html.html-data.json" + ] + }, + "css": { + "customData": [ + "./css.css-data.json" + ] + } + } +}