This repo contains core client SDK file and TypeScript declare files needed for developing Visual Studio Online Extensions.
VSS.SDK.js enables an extension to communicate to host to perform operations like initializing, notifying extension is loaded or getting context about the current page on the host.
- Add this line:
<script src="sdk/scripts/VSS.SDK.js"></script>
- Using
npm install vss-sdk
- Using
bower install vss-sdk
Next step is initializing the extension using two options below:
-
Implicit handshake
// Initialize VSS.init({ usePlatformScripts: true, usePlatformStyles: true }); // Register callback to get called when initial handshake completed VSS.ready(function() { // Start using VSS });
-
Explicit handshake
// Initialize with explicitNotifyLoaded set to true VSS.init({ explicitNotifyLoaded: true, usePlatformScripts: true, usePlatformStyles: true }); // Perform some async operation here doSomeAsyncStuff().then( function(result) { // Succeeded VSS.notifyLoadSucceeded(); // Start using VSS }, function(error) { // Failed VSS.notifyLoadFailed(error); });
Full API reference of VSS.SDK.js can be found at Core Client SDK page.
- Types of VSS.SDK.js are available in typings/vss.d.ts.
- REST Client types are available in typings/tfs.d.ts
Although TypeScript declare files do not exist at DefinitelyTyped repo, they can still be used through tsd.
- First, make sure that the dependencies are loaded using below command:
tsd install jquery knockout q --save
- Next, run below command to get vss-sdk types added to tsd.d.ts:
tsd link
- Finally, add only reference to typings/tsd.d.ts in your TypeScript files.