说明:论坛中有几个大佬已经做了类似的svn/git插件,刚开始我用这个大佬开发的插件https://bbs.deepin.org/post/296356 ,当时很高兴,很感谢,后来用久了感觉界面有些老,svn的很多功能我也用不上,我主要使用›svn,基本上就是更新和提交,平常不使用›git。今天休闲,用小U同学原生开发了一个,碰巧赶上这个活动,就来参加一下。(也是我第一次使用›gitee仓库😂 )
项目中也有【VCS插件功能需求模板.md】文件,想要更多功能的朋友可以自己添加,也可以在评论中提出。还有就是主要用git的朋友也可以看下这个大佬的作品https://bbs.deepin.org/post/289152
好了,正文开始。
vcs-dfm 是一个基于 DTK6 (Qt6) + dfm-extension 开发的 deepin 25文件管理器右键菜单扩展插件,为 DDE 文件管理器提供 SVN / Git 双版本控制 的一站式支持。插件将版本控制操作完整融入文件管理器右键菜单,显示状态角标,无需打开终端、无需切换窗口。界面完全遵循 DDE 设计规范,与系统风格浑然一体。
核心亮点:
🖱️ 全 GUI 操作:配置一次凭据后,推送/拉取/克隆/提交全部在右键菜单完成,零命令行依赖
🎨 统一 DDE 风格:所有对话框(提交/更新/日志/检出/进度)采用标准标题栏 + 渐变进度条,SVN 与 Git 界面风格完全一致
📊 实时进度:更新/推送/检出等耗时操作显示渐变进度条 + 实时命令输出;svn/git 克隆完成后自动列出克隆的文件清单
✅ 智能交互:提交按钮按"勾选文件 + 提交信息"动态启用;未版本控制文件默认不勾选避免误提交
方法一:deb 包安装(推荐)
sudo apt install ./vcs-dfm_1.0.32_amd64.deb
或:sudo dpkg -i vcs-dfm_1.0.32_amd64.deb && sudo apt -f install -y
重启文件管理器生效
dde-file-manager -r &
方法二:源码构建
依赖:Qt6、DTK6、dfm-extension 开发包
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release cmake --build build -j$(nproc) sudo cmake --install build
卸载:sudo dpkg -r vcs-dfm
sudo dpkg -r vcs-dfm
工作副本内右键 → svn操作 ▸ svn更新/svn提交/svn日志;git操作 ▸ git拉取/git提交/git日志/git推送/git添加/git删除/git还原/设置
svn操作 ▸ svn更新/svn提交/svn日志
git操作 ▸ git拉取/git提交/git日志/git推送/git添加/git删除/git还原/设置
非工作副本右键 → svn 检出 / git 克隆
svn 检出 / git 克隆
Git 认证:首次使用在 git操作 → 设置... 填入用户名 + 令牌(GitHub/Gitee/GitLab 通用),点"测试连接"验证后保存,之后全部自动认证
git操作 → 设置...
文件角标:文件图标自动显示版本控制状态角标
详细文档见项目仓库 README.md。
角标:
svn:
git:
更多效果图请查看源码仓库。
源码仓库:https://gitee.com/shiwushuang9/deepin-25-svn-and-git-plugins
协议:GPL-3.0
README:功能介绍、安装、使用说明、项目结构、变更记录
技术栈:Qt6 / DTK6 / dfm-extension / C++17
本插件从 2026-08-10 从零开始开发,完全通过 小U同学 AI 编程 Agent + deepin Skills 辅助完成,未使用任何现成插件代码(交互逻辑参考了 RabbitVCS 但界面与实现全部基于 Qt6/DTK6 重写)。
使用的 deepin Skills 模块:
dtk-development
dde-shell-development
AI 辅助开发的关键对话记录:
典型 AI 解决的问题:
「DDialog 顶部标题栏如何隐藏/对齐」→ AI 定位源码:DTitlebar 为独立组件,findChild 处理
「git 插件内推送认证失败」→ AI 设计 GIT_ASKPASS 注入方案,实现全 GUI 认证
「git 提交报作者身份未知」→ AI 检测仓库 user 配置,设置界面增加提交者信息自动注入
开发过程回顾:
Featured Collection
Popular Ranking
Popular Events
说明:论坛中有几个大佬已经做了类似的svn/git插件,刚开始我用这个大佬开发的插件https://bbs.deepin.org/post/296356 ,当时很高兴,很感谢,后来用久了感觉界面有些老,svn的很多功能我也用不上,我主要使用›svn,基本上就是更新和提交,平常不使用›git。今天休闲,用小U同学原生开发了一个,碰巧赶上这个活动,就来参加一下。(也是我第一次使用›gitee仓库😂 )
项目中也有【VCS插件功能需求模板.md】文件,想要更多功能的朋友可以自己添加,也可以在评论中提出。还有就是主要用git的朋友也可以看下这个大佬的作品https://bbs.deepin.org/post/289152
好了,正文开始。
一、作品简介
vcs-dfm 是一个基于 DTK6 (Qt6) + dfm-extension 开发的 deepin 25文件管理器右键菜单扩展插件,为 DDE 文件管理器提供 SVN / Git 双版本控制 的一站式支持。插件将版本控制操作完整融入文件管理器右键菜单,显示状态角标,无需打开终端、无需切换窗口。界面完全遵循 DDE 设计规范,与系统风格浑然一体。
二、功能清单
核心亮点:
🖱️ 全 GUI 操作:配置一次凭据后,推送/拉取/克隆/提交全部在右键菜单完成,零命令行依赖
🎨 统一 DDE 风格:所有对话框(提交/更新/日志/检出/进度)采用标准标题栏 + 渐变进度条,SVN 与 Git 界面风格完全一致
📊 实时进度:更新/推送/检出等耗时操作显示渐变进度条 + 实时命令输出;svn/git 克隆完成后自动列出克隆的文件清单
✅ 智能交互:提交按钮按"勾选文件 + 提交信息"动态启用;未版本控制文件默认不勾选避免误提交
三、安装方式
方法一:deb 包安装(推荐)
sudo apt install ./vcs-dfm_1.0.32_amd64.deb
或:sudo dpkg -i vcs-dfm_1.0.32_amd64.deb && sudo apt -f install -y
重启文件管理器生效
dde-file-manager -r &
方法二:源码构建
依赖:Qt6、DTK6、dfm-extension 开发包
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
sudo cmake --install build
卸载:
sudo dpkg -r vcs-dfm四、使用说明
工作副本内右键 →
svn操作 ▸ svn更新/svn提交/svn日志;git操作 ▸ git拉取/git提交/git日志/git推送/git添加/git删除/git还原/设置非工作副本右键 →
svn 检出 / git 克隆Git 认证:首次使用在
git操作 → 设置...填入用户名 + 令牌(GitHub/Gitee/GitLab 通用),点"测试连接"验证后保存,之后全部自动认证文件角标:文件图标自动显示版本控制状态角标
详细文档见项目仓库 README.md。
五、效果图
角标:
svn:
git:
更多效果图请查看源码仓库。
六、源码与文档
源码仓库:https://gitee.com/shiwushuang9/deepin-25-svn-and-git-plugins
协议:GPL-3.0
README:功能介绍、安装、使用说明、项目结构、变更记录
技术栈:Qt6 / DTK6 / dfm-extension / C++17
七、开发过程说明(deepin Skills 应用)
本插件从 2026-08-10 从零开始开发,完全通过 小U同学 AI 编程 Agent + deepin Skills 辅助完成,未使用任何现成插件代码(交互逻辑参考了 RabbitVCS 但界面与实现全部基于 Qt6/DTK6 重写)。
使用的 deepin Skills 模块:
dtk-development(核心)dde-shell-development(辅助)AI 辅助开发的关键对话记录:
典型 AI 解决的问题:
「DDialog 顶部标题栏如何隐藏/对齐」→ AI 定位源码:DTitlebar 为独立组件,findChild 处理
「git 插件内推送认证失败」→ AI 设计 GIT_ASKPASS 注入方案,实现全 GUI 认证
「git 提交报作者身份未知」→ AI 检测仓库 user 配置,设置界面增加提交者信息自动注入
开发过程回顾: