11

这让我发疯了,我尝试了 Resharper 支持但没有解决方案,但想知道是否有人经历过这种情况。

当我更新现有方法并点击大括号或分号时,我得到一个双缩进:

public void abc(int a, int b) {
      var c;   // <- after hitting return after the curly brace
   var d;
   var e;
}

有没有办法完全关闭 Resharper 格式?或者至少解决这个问题?我查看了 Resharper->Code Editing->C# 但没有找到任何有效的方法。

PS - 这是在 VS 2010 上

4

1 回答 1

26

ReSharper 和 Visual Studio 都具有自动格式化功能。但在 C# 中,它们通常由按下 ; 触发。或},而不是回车,所以要么你描述你的行为错误,要么你遇到了某种错误。

要关闭 ReSharper 自动格式化,请转到 ReSharper | 选项 -> 环境 | 编辑器并关闭“分号自动格式化”和“右大括号自动格式化”。如果这对您的错误没有帮助,您可能还需要在同一页面上关闭“自动插入右括号”。

要关闭 Visual Studio 自动格式化,请转到工具 | 选项 -> 文本编辑器 | C# | 格式化 | 常规并关闭“自动格式化...”选项。

但即使没有自动格式化格式化仍然会在重构和快速修复中完成,因此您可能需要调整格式化选项(除了关闭自动格式化之外或代替关闭自动格式化)。首先,转到工具 | 选项 -> 文本编辑器 | C# | 标签。确保制表符大小和缩进大小相等(ReSharper 在这里不支持不同的值)并且具有正确的值。还可以在插入空格和保留制表符之间进行选择。然后转到 ReSharper | 选项 -> 代码编辑 | C# | 格式样式 | 大括号布局。从您的代码来看,您更喜欢 K&R 风格。因此,在此页面上的前 6 个选项中选择“K&R 风格”值。这些是最重要的设置,但您可能还想查看其他格式样式设置以更好地调整它们以适应您的样式。

于 2013-05-23T22:06:17.493 回答