Structure
/scripts - Typescript code for extension
/img - Image assets for extension and description
/typings - Typescript typings
details.md - Description to be shown in marketplace
index.html - Main entry point
vss-extension.json - Extension manifest
Version History
0.6.0 - Updated VSS SDK to M104
0.1.1 - Automatically increase extension's minor version when packaging.
1.0.1 - Release version of Pull request search
Usage
- Clone the repository
npm install
to install required local dependenciesnpm install -g grunt
to install a global copy of grunt (unless it's already installed)grunt
to build and package the application
Grunt
Three basic grunt
tasks are defined:
build
- Compiles TS files inscripts
folderpackage-dev
- Builds the development version of the vsix packagepackage-release
- Builds the release version of the vsix packagepublish-dev
- Publishes the development version of the extension to the marketplace usingtfx-cli
publish-release
- Publishes the release version of the extension to the marketplace usingtfx-cli
Note: To avoid tfx
prompting for your token when publishing, login in beforehand using tfx login
and the service uri of https://marketplace.visualstudio.com
.
Including framework modules
The VSTS framework is setup to initalize the requirejs AMD loader, so just use import Foo = require("foo")
to include framework modules.
VS Code
The included .vscode
config allows you to open and build the project using VS Code.
Unit Testing
The project is setup for unit testing using mocha
, chai
, and the karma
test runner. A simple example unit test is included in scripts/logic/messageHelper.tests.ts
. To run tests just execute:
grunt test