我正在使用Rubberduck (版本2.0.13)和一个本地git存储库来控制我的VBA项目的版本。
目前,每次在源码控制窗口中使用Manage -> Open Existing Repository启动Rubberduck时,我都需要重新打开存储库。
有没有更好的方法来处理本地存储库,例如Rubberduck可以保存这个设置吗?我不想使用在线存储库,所以我认为“非同步提交”标签对我来说无关紧要。
发布于 2017-04-07 12:29:42
这开始是一个评论,但太长了.所以我想我会给出一个令人失望的答案。
我个人并不经常使用VBA (不管怎么说,最近),所以我不能说我积极地使用Rubberduck的源代码控制特性,我对这一部分的贡献也不是很大,但我知道一些用户似乎设法使用它-无论是本地存储库还是远程存储库:只要我使用它,这些用户可能会给你一个更好的答案。
有相当多的开放issues involving the source control feature,甚至a dedicated to stabilizing it。基本上,它是“按原样”提供的,比如“总比没有好”。
我们的想法是,在我们解析了活动项目之后,它应该提取活动项目的ProjectId (我们目前将其存储在可写的VBProject.HelpFile中-no-one-ever-uses那个属性-你想把它弄糊涂了,你只需要更改那个值就行了),所以当我们在%appdata%\Rubberduck\SourceControl.rubberduck文件中查看项目ID是否与已知的存储库相关联时,我们可以确定该项目有一个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。
https://stackoverflow.com/questions/43269102
复制相似问题