如何使用Rubberduck管理本地git存储库

Jör*_*yer 5 git version-control vba vbe rubberduck

我正在将Rubberduck(版本2.0.13)与本地git存储库结合使用,以便对我的VBA项目进行版本控制.

目前,每次Manage -> Open Existing Repository在Source Control Window中启动Rubberduck时,我都需要重新打开存储库.

有没有更好的方法来处理本地存储库,例如,Rubberduck可以保存此设置吗?我不想使用在线存储库,所以我认为"Unsynced commits"选项卡对我来说无关紧要.

Mat*_*don 4

这开始是一条评论,但太长了……所以我想我会做出一个令人失望的答案。

我个人没有做太多VBA(无论如何最近),所以我不能说我积极使用Rubberduck的源代码控制功能,而且我并没有真正为部分做出太多贡献,但我知道似乎设法使用它的用户 -对于本地和远程存储库:就使用它而言,这些用户可能会给您比我更好的答案。

有相当多的涉及源代码控制功能的未决问题甚至是一个致力于稳定它的项目。基本上它是“按原样”提供的,就像“总比没有好”。

这个想法是,它应该拾取ProjectId(我们目前将其存储在可写的VBProject.HelpFile 无人使用过的属性中 - 你想混淆橡胶鸭,你只需更改该值)活动项目,在我们解析它之后,所以当我们查看文件以查看该项目 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>
Run Code Online (Sandbox Code Playgroud)

我们正在存储信息 - 存储库<Id>应该完全用于此目的,因此要么它正在工作但不可靠,要么它正在产生问题并被禁用。

但你是对的:每次都必须手动打开工作存储库并不是理想的用户体验。无论是否有遥控器都没有什么区别,当你有遥控器时,你仍然需要有一个本地副本。

我记得曾经有人争论过我们是否应该让用户浏览存储库位置,或者只是从配置文件中列出已知的存储库 - 我们决定让用户浏览并打开 Rubberduck 是否已知的任何 git 存储库,使其变得更加简单和灵活,特别是当 Rubberduck 还不知道存储库时;如果您有想法或功能请求(或者只是报告错误),请随时在 GitHub 上提出问题。

  • “ProjectId”*应该*是哈希码的字符串表示形式,它是一个“int”。不确定 `&lt;Id&gt;㼿㼿&lt;/Id&gt;` 是如何发生的,但是 `??` 似乎是 VBE 无法显示的字符的合理 ANSI 表示。“VBProject.HelpFile”属性可以被视为“工具/项目属性”对话框中的可编辑文本字段。我们*确实*有对打开的 VBA 项目进行更强大的消歧的想法,但到目前为止,它似乎只能在保存的项目上实现,这是一个问题。 (2认同)