免费开源MIT 许可证IntelliJ IDEA 2026.2
给 SQL 和 HTTP 文件一份目录
Code Comment Navigator 读取你本来就写在注释里的 Markdown 标题——SQL 里的 -- # 标题、HTTP 里的 // # 标题——在 IntelliJ IDEA 右侧生成可折叠的 Comment Outline,点击标题就跳到对应注释行。项目文件和 Scratches 里越写越长的迭代脚本都适用。
版本 1.1.0 · MIT 许可证 · 适配 IntelliJ IDEA 2026.2
怎么用
-
在注释里写标题
在普通注释行里用
#到######标记层级:SQL 写-- # 标题,HTTP 写// # 标题。井号后必须留一个空格,文件的其他部分什么都不用改。 -
打开 Comment Outline
点右侧的 Comment Outline 标签,或走 View → Tool Windows → Comment Outline。编辑器右键菜单和 Edit 菜单里同样有 Comment Structure 动作(默认键位 Shift+Cmd+F12)。
-
点击跳转,输入搜索
点击标题,或用上下键选中后按 Enter,跳到对应注释行。直接在树里输入就能搜索标题。
Scratches 里的迭代脚本会一路变长:几百行 SQL,没有结构,也很难回到刚才在看的那一段。注释大纲不改变你的书写习惯,只是把这份文件变成一份目录。
功能
大纲能做的事,以及它不做的事。
-
SQL / HTTP / REST 六级标题
支持
.sql、.http、.rest文件,Markdown#到######直接变成树。跳级时挂在前一个层级更浅的标题下,同级标题保持文件顺序。 -
点击或回车跳转,输入即搜索
点击标题,或用上下键选中后按 Enter,跳到对应注释行。在树里直接输入就能搜索标题,不用先开弹窗。
-
跟随编辑器,不必保存
面板跟随当前选中的编辑器,修改后约 250 ms 自动重建大纲,不需要先保存文件。
-
展开、折叠、保留状态
可逐个节点展开或折叠,也有全部展开、全部折叠。同一文件编辑时保留折叠状态,切换文件后恢复为展开。
-
认识 HTTP 的
###,也有普通注释兜底HTTP Client 的
### 请求名称分隔符固定作为二级节点,空的###会跳过。整个文件没有任何标题和请求名称时,回退成普通注释的平级列表。 -
Java / Kotlin 弹窗保留
原有的 Java / Kotlin 注释导航弹窗保留,仍然通过同一个 Comment Structure 动作(Shift+Cmd+F12)打开。
- 项目文件和 Scratches 都支持——不断变长的 scratch 脚本正是这个插件的由来。
- 解析使用平台 Document API,不依赖 SQL / Database 或 HTTP Client 语言插件。
标题写法
标题就是普通注释。数据库控制台和 HTTP Client 看到的仍然是注释,文件照样能直接执行。
SQL
-- # 角色与权限核对
-- ## 角色本体
-- ### 系统模板
SELECT 'system role';
-- ### 商户角色
SELECT 'merchant role';
-- ## 授权明细
/*
* ### 页面权限
* #### PRO 页面
*/
SELECT 'page permission';
- 支持
--行注释和/* … */块注释。 - 标题必须独占一整行注释。
- 不会把 SQL 语句行尾注释、字符串或引用标识符里的内容误认成标题。
HTTP
// # 货柜查询
// ## 正常场景
# ### 响应字段核对
### 批量查询货柜
GET {{host}}/freezers
// # 补货单
### 补货单详情
GET {{host}}/replenishments/example
- 推荐用
// # 标题;# # 标题(#注释后再加 Markdown 标记)同样支持。 ### 请求名称固定是二级节点,因此不要用它表达三级标题;需要明确层级时写// ### 标题。- 空的
###不进入目录;请求前置和响应处理脚本里的注释也不进入目录。
| 写法 | 大纲层级 |
|---|---|
// # 标题 或 # # 标题 | 一级 |
// ## 标题 | 二级 |
// ### 标题 | 三级 |
### 请求名称 | 二级 —— HTTP Client 原有的请求分隔符 |
两种语言通用的规则
- 标题标记后必须留一个空格。
- 支持 1–6 级。
- 跳级时挂在前一个层级更浅的标题下。
- 同级标题保持文件顺序。
- 普通说明不会混入已有显式标题的大纲。
- 整个文件没有任何标题或请求名称时,回退到普通注释的平级列表。
安装
两分钟、一条命令,IDE 提示时重启一次即可。
-
Marketplace 条目建设中
JetBrains Marketplace 的条目尚未上线,也还没有 GitHub Release。在它发布之前,请按下面的步骤自行构建安装包——只要一条命令。
-
从源码构建
克隆仓库,用 JDK 25 执行
./gradlew test buildPlugin。安装包输出在build/distributions/comment-navigation-1.1.0.zip。 -
Install Plugin from Disk
在 IDE 里打开 Settings → Plugins → 齿轮菜单 → Install Plugin from Disk…,选择该 ZIP,按 IDE 提示完成安装。
-
打开 SQL 或 HTTP 文件
打开
.sql、.http或.rest文件,点右侧的 Comment Outline 标签,或走 View → Tool Windows → Comment Outline。
本版本的构建与验证范围是 IntelliJ IDEA 2026.2(262.*),更早的 IDE 版本未纳入兼容范围。从源码构建需要 JDK 25。
常见问题
Code Comment Navigator 是免费的吗?
是。项目采用 MIT 许可证,个人和企业均可免费使用,包括商业用途,无需购买、订阅或激活码。允许修改、再分发及销售,须保留版权声明与许可声明。软件按现状提供,不承诺固定更新周期或支持响应时间。
支持哪些版本的 IntelliJ IDEA?
1.1.0 的构建与验证范围是 IntelliJ IDEA 2026.2(262.*),更早的 IDE 版本未纳入本次兼容范围。从源码构建插件需要 JDK 25。
需要额外装 Database 或 HTTP Client 插件吗?
不需要。解析使用平台 Document API,不依赖 SQL / Database 或 HTTP Client 语言插件,.sql、.http、.rest 文件都能自己读。
它会把我的代码传到外部吗?
不会。插件不含任何网络代码,只读取你当前打开的编辑器文本,并在 IDE 本地生成大纲。
为什么 ### 请求名称 是二级节点?
因为它是 HTTP Client 原有的请求分隔符,为了让既有 .http 文件保持可用,它固定映射为二级节点;空的 ### 会被跳过。需要明确的三级标题时,改写成 // ### 标题。
在 Scratches 里能用吗?
能。项目文件和 Scratches 都支持——Scratches 里越写越长的迭代脚本正是这个大纲存在的理由。打开 scratch 的 SQL 或 HTTP 文件,面板照常跟随编辑器。
许可与联系
Code Comment Navigator 采用 MIT 许可证,版权归 Fuuqiu (Tinyue) 所有(2024–2026)。个人和企业均可免费使用,包括商业用途,无需购买、订阅或激活码。
允许修改、再分发以及销售,须保留版权声明与许可声明。软件按现状提供,不提供担保,也不承诺固定的更新周期或支持响应时间。
相关链接
有问题、Bug 或功能建议:提一个 issue,或发邮件到 fuuqiu@gmail.com.