DevBrowser 是一个轻量级的 IntelliJ IDEA 浏览器插件,为开发者提供无缝集成在 IDE 内的浏览器体验。基于 JCEF (Java Chromium Embedded Framework) 实现,支持书签管理、设备模式切换等实用功能,让您无需离开 IDE 即可浏览文档、测试网页。
- 🌐 嵌入式 Chromium 浏览器 - 完整的现代网页浏览能力
- 📱 设备模式切换 - 一键切换 PC/移动端视口和 User-Agent
- ⭐ 书签管理 - 添加、编辑、删除和快速访问常用网站
- 💾 设置持久化 - 自动保存浏览状态、书签和配置
┌─────────────────────────────────────────────────────────────┐
│ ← → ↻ [https://example.com ] ⭐📚📱 │
├─────────────────────────────────────────────────────────────┤
│ │
│ [ Chromium 浏览器内容区域 ] │
│ │
│ │
└─────────────────────────────────────────────────────────────┘
工具栏功能说明:
← →前进/后退按钮↻刷新按钮[ URL ]智能地址栏(支持 URL 和搜索)⭐添加/删除书签📚书签列表📱PC/移动端切换
| 组件 | 最低版本 | 推荐版本 |
|---|---|---|
| IntelliJ IDEA | 2024.3 (Build 243) | 2025.2+ (Build 252.*) |
| JDK | 17 | JetBrains Runtime 21 |
| Gradle | 8.10 | 8.10+ |
| Kotlin | 2.2.0 | 2.2.0 |
方式 1: 从源码构建
# 1. 克隆仓库
git clone https://github.com/fashionzzZ/devbrowser.git
cd devbrowser
# 2. 构建插件
./gradlew buildPlugin
# 3. 安装插件
# 插件包位于: build/distributions/devbrowser-1.1.0.zip
# 在 IDEA 中: Settings → Plugins → Install Plugin from Disk → 选择 zip 文件方式 2: 开发模式运行
# 启动带插件的开发 IDE 实例
./gradlew runIde-
打开浏览器面板 在 IDEA 右侧工具栏找到 DevBrowser 图标,点击打开
-
浏览网页 在地址栏输入 URL 或搜索关键词,按回车键
-
添加书签 浏览到喜欢的网页后,点击 ⭐ 星标按钮
-
切换移动端模式 点击 📱 按钮,浏览器将模拟移动端的视口和 User-Agent
devbrowser/
├── src/main/kotlin/com/devbrowser/
│ ├── DevBrowserToolWindowFactory.kt # 插件入口
│ ├── ui/ # UI 层
│ │ ├── DevBrowserPanel.kt # 主面板
│ │ └── BrowserToolbar.kt # 工具栏
│ ├── bookmark/ # 书签模块
│ │ ├── BookmarkManager.kt # 业务逻辑
│ │ ├── Bookmark.kt # 数据模型
│ │ └── [UI组件...]
│ ├── device/ # 设备模式模块
│ │ ├── DeviceModeController.kt # 模式控制器
│ │ ├── UserAgentHandler.kt # UA 处理
│ │ ├── MobileViewportAdapter.kt # 视口适配
│ │ └── MobileDevice.kt # 设备配置
│ └── settings/ # 设置模块
│ ├── DevBrowserSettings.kt # 数据类
│ └── DevBrowserSettingsState.kt # 持久化
└── src/main/resources/
└── META-INF/
└── plugin.xml # 插件配置
- 语言: Kotlin 2.2.0 (K2 Compiler)
- 平台: IntelliJ Platform SDK 2025.2.3 (支持 2024.3+ ~ 2025.2+)
- 浏览器引擎: JCEF (Chromium Embedded Framework)
- 构建工具: Gradle 8.10 + IntelliJ Platform Gradle Plugin 2.2.1
- UI 框架: Swing (BorderLayout, FlowLayout)
本项目严格遵循 SOLID 原则:
- 单一职责 (SRP): 每个模块职责明确(如 BookmarkManager 仅管理书签)
- 开闭原则 (OCP): 通过扩展支持新功能(如添加新设备配置)
- 依赖倒置 (DIP): 依赖 IntelliJ Platform 抽象接口,而非具体实现
-
JCEF 不支持 某些平台或 JDK 版本不支持 JCEF,请使用 JetBrains Runtime JDK
-
窗口透明度 某些操作系统不支持窗口透明度功能(功能会静默失败)
- 添加单元测试和集成测试
- 实现多标签页支持
- 集成开发者工具(Console、Network)
- 支持更多移动设备(iPad、Android)
- 书签导入/导出功能(JSON 格式)
- 浏览历史记录
- 国际化支持(i18n)
- 性能监控面板
- 插件配置页面
欢迎贡献代码!请遵循以下步骤:
- Fork 本仓库
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开 Pull Request
代码规范:
- 遵循 Kotlin Coding Conventions
- 添加必要的中文注释
- 提交前运行
./gradlew check
本项目采用 MIT License 开源许可证。详见 LICENSE 文件。
- 问题反馈: GitHub Issues
- 讨论: GitHub Discussions