VisualStudio/CONTRIBUTING.md

4.5 KiB

Contributing to the GitHub Extension for Visual Studio

Hi there! We're thrilled that you'd like to contribute to the GitHub Extension for Visual Studio. Your help is essential for keeping it great.

Contributions to this project are released to the public under the project's open source license.

This project adheres to the Open Code of Conduct. By participating, you are expected to uphold this code.

Submitting a pull request

  1. Fork and clone the repository (see Build Instructions in the README)
  2. Create a new branch: git checkout -b my-branch-name
  3. Make your change, add tests, and make sure the tests still pass
  4. Push to your fork and submit a pull request
  5. Pat your self on the back and wait for your pull request to be reviewed and merged.

Here are a few things you can do that will increase the likelihood of your pull request being accepted:

  • Follow the style/format of the existing code.
  • Write tests for your changes.
  • Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests.
  • Write a good commit message.

There are certain areas of the extension that are restricted in what they can do and what dependencies they can have.

  • All sections and navigation items in the various Team Explorer areas are instantiated regardless of whether they're shown, so code in these areas needs to be as lazily run as possible.
  • Anything in the Team Explorer Home page is extremely restricted in what dependencies it can have. Code in this area needs to be as fast and as minimal as possible.
  • Team Explorer content outside the Home page is slightly less restricted, but not by much
  • Dialogs and views that don't inherit from TeamExplorer classes are free to use what they need.

Submitting an Issue

Bug Reporting

Here are a few helpful tips when reporting a bug:

  • Verify that the bug resides in the GitHub for Visual Studio extension

    • A lot of functionality provided by this extension resides in the Team Explorer pane, alongside other non-GitHub tools to manage and collaborate on source code, including Visual Studio's Git support, which is owned by Microsoft.
    • If this bug not is related to the GitHub extension, visit the Visual Studio support page for help
  • Screenshots are very helpful in diagnosing bugs and understanding the state of the extension when it's experiencing problems. Please include them whenever possible.

  • A log file is helpful in diagnosing bug issues. To include log files in your issue:

    1. Close Visual Studio if it's open
    2. Open a Developer Command Prompt for VS2015
    3. Run devenv /log
    4. Reproduce your issue
    5. Close VS
    6. Locate the following files on your system and email them to windows@github.com or create a gist and link it in the issue report:
    • %appdata%\Microsoft\VisualStudio\14.0\ActivityLog.xml
    • %localappdata%\temp\extension.log
    • %localappdata%\GitHubVisualStudio\extension.log

Feature Requests

If you have a feature that you think would be a great addition to the extension, we might already have thought about it too, so be sure to check if your suggestion matches our roadmap before making a request. Also take a peek at our pull requests to see what we're currently working on. Additionally, someone might have already thought of your idea, so check out Issues labeled as features to see if it already exists.

Things to improve in the current version

Roadmap and future feature ideas

  • Pull Requests
  • Issues

Resources