这开始是一条评论,但太长了……所以我想我会做出一个令人失望的答案。
我个人没有做太多 VBA(无论如何最近),所以我不能说我积极使用 Rubberduck 的源代码控制功能,而且我并没有真正做出太多贡献that部分,但我知道似乎设法使用它的用户 - 本地和远程存储库:这些用户可能会给你一个比我更好的答案using it goes.
There are相当数量的开放涉及源代码控制功能的问题 https://github.com/rubberduck-vba/Rubberduck/issues?q=is%3Aissue+is%3Aopen+label%3Afeature-source-control, even a project致力于稳定它 https://github.com/rubberduck-vba/Rubberduck/projects/8。基本上它是“按原样”提供的,就像“总比没有好”。
这个想法是它应该拿起ProjectId
(我们目前将其存储在可写的VBProject.HelpFile
没有人用过那个属性 - 你想混淆 Rubduck 你只需更改活动项目的值),在我们解析它之后,所以我们确定该项目has当我们查看时的ID%appdata%\Rubberduck\SourceControl.rubberduck
文件来查看该项目 ID 是否与已知存储库关联 - 如果是这种情况,那么我们将打开该存储库并更新 SC 面板。
配置文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
<SourceControlSettings>
<UserName />
<EmailAddress />
<DefaultRepositoryLocation />
<Repositories>
<Repository>
<Id>86689642</Id>
<LocalLocation>C:\Dev\VBA\VBTools</LocalLocation>
<RemoteLocation />
</Repository>
</Repositories>
<CommandPromptLocation>cmd.exe</CommandPromptLocation>
</SourceControlSettings>
</Configuration>
We are存储信息——存储库<Id>
应该完全用于此目的,因此要么它正在工作但不可靠,要么它正在产生问题并被禁用。
但你是对的:每次都必须手动打开工作存储库并不是理想的用户体验。无论是否有遥控器都没有什么区别,当你有遥控器时,你仍然需要有一个本地副本。
我记得曾经有人争论过我们是否应该让用户浏览存储库位置,或者只是从配置文件中列出已知的存储库 - 我们决定让用户浏览并打开 Rubberduck 是否已知的任何 git 存储库,使其变得更加简单和灵活,特别是当 Rubberduck 还不知道存储库时;随意地在 GitHub 上打开问题 https://github.com/rubberduck-vba/Rubberduck/issues/new如果您有想法或功能请求(或只是报告错误)。