我知道我可以手动转到 PR 并取消选中“已查看”。是否有取消选中 PR 中所有文件的快捷方式?
在GitHub上发现一些相关问题 https://github.com/refined-github/refined-github/issues/2444
我为什么要这么做? 为了能够查看评论并展开因我手动标记已查看而折叠的卡片。
我在 Mac 上尝试了 Option+Click,但没有成功。
认为 UI 目前不支持这一点。看起来您需要手动勾选所有复选框。或者编写一个 JavaScript 来为您查找并单击它们。
在浏览器控制台中尝试一下。
document.getElementsByName("viewed").forEach(ch => {if(ch.checked) {ch.click()}})
感谢 GitHub 用户 mfulton26 使用以下命令:
姓名 | 查询/书签 |
---|---|
GitHub:查看全部 |
|
GitHub:取消查看全部 |
|
我使用书签来完成此任务。这是一个将所有文件标记为已读的版本,如果文件路径以
some-base-dir
开头:
javascript:(function() {
const fileHeaders = document.querySelectorAll('div[class*="file-header"][data-path^="some-base-dir"]');
fileHeaders.forEach(header => {
const checkbox = header.querySelector('input[type="checkbox"]');
if (checkbox && !checkbox.checked) {
checkbox.click();
}
});
})();
要使用书签,您可以在浏览器中创建一个新书签,并将上述代码粘贴为 URL。当您访问文件标题与上述选择器匹配的页面时,只需单击书签即可自动选中所有复选框。
我尝试使用 Anton Belev 的答案,它适用于一些较小的 PR,但不适用于我拥有的大 PR(1100 个文件)。 JavaScript 失败了,因为事实证明 GitHub 不喜欢你一次发送 1100 个请求,而我收到了很多
429
(速率有限)回复🤦u200d♂️。
我添加了睡眠并过滤掉了已经未选中的文件:
const elements = Array.from(document.getElementsByName("viewed")).filter(ch => ch.checked);
for (const element of elements) {
await new Promise(resolve => setTimeout(resolve, 100));
element.click();
}