Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.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++ 是否有复制visual studio的命令行工具';s C++;自动识别样式?_C++_Visual Studio 2010_Indentation - Fatal编程技术网

C++ 是否有复制visual studio的命令行工具';s C++;自动识别样式?

C++ 是否有复制visual studio的命令行工具';s C++;自动识别样式?,c++,visual-studio-2010,indentation,C++,Visual Studio 2010,Indentation,我想在提交到linux托管的subversion存储库时强制执行样式指南中的缩进规则。 我们的缩进规则是VisualStudio2010“编辑->高级->格式选择”命令所允许的,缩进设置为2个空格。(这是团队谈判的结果——如果我坚持更具侵略性的风格,整个政策将失去团队的支持) 因此,我需要一个unix工具或脚本,它可以复制VisualStudio使用的相同缩进规则。然后,我可以从Subversion预提交钩子调用它,并在工具更改提交的文件时阻止提交 我已经试着看了,并且,我不能让它们中的任何一个

我想在提交到linux托管的subversion存储库时强制执行样式指南中的缩进规则。 我们的缩进规则是VisualStudio2010“编辑->高级->格式选择”命令所允许的,缩进设置为2个空格。(这是团队谈判的结果——如果我坚持更具侵略性的风格,整个政策将失去团队的支持)

因此,我需要一个unix工具或脚本,它可以复制VisualStudio使用的相同缩进规则。然后,我可以从Subversion预提交钩子调用它,并在工具更改提交的文件时阻止提交

我已经试着看了,并且,我不能让它们中的任何一个产生与VisualStudio相同的输出。astyle给出了最接近的结果,但坚持一个缩进行通过多个额外缩进进行延续


根据评论编辑:我们的开发人员定期安装新计算机,偶尔(一年几次)忘记正确设置每个开发人员与缩进选项。直到提交之后很久,才发现这一点,此时需要修正大量代码。我们已经检查了大多数错误的标签。开发人员要求我寻找更好的解决方案,以帮助他们避免错误。

我正在寻找一致的团队设置,刚刚找到。您可以在首选编辑器中安装许多插件,用于读取源代码存储库中提交的设置。

Yikes。听起来有点极权主义。对不起,我帮不上忙,但是你有没有想到简单一点的办法?即扫描文件并检查所有缩进是否为两的倍数,以及每个连续行的缩进级别的变化不会超过一。解决核心问题有不同的方法。最简单的方法是定义格式化规则,并将VS配置设置为遵循该模式。另一方面,信任开发人员,不要在提交挂钩上强制使用样式,而是作为代码审查的一部分。如果文件缩进不正确,请提出问题并让程序员修复它(
svn annotate
可用于查明是谁做了更改)。您还可以使用
astyle
,然后使用一点上下文进行差异,对结果进行后处理,以确定差异是否正好在预期的情况下。最好不要缩进。它节省了更多的空间,并且使代码的可读性低于您使用2个空间所获得的可读性。