如何使用Rubberduck管理本地Git代码库

5
我正在使用Rubberduck(版本2.0.13)结合本地git仓库对我的VBA项目进行版本控制。
目前,每次启动Rubberduck时,我需要使用源代码控制窗口中的“管理->打开现有存储库”重新打开存储库。
是否有更好的方法来处理本地存储库,例如Rubberduck是否可以保存此设置?我不想使用在线存储库,因此我认为“未同步提交”选项卡对我不相关。
1个回答

4
这开始是一条评论,但变得太长了……所以我想我应该做一个令人失望的答案。
我个人不怎么使用VBA(最近也不怎么用),所以我不能说我积极使用Rubberduck的源代码控制功能,并且我没有真正为那个部分做出贡献,但我知道有些用户似乎能够使用它——使用本地和远程存储库:这些用户可能会比我更好地回答你关于使用它的问题。
存在相当多的开放式 问题涉及源代码控制功能,甚至一个专门稳定它的项目。基本上,它提供了“原样”,就像“胜过没有”。
这个想法是获取活动项目的ProjectId(我们目前将其存储在可写的VBProject.HelpFile属性中,没有人使用它 - 如果您想让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上开个issue

我查看了配置文件,发现同一个项目ID出现了两次,但路径不同(第一次是旧的,我之前已经更改过)。我删除了配置文件并重新设置了存储库位置。然后,项目ID出现了奇怪的字符:<Id>㼿㼿</Id>。重新打开Rubberduck后,它再次丢失了存储库信息。我又重新打开了存储库,但配置没有改变,存储库又被忘记了。VBProject.Helpfile应该在哪里?Debug.Print Application.VBE.ActiveVBProject.HelpFile返回了?? - Jörg Brenninkmeyer
2
ProjectId 应该是哈希码的字符串表示形式,哈希码是一个 int。不确定为什么会出现 <Id>㼿㼿</Id>,但 ?? 似乎是 VBE 无法显示的字符的合理 ANSI 表示形式。VBProject.HelpFile 属性可以在工具/项目属性对话框中看作是可编辑的文本字段。我们确实有更强大的打开 VBA 项目消歧的想法,但目前似乎只能在保存的项目上实现,这是个问题。 - Mathieu Guindon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接