使用重构工具Move To Another File
或Move Types Into Matching Files
时,Reharper在名称空间后使用错误的换行符样式。如果我使用这些工具重构了一个类,则尽管我的Braces Layout
配置了在下一行(BSD样式)
namespace My.Namespace { // <- This brace should be on the next line
public class MyClass
{
public MyClass()
{
// ...
}
}
}
此后,当我执行代码清除时,代码将正确格式化:
namespace My.Namespace
{
public class MyClass
{
public MyClass()
{
// ...
}
}
}
有人知道什么可能导致这种行为吗?为什么首先在命名空间前没有换行符?
我正在使用ReSharper 2018.3.1
答案 0 :(得分:1)
在括号上有设置
ReSharper > Options > Code Editing > C# > Formatting Style > Braces Layout
您可以检查为{em> Type and namespace declaration
At Next Line (BSD Style)
设置吗
我正在使用ReSharper 2018.2.3,并且一切正常。
我将ReSharper更新为18.3.1,但一切正常。您还可以检查Tools > Options > Text Editor > C# > Code Style > Formatting > New Lines > New line options for braces
上的花括号的VS默认选项吗?
恐怕ReSharper无法覆盖所有Visual Stuido行为。为了避免这种情况,只需关闭所有“
Tools > Options > Text Editor > C# > Formatting > General
上的“格式...”选项,以免干扰。
答案 1 :(得分:0)
这解决了我的问题:
ReSharper > Options > Code Editing > c# > Formatting Style > Braces Layout
设置Empty braces formatting
在Together on the same line
上。因此,我将其更改为On different lines
。更改之后,它起作用了。