我正在结合使用Rubberduck(版本 2.0.13)和本地 git 存储库来控制我的 VBA 项目的版本。
Manage -> Open Existing Repository
目前,每次在源代码控制窗口中使用 Rubberduck 时,我都需要重新打开存储库。
是否有更好的方法来处理本地存储库,例如 Rubberduck 可以保存此设置吗?我不想使用在线存储库,所以我认为“未同步提交”选项卡与我无关。
我正在结合使用Rubberduck(版本 2.0.13)和本地 git 存储库来控制我的 VBA 项目的版本。
Manage -> Open Existing Repository
目前,每次在源代码控制窗口中使用 Rubberduck 时,我都需要重新打开存储库。
是否有更好的方法来处理本地存储库,例如 Rubberduck 可以保存此设置吗?我不想使用在线存储库,所以我认为“未同步提交”选项卡与我无关。
这开始是一个评论,但太长了......所以我想我会做出一个令人失望的答案。
我个人并没有做太多的 VBA(无论如何最近),所以我不能说我积极使用 Rubberduck 的源代码控制功能,我并没有真正为这部分做出太多贡献,但我知道似乎设法使用它的用户 -使用本地和远程存储库:就使用它而言,这些用户可能会给您比我更好的答案。
有相当多的开放问题涉及源代码控制功能,甚至是一个致力于稳定它的项目。基本上它是“按原样”提供的,就像“总比没有好”一样。
这个想法是它应该拾取ProjectId
(我们目前存储在启用写入的VBProject.HelpFile
no-one-ever-uses-that属性中 - 你想混淆 Rubberduck 你只是改变那个值)活动项目,在我们解析它之后,所以当我们查看文件以查看该项目 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>
我们正在存储信息 - 存储库<Id>
应该完全用于此目的,因此要么它正在工作但不可靠,要么它正在产生问题并被禁用。
但是您是对的:每次都必须手动打开工作存储库并不是理想的用户体验。不管有没有遥控器都不应该有区别,当你有遥控器时,你仍然需要有一个本地副本。
我记得曾经争论过我们是否应该让用户浏览存储库位置,或者只是从配置文件中列出已知的存储库 - 决定让用户浏览并打开 Rubberduck 已知的任何 git 存储库,将使它更容易和灵活,尤其是在 Rubberduck 还没有存储库的情况下;如果您有想法或功能请求(或只是报告错误),请随时在 GitHub 上打开问题。