代码之家  ›  专栏  ›  技术社区  ›  skolima

C#有自动代码格式化程序吗?[关闭]

  •  65
  • skolima  · 技术社区  · 17 年前

    在我的工作中,我现在主要处理C#代码,偶尔也会接触一些java。我非常喜欢Eclipse(我知道每天使用它的人更喜欢它)的一点是它是一个复杂的代码格式化器,能够将代码转化为人们想象中的任何编码标准。C#有这样的工具吗?Visual Studio代码格式(Crtl+K、Crtl+D)不完善,StyleCop只检查源代码而不修复它。

    我梦想中的工具可以从控制台运行(便于包含在自动构建或预提交钩子中,并在Linux+Mono上执行),具有易于存储在项目存储库中的基于文本文件的配置和带预览的图形规则编辑器——就像Eclipse代码格式化程序一样。

    14 回复  |  直到 17 年前
        1
  •  44
  •   Jesse Good    10 年前

    对于Visual Studio,请查看 ReSharper 。这是一个很棒的工具,绝对是必备品。4.0之后的版本具有您正在寻找的代码格式化和清理功能。还有 plugin integration with StyleCop ,包括格式化设置文件。

    你可能会想要 Agent Smith plugin 以及用于拼写检查标识符和注释。ReSharper支持按解决方案格式化设置文件,这些文件可以签入版本控制系统并由整个团队共享。代码清理的快捷键是 Ctrl键 + E , C .

    在“vanilla”Visual Studio中,当前文件可以自动格式化为 Ctrl键 + K , Ctrl键 + D ,以及 Ctrl键 + K , Ctrl键 + F 格式化所选文本。

    对于与commit挂钩一起使用的runs everywhere命令行工具,请尝试 NArrange 。它是免费的,可以一次处理整个目录,可以在Mono和Microsoft上运行。网。

    有些人还使用 Artistic Style 命令行工具,尽管它需要Perl,并且与C/C++代码一起工作比与C#更好。

        2
  •  15
  •   Valery Viktorovsky    10 年前

    这个 .NET Foundation 刚刚在GitHub上发布了他们的代码格式化工具

    https://github.com/dotnet/codeformatter

    它使用 Roslyn 编译器服务,用于解析项目文档并将其转换为预期的格式约定。他们正在将此应用于一些非常古老的 CLR 代码,以使所有项目保持一致。

        3
  •  12
  •   Paul Turner    11 年前

    除了@Chris Karcher的回答之外,您还可以自动格式化 整个文档 通过击打 Ctrl键 + K , Ctrl键 + D .

    这些格式化功能适用于各种文件格式——它在丑陋的HTML上效果惊人。

        4
  •  6
  •   Marc Gravell    17 年前

    另一种选择: NArrange ;

    • 自由的
    • 基于控制台(非常适合提交钩子等,但仍然可以在VS中用作“外部工具”)
    • 灵活配置文件
        5
  •  5
  •   Hulk1991 moinudin    12 年前

    为了我, Ctrl键 + 转移 + F 映射到“在文件中查找”。当我需要格式化代码时,我会突出显示它并点击 Ctrl键 + K , Ctrl键 + F .

    我明白这并没有真正解决自动格式化问题。我只是想向那些可能不知道Visual Studio中存在此功能的人澄清一下。

        6
  •  3
  •   Zack Peterson    17 年前

    我只听说过一些好消息 ReSharper 这在我的学习清单上。

        7
  •  2
  •   JamesSugrue    17 年前

    http://www.sourceformat.com/

    这个工具大约(约30美元)。我试过了,效果很好(支持多种语言)。

    我最喜欢这个工具,因为它不检查代码文件的正确性。我可以从互联网上发布代码片段,无论它们是否在代码的缺失部分,它都会正确翻译。我尝试的其他工具在这种情况下会抱怨。该工具还可以很容易地集成到编辑器中,因为它允许命令行驱动。

    其他工具:

    http://www.polystyle.com/index.jsp

    http://astyle.sourceforge.net/ (开源)

        8
  •  2
  •   SQLMenace    17 年前

    不是直接,但我使用 Agent Smith R#插件可以做到这一点。遗憾的是,R#并非免费。

        9
  •  2
  •   majkinetor    17 年前
        10
  •  1
  •   Jan    17 年前

    请参阅上一个问题:

    Is there any tool for reformatting C# code?

    搜索[c#]astyle也会显示一些以前的问题。

        11
  •  1
  •   Community Mohan Dere    9 年前

    我还没有尝试过(通过谷歌找到的)。它可能会奏效。 http://www.semdesigns.com/Products/Formatters/CSharpFormatter.html 。50美元相当便宜,但没有试用。

        12
  •  1
  •   Vikram    13 年前

    也许你会感兴趣 this free Addin 适用于Visual Studio 2010/2012。

        13
  •  1
  •   NinjaCross    12 年前

    这是一个具有惊人功能的开源代码格式化工具

    CodeMaid

        14
  •  0
  •   Alexandre Nascimento    9 年前

    如果你想在网上做,有一个 freecodeformat .