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"选项卡对我来说无关紧要.
这开始是一条评论,但太长了……所以我想我会做出一个令人失望的答案。
我个人没有做太多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 上提出问题。