Skip to content
A collection of userscripts to improve the Azure DevOps UI
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
src
static Highlight comments that start with "await:" (#42) Jan 8, 2020
.editorconfig
.eslintrc.js Add Code of the Day PR flagging (#12) Oct 1, 2019
.gitignore Add package-lock.json Oct 28, 2019
CONTRIBUTING.md Update CONTRIBUTING.md Jul 20, 2019
LICENSE
README.md
SECURITY.md Create SECURITY.md May 28, 2019
SUPPORT.md
_config.yml Update _config.yml Jul 19, 2019
azure-pipelines.yml Change back to create action for GH releases Jul 2, 2019
package-lock.json
package.json Bump eslint-plugin-import from 2.19.1 to 2.20.0 (#44) Jan 13, 2020

README.md

Browser Userscripts For Azure DevOps

Build Status GitHub Release Date GitHub release GitHub stars

A collection of userscripts to improve the Azure DevOps UI.

These userscripts were tested in Chrome and Firefox with the Tampermonkey extension. They may work with other setups.

Getting Started

  1. Install the Tampermonkey extension
  2. Refresh this page if you just installed Tampermonkey (or the download link won't work)
  3. Install this userscript

By default, Tampermonkey will automatically update scripts from the original install location once a day. You can force an update from the extensions menu.

Features

PR dashboard improvements

Sorts the PRs in your dashboard into categories:

(Picture of an example dashboard)

  • Reviews are sorted from oldest to newest (reverse of the default)
  • Reviews are categorized into sections:
    • Blocking: Reviews where you are the last reviewer and everyone else approved
    • Incomplete: Reviews you need to process
    • Incomplete but blocked: Reviews you have not completed but are blocked anyways because another reviewer voted Waiting on Author or Rejected. This section is open by default
    • Drafts
    • Completed as Waiting on Author
    • Completed as Rejected
    • Completed as Approved / Approved with Suggestions
    • Completed as Approved / Approved with Suggestions (with notable updates): PRs that have had notable activity after you've approved; e.g. lots of comments or non-approval votes
  • Sections remember if they are open/closed
  • PRs show how many files the reviewer needs to review
  • Your created PRs are also sorted

PR diff improvements

You can now mark a file as reviewed with a checkbox! The data persists in local browser storage, so if you come back to the PR later, the checkboxes will still be there (up to 3 weeks).

Checkboxes in the PR files tree

Note: awesome.visualstudio.com checkbox data is separate from dev.azure.com/awesome checkbox data.

You can now select the base update to compare against with the base update selector:

Base update selector

This allows you to diff many updates at once:

Example: Update 8 to 12

Note: The selector looks best in Chrome.

Some improvements to the multi-file diff view:

  • The file name is now always visible, even if the user scrolled down the page
  • The horizontal scrollbar is now always visible (but not for side-by-side diffs)

Before (long lines are cutoff and the scrollbar may be offscreen):

Text cutoff and no scrolling.

After (scrollbar is always visible):

Scrollbars always visible.

You can now use keyboard shortcuts to quickly switch between PR tabs (e.g. Overview, Files, etc). In Chrome, it'd be Alt+1, Alt+2, etc. In FireFox, it is Alt+Shift+Num. See this table for details on your browser.

PR tab keyboard shortcuts in Chrome.

Reviewing a large PR? Press the auto-collapse button to make your tree manageable! (National Instruments: If you have an owners review, the button will keep folders open if they contain files you need to review.)

Collapse folders.

PR threads that start with note: (case insensitive) will appear expanded on page load, even if they are closed. They are also highlighted with a light border. Use this to mark interesting things for your reviewers in your PR!

Sticky comments are highlighted.

PR comments that start with await: (case insensitive) will appear highlighted. Use this to help developers focus their attention on the comments that you want to see again (e.g. the reason why you voted Waiting on Author or Rejected).

Await comments are highlighted.

Better owners review

These features are currently specific to National Instruments.

The PR file tree will now highlight the files you need to review with a letter to represent your role (Owner, Alternate, Reviewer):

Files tree highlighting.

Collapsed files are highlighted if they contain files you need to review:

Highlighted folder.

In the multi-file diff view, your files are also highlighted with a blue line on the left:

Highlighted diffs.

You can also press the new "Toggle other files" button to fade out and collapse the other diffs! (Ideally, I would hide them completely, but if I do, the AzDO interface bugs out.)

Toggle other files button.

Hopefully all this makes it very easy to scan for the stuff you care about.

Note: If there is no owner info, or if you are not listed, nothing is highlighted and the button does not appear. It also only works with newer PRs (created or updated since approx. July 2019).

Overall

Scrollbars site-wide now match the current Azure DevOps color theme.

Before 😣

Scrollbars before.

After 😏

Scrollbars now.

Documentation

Privacy

The update URL goes through a URL redirector to get a rough idea of how many people are using this script. To opt-out, change the update URL to the original download URL in the Tampermonkey dashboard (or disable updates). The redirector can also help if the URL needs to change; e.g. if the file is moved or renamed.

No other data is collected. The script is sourced and updated directly from the master branch of this repo.

Credits

This is the second version of a PR filtering script originally written by Tian Yu, which faded out approved PRs. Further improved by Alejandro Barreto.

License

MIT. Issues and pull requests welcomed!

You can’t perform that action at this time.