【问题标题】:Extend file renaming in VS 2010在 VS 2010 中扩展文件重命名
【发布时间】:2012-07-26 19:06:20
【问题描述】:

我希望能够在 VS 中重命名类与关联的文件,而不会丢失 Perforce 中的文件历史记录。 我想我可以在 Visual Studio 的文件重命名中包含一个 Perforce 命令(p4 move...) 或在 ReSharper 的类重命名中。

我看到了 3 个选项:

包装 Visual Studio 的文件重命名

我通过自己的 VS 插件或包装现有的宏来扩展文件重命名(我的意思是文件重命名:在解决方案资源管理器中右键单击文件并选择重命名。) >重命名菜单命令并调用p4 move....

扩展 Visual Studio 的文件重命名

我通过任何类型的挂钩到现有的 Rename 命令来扩展文件重命名。

扩展 ReSharper 的类重命名

我扩展了 ReSharper 的 class-rename 操作 (Ctrl+R,R)(启用选项:根据更改同步文件名)通过调用 p4 move....

在不丢失 Perforce 中的文件历史记录的情况下,哪个选项是在 VS 中重命名具有关联文件的类的最佳选项?

我没有使用 VS 插件和 ReSharper 插件的经验。因此,如果有人知道根本不可能选择一个选项,那么提示会对我有很大帮助。

有什么想法吗?

【问题讨论】:

    标签: c# visual-studio-2010 resharper perforce resharper-5.1


    【解决方案1】:

    您可以在 VS 2010 中扩展文件重命名,方法是使用 将“p4 move -k”操作添加到 rename 事件。 见answer of "How to keep change history while renaming files in Visual Studio using Perforce"
    当您在 Visual Studio 中执行任何重命名或移动操作时,此宏会自动调用 p4 重命名/移动。因此,您将文件历史记录保存在 Perforce 中。

    【讨论】:

      【解决方案2】:

      Git 可以很好地处理这些类型的更改。您能否转而使用 Git 进行开发并使用 Git-P4 将源代码导入 Perforce?我不知道 Perforce,所以我不确定这个解决方案的效果如何,但它绝对值得研究。

      【讨论】:

      • 谢谢,但为了获得这一功能,我要让自己熟悉 Git(并维护本地版本控制系统)太费力了。
      • Git 并不难学;那里有大量的资源。此外,我怀疑学习 Git 的成本将低于编写 VS 扩展来使用 PerForce 处理这种情况的成本。
      • 我们公司的所有开发人员(数百名)都使用一台 perforce 服务器(带有一些代理 perforce 服务器)。因此设置了 P4。如果我要使用本地 Git,我总是需要再次签入我的变更列表(本地 Git,然后到 Perforce)。还是我误会了什么?
      • 相信你的理解是正确的。我仍然认为您应该研究使用 Git 进行开发。它允许的工作流程非常棒,并且确实有助于提高生产力。虽然我不知道 P4,但我使用过 Subversion,而 Git 更好。这是一篇比较 Git 和 SV 的文章,指出的大部分优点应该适用于 P4 以及 SV thinkvitamin.com/code/…
      • 杰夫非常感谢您的链接。我刚刚开始阅读比较,已经对 Git 印象深刻。
      【解决方案3】:

      你有新的 P4VS 插件吗?我相信它很好地支持重命名。

      【讨论】:

      • 我已经测试了 P4VS 几个小时。它可以用文件重命名类,甚至可以一次性重命名控件(aControl.cs、aControl.Designer.cs 和 aControl.resx)。这太棒了!不幸的是,它有很多错误,至少在我完成任何 Undo Checkout 之后。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-14
      • 1970-01-01
      • 1970-01-01
      • 2011-07-01
      • 2017-04-23
      • 2018-09-20
      • 1970-01-01
      相关资源
      最近更新 更多