您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
[Azure] Auto Resolve
// ==UserScript== // @name [Azure] Auto Resolve All // @namespace Azure // @version 1.10.12 // @description [Azure] Auto Resolve // @author N.Duong // @icon https://www.google.com/s2/favicons?sz=64&domain=microsoft.com // @run-at document-start // @grant none // @license MIT // @match https://*/*/pullrequest/* // @match https://*/*/pullrequest/* // ==/UserScript== (function() { 'use strict'; function addResolveAllButton() { if (document.querySelector('#resolve')) { return; // Button already exists } let targetDiv = document.querySelector('.repos-activity-filter-dropdown'); if (targetDiv) { let resolveButton = document.createElement('button'); resolveButton.id = "resolve"; resolveButton.textContent = 'Resolve All'; resolveButton.className = 'bolt-button enabled bolt-focus-treatment'; resolveButton.type = 'button'; resolveButton.tabIndex = '0'; resolveButton.style.marginLeft = '12px'; resolveButton.addEventListener('click', function() { let xpath = "//div[contains(@class, 'repos-comment-editor-max-width')]//button[contains(@class, 'bolt-button')]"; let button = document.evaluate(xpath, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); for (let i = 0; i < button.snapshotLength; i++) { let element = button.snapshotItem(i); if (element.textContent.trim().toLowerCase() === 'resolve') { console.log(element.textContent); element.click(); } } }); targetDiv.appendChild(resolveButton); } } // Option 1: window.addEventListener('DOMContentLoaded', addResolveAllButton, false); // Option 2: //addResolveAllButton(); //const observer = new MutationObserver(addResolveAllButton); //observer.observe(document.body, { childList: true, subtree: true }); })();