消除C#代码中过多的空白区域和新行

时间:2016-06-02 14:21:02

标签: c# visual-studio-2015

我正在使用Visual Studio 2015.在我之前的开发人员必须使用工具在他的代码中引入大量的空白区域。当语句确实应该在一行上时,语句也分布在许多行中。

以下是一个示例:

var requestCustomer = new GetCustomersByIdentifierRequest
{
    Metadata =
                                  new CustomerSearchRetrieveReference
                                  .RequestMetadata
                                  {
                                      SecurityAction
                                              = "Get",
                                      UserId =
                                              "WebService"
                                  },
    Params =
                                  new GetCustomersByIdentifierParams
                                  {
                                      EffectiveAsOf
                                              =
                                              DateTime
                                              .Today,
                                      Identifiers
                                              =
                                              resultSearch
                                              .Select
                                              (
                                                  x
                                                  =>
                                                  x
                                                      .CustomerUd)
                                              .ToList
                                              (
                                                  )
                                  }
};

这真的太过分了。是否有一些命令或工具可用于自动格式化或重新格式化此代码,并至少将表达式和基本赋值转换为单行?即使它让我更接近,这将是一个很大的帮助。手动完成它非常繁琐。

我尝试过使用Ctrl + K,F但它根本不会改变代码。

请简单,最好是内置的。我不想在这上面浪费太多时间。

2 个答案:

答案 0 :(得分:3)

我使用'格式文档'。
菜单:编辑>高级>格式文件
快捷方式: Ctrl + E + Ctrl + D

它使用Tools>中的格式配置。选项>文本编辑器> C#>格式化

答案 1 :(得分:1)

Ctrl + K + Ctrl + D 仅限于格式化纯空格,并且不会删除文档中不必要的行。例如:

SomeMethod(     );

格式化为SomeMethod();

然而:

SomeMethod(


);

将保持不变。

据我所知,Visual Studio 2010,2013或2015中没有内置任何功能。我确实找到了online tool,它非常接近你实现的目标。

您的代码示例:

var requestCustomer = new GetCustomersByIdentifierRequest
{
Metadata =
                              new CustomerSearchRetrieveReference
                              .RequestMetadata
                              {
                                  SecurityAction
                                          = "Get",
                                  UserId =
                                          "WebService"
                              },
Params =
                              new GetCustomersByIdentifierParams
                              {
                                  EffectiveAsOf
                                          =
                                          DateTime
                                          .Today,
                                  Identifiers
                                          =
                                          resultSearch
                                          .Select
                                          (
                                              x
                                              =>
                                              x
                                                  .CustomerUd)
                                          .ToList
                                          (
                                              )
                              }
};

格式化为此结果:

var requestCustomer = new GetCustomersByIdentifierRequest {
 Metadata =
  new CustomerSearchRetrieveReference
  .RequestMetadata {
   SecurityAction
    = "Get",
    UserId =
    "WebService"
  },
  Params =
  new GetCustomersByIdentifierParams {
   EffectiveAsOf
    =
    DateTime
    .Today,
    Identifiers =
    resultSearch
    .Select(
     x =>
     x
     .CustomerUd)
    .ToList()
  }
};

它并不完美,但它确实使代码更加清晰,并且在您想要手动操作的地方使用它并不会非常费时。它可以启用 Ctrl + K + Ctrl + D 来处理一些加载。