Skip to content
This repository has been archived by the owner on Nov 16, 2023. It is now read-only.

Latest commit

 

History

History
98 lines (60 loc) · 3.91 KB

CONTRIBUTING.md

File metadata and controls

98 lines (60 loc) · 3.91 KB

Azure Boards Extension Contributor Guide

The instructions below will help you set up your development environment to contribute to this repository. Make sure you've already cloned the repo. 😄

Ways to Contribute

Interested in contributing to the azure-boards-vscode project? There are plenty of ways to contribute, all of which help make the project better.

Set up Node, npm and gulp

Node and npm

Windows and Mac OSX: Download and install node from nodejs.org

Linux: Install using package manager

From a terminal ensure at least node 8.11.3 and npm 6.9.0:

$ node -v && npm -v
v8.11.3
6.9.0

Note: To get npm version 6.9.0, you may need to update npm after installing node. To do that:

[sudo] npm install npm -g

From the root of the repo, install all of the build dependencies:

[sudo] npm install --greedy

Build and run locally

Hit F5 in VS Code.

Code Structure

The code is structured between the Visual Studio Code extension file, the Azure Boards extension object, and the clients, contexts, helpers and services.

Visual Studio Code Extension file

This is the file with the code called by Visual Studio Code to bootstrap the extension. extension.ts should be thin and delegate to the Azure Boards Extension object.

Azure Boards Extension object

This is the object intended to have small methods that call to the feature-specific clients that manipulate the UI and make calls to Azure DevOps via the service objects. When adding new commands, the functions that are called should be defined here.

Debugging

To debug the extension, make sure you've installed all of the npm packages as instructed earlier. Then, open the root of the repository in Visual Studio Code and press F5. If you have the extension already installed, you'll need to uninstall it via the Command Palette and try again.

Code Styles

  1. Build commands will run tslint and flag any errors. Please ensure that the code stays clean.
  2. All source files must have the following lines at the top:
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See LICENSE in the project root for license information.
  1. We keep LF line-endings on the server. Please set the core.safecrlf git config property to true.
git config core.safecrlf true

Packaging and releasing

  1. Increment the extension version in package.json
  2. Run npm install -g vsce
  3. Run vsce package
  4. Create and upload the package to a new GitHub release on the repo

See the Publishing Extension Visual Studio Code documentation for more information.

Contribution License Agreement

In order to contribute, you will need to sign a Contributor License Agreement.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Submitting Pull Requests

We welcome pull requests! Fork this repo and send us your contributions. Go here to get familiar with GitHub pull requests.