【问题标题】:Nuget-Package or other way to format C# fileNuget-Package 或其他格式化 C# 文件的方式
【发布时间】:2018-04-19 21:51:06
【问题描述】:

问题

在过去的几周里,我正在创建一个可以生成 C# 类文件(.cs 文件扩展名)的应用程序。我正在尝试寻找 Nuget-Package 或其他方式来格式化此文档以使其可读,但我似乎无法找到任何解决方案,这里也没有问题。

我知道有is a way 来格式化文档,但这对我的项目来说工作量太大。

问题

你们中的任何人有同样的“问题”吗?有没有办法正确格式化文档?

一些额外的解释

我希望我的文档(某种)格式如何:

GINLoop1 = new List < GINLoop1 > () {
    new GINLoop1 {
        GIN = new GIN {
            Objectidentificationcodequalifier_01 = "test1",
            IDENTITYNUMBERRANGE_02 = new C208_2 {
                Objectidentifier_01 = "test",
                Objectidentifier_02 = null,
            },
            IDENTITYNUMBERRANGE_03 = null,
            IDENTITYNUMBERRANGE_04 = null,
            IDENTITYNUMBERRANGE_05 = null,
            IDENTITYNUMBERRANGE_06 = null,
        },
    },
},

我的文档现在是如何格式化的:

GINLoop1 = new List < GINLoop1 > () {
new GINLoop1 {
GIN = new GIN {
Objectidentificationcodequalifier_01 = "test1",
IDENTITYNUMBERRANGE_02 = new C208_2 {
Objectidentifier_01 = "test",
Objectidentifier_02 = null,
},
IDENTITYNUMBERRANGE_03 = null,
IDENTITYNUMBERRANGE_04 = null,
IDENTITYNUMBERRANGE_05 = null,
IDENTITYNUMBERRANGE_06 = null,
},
},
},

【问题讨论】:

  • 有什么理由不能在编写时格式化?例如,here's how I do this in protogen - 注意 Indent()Outdent() 方法;我在 codegen 和自动应用当前缩进的底层编写器之间有一个包装器
  • 你是如何生成文件的?你看过CodeDOM吗?
  • @CodeDom 我正在使用StreamWriter,不,我没有看过 CodeDOM。我会看的。
  • @MarcGravell 我没有找到简单的方法,但我会看看你的例子。谢谢!

标签: c# nuget nuget-package


【解决方案1】:

JetBrains 有(免费)命令行工具,可作为 NuGet 包使用,您可以在 https://www.nuget.org/packages/JetBrains.ReSharper.CommandLineTools 找到它们。

它的文档记录不是很详尽,但我确信有某种方法可以在其中格式化 .cs 文件。他们的 ReSharper 插件和 Rider IDE 中提供了代码清理功能,我相信它们都以一种或另一种方式使用这个库。

【讨论】:

    【解决方案2】:

    它已经很老了,但 NArrange 曾经以你想要的方式工作。但是,我已经好几年没有使用它了。在 nuget.org 上查看:

    https://www.nuget.org/packages/NArrange/

    【讨论】:

    • 值得一试,不是吗?
    猜你喜欢
    • 2018-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-04
    • 2020-12-03
    • 2016-05-15
    相关资源
    最近更新 更多