【问题标题】:Is there a way to get Visual Studio 2008 to stop formatting my AutoProperties?有没有办法让 Visual Studio 2008 停止格式化我的 AutoProperties?
【发布时间】:2009-02-12 07:26:40
【问题描述】:

在 Visual Studio 2008 的选项 > 文本编辑器 > C# > 格式化中,我勾选了以下设置。

  • 自动格式化完成的语句;

  • 在 }

  • 上自动格式化完成的块

这在我编写方法或 for/foreach/while/if 语句时非常有用。

如果我写的话

void MyMethod(){}

我希望在我输入最后一个 } 时将其重新格式化为以下内容 }

void MyMethod()
{
}

但是,当我写的时候:

bool MyProperty { get; set; }

我希望它保持这种状态,而不是变成:

bool MyProperty 
{ 
    get; 
    set; 
}

无论如何,我能做到这一点还是我在做梦?我能想到的唯一方法是关闭这两个设置……但这只会导致烦恼转移到我编写方法和 if 语句等时。

更新: 只是想我会提到我使用 Resharper ......所以如果有办法通过那里完成它,我也会有兴趣知道这一点。

【问题讨论】:

    标签: visual-studio-2008 code-formatting automatic-properties


    【解决方案1】:

    您确定这是 VS2008 中的问题吗?因为我的汽车属性保持不变......

    给定...

    bool MyProperty { get; set; }
    

    它保持...

    bool MyProperty { get; set; }
    

    即使在我应用格式选择命令之后。

    注意:我选择了与您相同的 VS 格式选项。虽然我使用的是 VS2008 SP1。

    【讨论】:

    • 我也在使用 VS2008...但我也在使用 Resharper,这似乎是问题的一部分。
    【解决方案2】:

    太棒了!我设法弄清楚了。感谢Anton,我仔细查看了 Resharper 中可用的设置,并找到了答案。

    我的解决方案涉及 Resharper 和 VS2008 中的设置组合。

    在 VS2008 中,我关闭 Automatically format completed statement on ;

    然后我在 Resharper 中打开 IntelliSense Completion Behavior 的设置以在完成后自动插入括号。

    这让我可以输入:

    bool MyProperty {
    

    获得:

    bool MyProperty {}
    

    然后允许我添加 get;并设置;没有格式化的行...

    【讨论】:

      【解决方案3】:

      ReSharper 可能有这样的功能,虽然我不确定。

      【讨论】:

      • 我也使用 Resharper ......所以即使是这样做的建议也会有所帮助
      • 在 VS 中,ReSharper 菜单项 - 选项 - 最左侧树形视图中的 C# 格式化样式,看看那里有什么。
      猜你喜欢
      • 2011-04-13
      • 2023-02-03
      • 1970-01-01
      • 1970-01-01
      • 2011-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多