Warning: Undefined array key "status" in /www/wwwroot/pcoof.com/git/index.php on line 79
大型文件夹二维直观可视化,开发辅助工具,便于点击文件立刻触发在IDE中打开,解决IDE项目文件过多上下翻阅麻烦的问题。
visual-file-qt版本: v1.2.1
🔗更新日志

Warning: Undefined variable $git in /www/wwwroot/pcoof.com/git/func.php on line 527

1.2.0其中有一个新功能是随着鼠标滚轮缩放,自动忽略文件夹内部的细节信息,进而在观看宏观的时候仅展示相对顶层的一些文件夹。

但实测之后发现并不是很好,尤其是一些体积过大的文件夹。非常影响体验,因此再紧急发布一个小改版。

改成了手动设置透视等级,不再是随着滚轮自动缩放了。这一项功能在观看宏观信息的时候比较有用,想防止卡顿就点击 透视-

Snipaste_2024-08-16_17-44-29

visual-file-qt版本: v1.2.0
🔗更新日志

feat: 增加框选拖拽功能 观看宏观时自动不显示文件夹深层细节 双击鼠标中键回到坐标原点

fix: 修改了初始化窗口时在macOS上可能出现的问题(Erica-Iris) 修复macOS无法使用默认程序打开的问题(Erica-Iris) 增加macOS图标(Erica-Iris) 解决了碰撞挤压的重叠问题 缩放时字体不再抖动了(Rutubet) 修改了碰撞方法,不再按照中心点连线挤开了,而是平移

括号内容为该功能或修复的贡献者

visual-file-qt版本: v1.1.0
🔗更新日志

Warning: Undefined variable $git in /www/wwwroot/pcoof.com/git/func.php on line 527

feat: 增加文件排除功能,分为自动局部排除和手动全局排除

image

自动局部排除会自动识别每个文件夹下的.gitignore文件并排除对应文件

手动全局排除相当于手写一个gitignore文件并在最外层全局生效。(这个全局还没支持正则)

visual-file-qt版本: v1.0.1
🔗更新日志

feat:

增加正在打开文件夹时的提示文字

fix:

解决当一个文件夹内文件数量太多导致的打开过于卡顿问题,摆放排列位置算法O(N^2)引起的,当数量超过100个的时候改成了一种非常简单的快速的算法,但有失美观性

修复访问C盘某些有权限禁止访问的文件夹报错问题,直接改成了不访问这些有权限文件夹。

visual-file-qt版本: v1.0.0
🔗更新日志

第一个版本


Warning: Undefined variable $repo in /www/wwwroot/pcoof.com/github/md.php on line 32

项目代码直观查看工具 visual-file

效果图

默认生成效果

默认生成效果

自定义摆放后

cannonwar-project

放大细节

details

特点

  1. 直观的展示项目文件结构,支持多层级目录结构

  2. 双击矩形打开文件

  3. 无限放大缩小、无边界移动、自由拖拽摆放布局并保存

解决痛点

项目太大,文件太多,普通的编辑器左侧列表太长,翻阅文件困难,需要一个工具来快速找到并打开文件。

我们是三维空间中的碳基生命,我们的视网膜是二维的,所以二维信息包含了上下左右等相对位置信息。比IDE里的一维缩进列表更加丰富。我们可以利用好二维空间、更有逻辑地来摆放文件,比如摆的越靠上可以代表越接近逻辑顶层,越靠下可以代表越接近工具底层、越靠左代表越接近数据层、越靠右代表越接近UI交互层……,(您可以发挥任意想法)。

或者以一定的图案摆放,这样一看到我们自己摆放的图案,想到找某个文件就能立刻根据空间记忆立刻找到,双击即可打开。不需要再在一维的列表中来回上下翻找。

形状自由摆放

如上所示,可以把这五个 ts 文件根据继承关系摆放成三角形,方便快速找到。

类似 SpaceSniffer,屏幕上铺满了大大小小的嵌套的矩形框,每个矩形框代表一个文件夹或者文件,以二维的方式直观的打开项目工程文件,所有代码文件一览无余的,以二维的方式直观的展现在面前。

双击某个矩形框打开代码文件的原理:

python 调用系统默认程序打开文件。直接导致编辑器里实现了打开某个代码的功能。 需要提前将 ts 文件的默认打开方式设置成对应的编辑器程序,比如 vscode。

os.startfile(full_path_file)

使用提示

windows系统不知道为什么,可能会报警病毒,但源代码全部开源,无恶意代码,请放心使用。

实际上在我打包的时候就直接报警有病毒强制给删了。所以不得不手动设置信任才能成功打包。

默认的全局排除里会排除.git 等文件目录,可以根据自己的需要进行修改。

TODO:

为不同的后缀名文件渲染不同的图标。

当缩小到一定程度的时候,文件夹里面的内容不显示,只显示一个大的文件夹名称

全局排除的正则排除功能

开发相关:

此项目为LiRen团队开源项目,贡献代码前建议阅读开发规范文档中的python内容:https://liren.zty012.de/

更新 assets 资源文件指令

pyrcc5 -o assets/image.rcc -o assets/assets.py

打包指令

windows:
pyinstaller --onefile --windowed --icon=./assets/favicon.ico main.py -n visual-file
macOS:
pyinstaller --onefile --windowed --icon=./assets/visual-file.icns main.py -n visual-file

布局文件格式

{
	"layout": [
        {
            "kind": "directory" | "file",
            "name": "abc",  // 文件夹名字或者文件名,不需要全路径,只需要一个名字即可
            "bodyShape": {
                "width": 500,
                "height": 100,
                "locationLeftTop": [155, 4154]
            },
            "children": [
                // ...继续嵌套
            ]
        }
    ]
}