我正在使用Rubberduck(版本2.0.13)与本地git存储库结合使用,以便对我的VBA项目进行版本控制。
目前,每次在Source Control Window中使用Manage -> Open Existing Repository
启动Rubberduck时,我都需要重新打开存储库。
是否有更好的方法来处理本地存储库,例如Rubberduck可以保存此设置吗?我不想使用在线存储库,因此我认为“Unsynced commits”选项卡对我来说无关紧要。
答案 0 :(得分:4)
这开头是一个评论,但是太长了......所以我想我会做出令人失望的答案。
我个人不做VBA(最近无论如何),所以我不能说我积极使用Rubberduck的源代码控制功能,而且我没有真正为那个部分贡献很多,但是我知道似乎设法使用它的用户 - 同时使用本地和远程存储库:这些用户可能会提供比我使用使用更好的答案。
有很多开放的issues involving the source control feature,甚至是a project dedicated to stabilizing it。基本上它是“原样”提供的,就像“比什么都没有”更好。
我的想法是它应该选择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还没有知道存储库时;如果您有想法或功能请求(或只是报告错误),请随意open an issue on GitHub。