Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ReSharper代码清理/重新格式化代码功能与版本控制系统_C#_Version Control_Resharper - Fatal编程技术网

C# ReSharper代码清理/重新格式化代码功能与版本控制系统

C# ReSharper代码清理/重新格式化代码功能与版本控制系统,c#,version-control,resharper,C#,Version Control,Resharper,ReSharper代码清理功能(启用了“”和“”)非常棒。使用XML定义布局模板,然后根据模板中设置的规则,使用简单的组合键重新组织整个源文件(或文件夹/项目/解决方案) 不管怎样,你认为这对像subversion、cvs、git等风投来说可能是个问题吗?是否有可能导致许多不希望发生的冲突 谢谢。它肯定会导致冲突,因此如果有人同时处理整个文件,我会确保您不会重新格式化它们。是的,它肯定会导致问题。除了创建必须手动解决的冲突外,当您签入已重新格式化的文件时,VCS几乎会将每一行都记录为已更改。这将

ReSharper代码清理功能(启用了“”和“”)非常棒。使用XML定义布局模板,然后根据模板中设置的规则,使用简单的组合键重新组织整个源文件(或文件夹/项目/解决方案)

不管怎样,你认为这对像subversion、cvs、git等风投来说可能是个问题吗?是否有可能导致许多不希望发生的冲突


谢谢。

它肯定会导致冲突,因此如果有人同时处理整个文件,我会确保您不会重新格式化它们。

是的,它肯定会导致问题。除了创建必须手动解决的冲突外,当您签入已重新格式化的文件时,VCS几乎会将每一行都记录为已更改。这将使你或队友很难回顾历史,看看什么时候发生了变化


也就是说,如果每个人都以相同的方式自动格式化他们的代码(即,将XML模板分发给团队),那么它可能会工作得很好。只有当不是每个人都在做同样的事情时,问题才会出现。

这肯定会引起冲突

如果您希望在多用户环境中使用此功能,则Resharper的配置需要将您的代码格式化为在您的组织中强制执行的一组标准,而不管用户是否使用Resharper


这样,您就可以使用该工具来确保您自己的代码符合标准,而不是将您的首选项应用于整个代码库。

我同意前面的回答,即冲突是可能的,甚至是可能的


如果您计划重新格式化代码,那么至少要确保不要将重新格式化签入与更改实际代码功能的签入混合使用。这样人们就可以跳过过去简单的重新格式化的签入。确保每个人都知道即将进行的重新格式化也是一个好主意,这样,如果他们在该领域有正在进行的工作,他们就可以提出异议。

我正在等待一个IDE或编辑器,它总是使用一些基线格式规则来保存源代码,但允许每个开发人员以自己喜欢的格式显示和编辑代码。这样我就可以把我的大括号放在下一行的开头,而不是现在这行的结尾,你们这些异教徒似乎都这么认为

我想我会等很长时间。

你可以用它来强制执行一套全面的标准,这几乎迫使每个人都使用相同的布局样式。然后,您所需要做的就是开发一个与此匹配的ReSharper代码样式规范,并将其分发给团队

我仍在等待JetBrains清理所有不完全支持的琐碎细节,以便让ReSharper基本上保证完全符合StyleCop。

  • 只是重新格式化整个解决方案 一次
  • 并确保每个开发人员 正在使用Resharper
  • 并确保 选项是共享和版本化的 (代码样式共享选项)

我们正在研究在源代码级别使用重构的方法。我们称之为Xmerge,它现在是。这只是第一种方法,因为我们正在开发更高级的解决方案。检查它。

最好编写一个脚本来检查源代码管理历史记录中的每个版本,应用代码清理,然后将其检查到新的存储库中。然后将该存储库用于将来的所有工作。

在这种情况下,我建议分两部分进行操作。在一次扫描中,您清理了代码,在第二次扫描中,您进行了更改。两个不同的提交消息。通过这种方式,很容易撤销您所做的操作,并知道如何更改您的修复。在我看来,在多次提交中提交太多的内容是一种很好的做法。让其他人知道什么和为什么更容易。