hi,大家好,我是爱听书的程序员阿超

非常开心能在这里介绍我的第一个正式开源项目 Annotree,项目具体情况如下,请继续阅读~

Annotree 注释树

一款生成带注释的目录树工具,大大方便技术文档的编写

项目介绍

本项目基于 folder-explorer 进行二次开发,感谢 FairyEver 的创意和贡献!

效果演示 ︎

官方文档首页

功能展示

扫描

点击扫描按钮后打开文件选择器,选择需要扫描的文件夹,即可开始扫描。

自动打开文件

导出文件后自动打开。

忽略文件夹

忽略不需要扫描的文件夹,避免性能损失甚至程序失去响应,比如:node_modules 文件夹,程序内部已自动忽略 node_modules 文件夹。

忽略以 "." 开头的文件夹

这类文件夹在 MacOS 和 Linux 上是默认隐藏的文件夹。

只扫描文件夹

忽略所有文件,只扫描文件夹。

忽略以 "." 开头的文件

这类文件在 MacOS 和 Linux 上是默认隐藏的文件。

忽略文件类型

在扫描一次后,会生成此次扫描后的所有文件类型,可以选择忽略不需要的文件类型,以提高扫描效率。

扫描深度

设置扫描目录的深度,0 为所有深度,每递增一个数字则代表扫描深度 +1。

默认名称

导出文本的默认名称配置。

注释格式化

填充注释的格式

桥梁最短字符数

路径最长的地方,显示的桥梁字符数

桥梁填充字符

输入一个单字节填充字符,比如:*,#,$,-,@,_ 等。

始终显示桥梁

配置没有注释的地方是否显示桥梁。

导出

设置好相关配置,编写好注释后,导出注释目录树。

下载地址 ️

反馈渠道

如果你有任何意见或建议,欢迎通过以下方式与我联系:

我为何选择飞书群作为社区沟通渠道:

  1. 我平时飞书用的较多,沟通方便。
  2. 飞书话题群沟通问题,效率更高。

开发 Annotree 的故事 ️

本项目基于 folder-explorer 进行二次开发,感谢 FairyEver 的创意和贡献!

起源

  • 2023 年 6 月,我负责搭建公司内部前端基础框架。框架搭建完成后,我希望通过注释来帮助团队成员快速理解目录结构。
  • 我发现 tree 命令可以扫描项目目录结构,但注释需要手动添加,不够便捷。
  • 之后发现了 folder-explorer,这个工具提供了目录注释和对齐功能,但仍不完全符合我的需求。
  • 为了解决上述问题,我基于 folder-explorer 进行了二次开发,创建了 Annotree。
  • 由于其他工作和对 Electron 不熟悉,直到 2024 年 7 月我才开始开发 Annotree。

为何二次开发

  1. folder-explorer 的部分功能对我而言冗余,不符合我的使用习惯。
  2. folder-explorer 导出文本后才看到效果,我希望有实时预览功能。
  3. folder-explorer 编辑备注需要右键打开菜单,操作不便。

期望

  • 这是我做的第一个正式开源项目,大家的反馈和支持,对我很重要 ,谢谢
  • 现在项目还处于快速迭代中,期待大家的反馈与 pr,期待与大家一起共建更好的 Annotree

致谢

  1. 感谢 electron-vite 提供的 electron 框架,大大提升我的开发效率。
  2. 感谢 md 提供给我的 README.md 文档思路。

谁在使用

如果你使用了本 Annotree 工具生成带注释的项目文件树形结构,并且希望在本项目 README 中展示你的项目,请到 Discussions #2 留言。

