12

重命名文件的问题在于,如果您想利用 Visual Studio 重构,您确实需要从 Visual Studio 内部进行。

但是大多数(不是全部*)版本控制系统也希望成为重命名的系统。

一种解决方案是使用集成源代码控制,但这并不总是可用的,而且在某些情况下非常笨拙。

我个人会更喜欢在 Visual Studio 之外单独使用源代码控制,但我不确定如何管理文件重命名这个问题。

那么,对于那些使用 Visual Studio 的人来说,你使用哪个源代码控制?您是否使用 VS 集成(哪个?),否则,您如何解决此重命名问题?

(* git 足够聪明,可以自己解决)

4

6 回答 6

5

我使用 SVN(TortiseSVN 作为客户端)并大量使用提交对话框中的修复移动命令。这允许我重命名 VS 中的文件并在我准备提交以保留版本历史记录时解决重命名问题。

至于像您一样使用 VS 集成,我发现所有 VS 集成都很笨拙,因此不使用它。

于 2010-04-07T13:52:49.243 回答
2

mercurial 通常更喜欢通过重命名,但是它也可以通过使用(或者小于 100,如果你想将重命名与更改匹配)hg rename检测来自外部源的重命名,因此很明显你可以让 VS 进行重命名并让 mercurial 赶上hg addremove -s 100添加删除。

于 2010-04-07T13:34:01.610 回答
1

我们使用 SVN(确切地说是 TortoiseSVN),我总是为重命名问题而烦恼。我发现的最简单的解决方案是从项目中删除文件,通过 TSVN 重命名它们并将它们添加回项目。您必须手动更新重命名的头文件的包含,但使用 find&replace 相对容易。

于 2010-04-07T13:13:29.927 回答
1

我们使用 Team Foundation Server,它可以正常工作。我还发现,转向使用完全集成的客户端改进了我的工作流程,因为我不需要为了完成琐碎的任务而在应用程序之间切换。

于 2010-04-07T13:15:40.737 回答
1

我们开发“Plastic SCM”,Visual Studio 包支持移动操作。但我明白你的意思,我越来越接受没有插件/包的想法,然后让版本控制在幕后工作,并简单地检测发生了什么而不必“插入”到 IDE 中。事实上,我们正在为下一个版本开发它......

于 2010-12-24T16:26:27.450 回答
0

除了上述建议之外,对于 Visual Studio 2008,我发现在对从 VS 中重命名的任何文件进行所有全局更改后,包括右键单击文件并重命名它,以及对所有字符串进行全局搜索和替换,替换旧的文件名用新的文件名,你必须,如果该文件是初始启动文件,右键选择它为“设置为默认页面”。否则你很可能会得到“找不到资源”。运行时出错。

于 2010-12-21T18:12:16.697 回答