Tab Manager v2
Tab Manager v2 将拥挤的浏览器会话转变为可搜索的工作区。跨窗口查找标签页,批量移动匹配的标签页,在浏览器支持的情况下管理原生标签组,并清理重复项,而无需在浏览器窗口之间来回切换。
安装
快速入门
- 从浏览器工具栏打开 Tab Manager v2,或将其在独立的标签页/窗口中打开以获得更大的视图。
- 按
/搜索所有打开的标签页,按>打开命令面板,按?查看快捷键帮助。 - 选择匹配的标签页,然后批量移动、分组或关闭它们。
人们为何使用它
- 通过一个搜索框查找所有窗口中打开的标签页,可选搜索浏览器历史记录。
- 批量移动、分组或关闭匹配的标签页,而不是逐个处理。
- 在浏览器支持的情况下,直接管理浏览器原生的标签页组,包括重命名、更改颜色、折叠和取消分组操作。
- 快速清理重复的标签页,可选择在检查时忽略 URL 哈希。
- 通过快捷键、命令面板和内置的快捷键帮助,始终保持在键盘上操作。
- 通过主题、标签页宽度、字体大小、工具栏可见性、URL 显示等调整界面。
- 当浏览器暴露这些 API 时,使用 Firefox 容器感知的工作流。
常用快捷键
| 操作 | 快捷键 |
|---|---|
| 聚焦标签页搜索 | / |
| 打开命令面板 | > |
| 移动焦点 | h, j, k, l 或方向键 |
| 选择聚焦的标签页 | x 或 Space |
| 在新窗口中打开所选标签页 | Shift+N |
| 从所选标签页创建新的标签页组 | Alt+Shift+G |
| 切换主题 | Ctrl+I |
| 打开设置 | Ctrl+, |
| 显示键盘快捷键帮助 | ? |
快捷键行为可能因平台和浏览器而略有不同。请使用应用内的快捷键帮助获取完整列表。
浏览器支持
| 浏览器 | 状态 | 备注 |
|---|---|---|
| Chrome | 支持 | 完整的核心工作流,包括标签组集成 |
| Edge | 支持 | 基于 Chromium 的行为;功能可用性遵循暴露的浏览器 API |
| Firefox | 支持 | 核心工作流以及 Firefox 特定的容器支持 |
| Safari | 不支持 | 请参阅下方的常见问题以了解限制 |
隐私与权限
Tab Manager v2 使用浏览器 API 来读取和组织您当前的标签页、窗口以及可选的历史记录搜索结果。其核心的标签页和窗口管理功能保留在您的浏览器中,并且该扩展程序不添加任何分析或跟踪功能。
tabs:读取、移动、分组、选择和关闭标签页和窗口storage:保存设置和 UI 状态management:在显示chrome-extension://标签页时查找已安装扩展程序的元数据history:支持可选的“在结果中包含浏览器历史记录”设置tabGroups:在支持的浏览器上读取和管理原生标签组contextualIdentities和cookies:启用 Firefox 容器相关功能
用户首选项在可用时存储在浏览器同步存储中,并带有本地存储回退机制。请参阅 privacy_policy.md 以了解隐私政策。
常见问题
为什么不支持 Safari?
Safari 不支持 tabs.move() WebExtension API,而 Tab Manager v2 依赖该 API 来实现拖放重新排序、在窗口间移动标签页以及排序工作流。这些是核心功能而非可选附加项,因此 Safari 的支持将是不完整且具有误导性的。当前的调查记录在 issue #2545。
它是否支持浏览器标签页分组?
是的,在浏览器支持的情况下。Tab Manager v2 允许你直接管理原生标签组,而无需离开扩展程序。
我可以重命名窗口吗?
自定义窗口名称仅存在于此扩展程序内部,并且会重复浏览器原生的分组功能。当前的窗口标题区域专注于窗口激活和摘要,而标签属于浏览器标签组。如果您想要命名的标签桶,请使用内置的标签组,并在浏览器支持的情况下从 Tab Manager v2 中重命名它们。
我的设置存储在哪里?
当浏览器支持时,设置会存储在浏览器同步存储中。如果同步存储不可用,Tab Manager v2 将回退到本地存储,以确保扩展功能正常运行。
所有功能在所有浏览器中的工作方式是否相同?
No. 核心标签页和窗口管理功能在 Chrome、Edge 和 Firefox 中均可使用,但某些功能依赖于特定浏览器的 API。示例包括 Firefox 容器和浏览器标签页分组。
开发
先决条件
- Node.js
pnpm9.x
安装依赖
pnpm install
以开发模式运行扩展
pnpm start
这将解包的扩展构建写入:
packages/extension/build/build_chromepackages/extension/build/build_firefox
在目标浏览器中,将相应的文件夹作为已解包的扩展加载。
运行测试
运行默认的本地测试流水线:
pnpm test
这将运行扩展单元测试以及 Chromium Playwright 集成测试套件。
仅运行扩展单元测试:
pnpm run test:unit
运行 Chromium Playwright 集成测试套件,包括必需的 Chrome 扩展构建:
pnpm run test:integration
观看加速的端到端测试套件运行:集成测试视频。
直接针对现有的 Chrome 构建运行 Playwright 测试套件:
pnpm run test:integration:run
运行 CI 中使用的 Firefox 特定覆盖率:
pnpm --filter tab-manager-v2 test:firefox
pnpm --filter integration-test-firefox test:firefox
构建生产环境包
pnpm build
这会在 packages/extension/build/ 下输出打包好的浏览器构建。
仓库结构
packages/extension: 主扩展源代码、资源、构建脚本和单元测试packages/integration_test: 基于 Playwright 的集成测试和视觉回归测试packages/integration_test_firefox: Firefox 特定的集成测试覆盖
发布说明
致谢
默认 favicon 由 Lyolya 制作,来自 Flaticon,并采用 Creative Commons BY 3.0 许可。