Cle*_*man 15 version-control visual-studio-2010
我在使用不同源控制提供程序的不同项目上工作.Subversion,Git,TFS等......
为了处理Subversion,我安装了AnkhSVN.为了使用Git,我安装了Git源代码控制提供程序来处理TFS,......好吧,你明白了.
源控制信息将保存为解决方案文件的一部分.
然而,当我打开一个新项目时,Visual Studio会继续使用所选择的最后一个源控件提供程序.它似乎没有从解决方案文件中提取它.我总是要打开工具>选项对话框来切换提供者(这需要永远!)
这是我做错了吗?我希望Visual Studio能够根据打开的解决方案更改提供程序.
如果这是Visual Studio根本不做的事情,那么是否有一个宏或扩展会自动解决这个问题?
我不敢相信之前没有问过这个问题,但我没有在StackOverflow列表中看到任何可能已经有你答案的问题.遗憾的是,这似乎指向了"这只是我"的答案.
由于解决方案可以驻留在多个源控制系统中,因此每个解决方案提供者绑定是错误的.诀窍是在VS扩展的预加载解决方案事件中加载正确的源控制提供程序检查保留目录.核心代码如下:
IVsRegisterScciProvider vsRegisterScciProvider = GetService<IVsRegisterScciProvider>();
vsRegisterScciProvider.RegisterSourceControlProvider(sccProviderGuid);
Run Code Online (Sandbox Code Playgroud)
此类扩展的完整代码就在这里.我可能会在经过一些测试后不久发布它,因为它非常简单,即使它需要我进行大量研究.我找不到任何相似的东西,这对我来说很奇怪,因为它应该是这样做的好方法.有关文件RegisterSourceControlProvider也极具误导性,可能就是原因.
| 归档时间: |
|
| 查看次数: |
3909 次 |
| 最近记录: |