【问题标题】:Is there a command-line tool that copies visual studio's C++ auto-ident style?是否有复制 Visual Studio C++ 自动缩进样式的命令行工具?
【发布时间】:2013-01-10 02:02:31
【问题描述】:

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

所以我需要一个可以复制 Visual Studio 使用的相同缩进规则的 unix 工具或脚本。然后我可以从 subveriion 预提交钩子中调用它,如果该工具完全更改了提交的文件,则阻止提交。

我试过查看astylebcppindent,但我无法让它们中的任何一个产生与Visual Studio 相同的输出。 astyle 给出了最接近的结果,但坚持缩进行延续不止一个缩进。

针对 cme​​ts 进行编辑:我们的开发人员定期设置新计算机,偶尔(一年几次)忘记正确设置每个开发人员的 VS 缩进选项。直到提交之后很久才发现这一点,此时需要修复大量代码。我们已经检查了发现大部分错误的选项卡。开发人员要求我寻找更好的解决方案来帮助他们避免错误。

【问题讨论】:

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

标签: c++ visual-studio-2010 indentation


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    相关资源
    最近更新 更多