技术文档必备工具:注释目录树神器 Annotree,我的第一个正式开源项目的更多相关文章

  1. showdoc 开源在线api&&技术文档管理工具

    showdoc 是一个很不错的api 以及技术文档管理工具 环境准备 doker-copose 文件 version: "3" services: doc: image: regi ...

  2. 技术文档生成工具:appledoc

    做项目一般都会要求写技术文档,特别是提供SDK或者基础组件的.如果手写这类技术文档的话,工作量比编写代码也少不了多少.比如 Java 语言本身就自带 javadoc 命令,可以从源码中抽取文档.本篇我 ...

  3. DBImport v3.44 中文版发布:数据库数据互导及文档生成工具(IT人员必备)

    前言: 距离上一个版本V3.3版本的文章发布,已经是1年10个月前的事了. 其实版本一直在更新,但也没什么大的功能更新,总体比较稳定,所以也不怎么写文介绍了. 至于工作上的事,之前有半年时间跑去学英语 ...

  4. 使用Jupyter Notebook编写技术文档

    1.jupyter Notebook的组成 这里它的组件及其工程构成,帮助大家更好的用好jupyter Notebook 组件 Jupyter Notebook结合了三个组件: 笔记本Web应用程序: ...

  5. .NET平台开源项目速览(4).NET文档生成工具ADB及使用

    很久以前就使用ADB这个工具来生成项目的帮助文档.功能强大,在学习一些开源项目的过程中,官方没有提供CHM帮助文档,所以为了快速的了解项目结构和注释.就生成文档来自己看,非常好用.这也是一个学习方法吧 ...

  6. (转)Doxygen文档生成工具

    http://blog.csdn.net/lostaway/article/details/6446786 Doxygen 是一个支持 C/C++,以及其它多种语言的跨平台文档生成工具.如同 Java ...

  7. Kafka 技术文档

    Kafka 技术文档   目录 1 Kafka创建背景 2 Kafka简介 3 Kafka好处 3.1 解耦 3.2 冗余 3.3 扩展性 3.4 灵活性 & 峰值处理能力 3.5 可恢复性 ...

  8. RabbitMq 技术文档

    RabbitMq 技术文档 目录 1 AMQP简介 2 AMQP的实现 3 RabbitMQ简介 3.1 概念说明 3.2 消息队列的使用过程 3.3 RabbitMQ的特性 4 RabbitMQ使用 ...

  9. [转]unity3d 脚本参考-技术文档

    unity3d 脚本参考-技术文档 核心提示:一.脚本概览这是一个关于Unity内部脚本如何工作的简单概览.Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的.在脚本对象内部不同志的函数被 ...

  10. 使用Objective-C的文档生成工具:appledoc

    使用Objective-C的文档生成工具:appledoc 前言 做项目的人多了,就需要文档了.今天开始尝试写一些项目文档.但是就源代码来说,文档最好和源码在一起,这样更新起来更加方便和顺手.象 Ja ...

随机推荐

  1. Vue——安装

    Vue.js 设计的初衷就包括可以被渐进式地采用.这意味着它可以根据需求以多种方式集成到一个项目中. 将 Vue.js 添加到项目中主要有四种方式: 1.在页面上以 CDN 包的形式导入. <s ...

  2. 记一次 .NET某工控WPF程序被人恶搞的 卡死分析

    一:背景 1. 讲故事 这一期程序故障除了做原理分析,还顺带吐槽一下,熟悉我的朋友都知道我分析dump是免费的,但免费不代表可以滥用我的宝贵时间,我不知道有些人故意恶搞卡死是想干嘛,不得而知,希望后面 ...

  3. 11种排序算法(Python实现)

    10种排序算法(Python实现) 冒泡排序 1. 两重循环,每次都将一个点移动到最终位置 def BubbleSort(lst): n=len(lst) if n<=1: return lst ...

  4. css制作骰子

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  5. npm包管理器 切换npm源 使用nrm来管理npm镜像源

    npm是NodeJs项目模块管理工具,它已经集成了nodejs安装包中,在npm从从5.2版开始,增加了 npx 命令(解决的主要问题,就是调用项目内部安装的模块,很多工具不再需要npm -g 全局来 ...

  6. INFINI Labs 产品更新 | Agent 全新重构,优化指标采集,支持集中配置管理,支持动态下发等功能

    INFINI Labs 产品又更新啦~ 本次更新主要有 Agent.Console.Loadgen 等产品,其中 Agent 进行全新重构升级,新版限制了 CPU 资源消耗,优化了内存,相比旧版内存使 ...

  7. C#.NET根据不同业务类别类型写入不同文件中,动态创建log4net实例验证

    C#.NET根据不同业务类别类型写入不同文件中,动态创建log4net实例验证 参考了:https://www.cnblogs.com/-dawn/p/8598566.html GetLog4netI ...

  8. JS获取表单所有内容

    var formData = {}; var t = $('#Form').serializeArray(); $.each(t, function() { formData[this.name] = ...

  9. RSA算法中,为什么需要的是两个素数?

    PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全.密码学.联邦学习.同态加密等隐私计算领域的技术和内容. RSA算法中,为什么需要的是两个素数? RSA算法是一种广泛使用 ...

  10. spring.jackson 相差8小时,restful接收Date参数处理

    spring.jackson 相差8小时,restful接收Date参数处理 前端提交字符串到后台映射日期类型的话,加上​​@DateTimeFormat(pattern = "yyyy-M ...