diff --git a/.scripts/samples.js b/.scripts/samples.js index 8b0f5359..9774c976 100644 --- a/.scripts/samples.js +++ b/.scripts/samples.js @@ -163,6 +163,19 @@ const lspSamples = [ 'https://github.com/Microsoft/vscode/wiki/Extension-Authoring:-Adopting-Multi-Root-Workspace-APIs#language-client--language-server', apis: [], contributions: [] + }, + { + description: 'Source Control Sample', + path: 'source-control-sample', + guide: 'https://code.visualstudio.com/api/extension-guides/scm-provider', + apis: [ + 'workspace.workspaceFolders', + 'SourceControl', + 'SourceControlResourceGroup', + 'scm.createSourceControl', + 'TextDocumentContentProvider' + ], + contributions: ["menus"] } ] diff --git a/source-control-sample/README.md b/source-control-sample/README.md index 163c009a..ad77df47 100644 --- a/source-control-sample/README.md +++ b/source-control-sample/README.md @@ -4,7 +4,19 @@ This sample implements a minimal source control provider. It shows how the sourc ![alt text](resources/images/demo.gif "Extension demo") -Activate the extension by invoking the `Open JSFiddle` command. This invokes following 4 lines, which does the following: +## VS Code API + +Following VS Code APIs are demonstrated by this extension: + +- `workspace.workspaceFolders` +- `scm.createSourceControl` +- `SourceControl` +- `SourceControlResourceGroup` +- `TextDocumentContentProvider` + +## Running the Sample + +Activate the extension by invoking the `Open JSFiddle` command, specify the JSFiddle code, if no workspace folder is open, select a workspace folder. This invokes following 4 lines, which does the following: 1. creates the custom source control provider associated with the workspace folder 1. creates the source control resource group to later show the local changes to the files in the repository diff --git a/source-control-sample/src/fiddleSourceControl.ts b/source-control-sample/src/fiddleSourceControl.ts index b1bdd6c0..d7f840e1 100644 --- a/source-control-sample/src/fiddleSourceControl.ts +++ b/source-control-sample/src/fiddleSourceControl.ts @@ -1,5 +1,5 @@ import * as vscode from 'vscode'; -import { FiddleData, FiddleRepository, toExtension, downloadFiddle, areIdentical, uploadFiddle, Fiddle } from './fiddleRepository'; +import { FiddleRepository, toExtension, downloadFiddle, areIdentical, uploadFiddle, Fiddle } from './fiddleRepository'; import * as path from 'path'; import { writeFileSync, existsSync, unlinkSync } from 'fs';