C#自动属性片段将get和set放在新行上

3

在Visual Studio 2015中,当我输入prop并按下Tab键时,会调用自动属性代码片段,并得到以下内容:

public property int MyProperty
{ get; set; }

但我想要的是这个:
public property MyProperty { get; set; }

如何使代码片段在一行上放置?

我已经检查了XML文件:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC#\Snippets\1033\Visual C#\prop.snippet

但是在我的看来,它看起来没问题:

<Declarations>
    <Literal>
        <ID>type</ID>
        <ToolTip>Property type</ToolTip>
        <Default>int</Default>
    </Literal>
    <Literal>
        <ID>property</ID>
        <ToolTip>Property name</ToolTip>
        <Default>MyProperty</Default>
    </Literal>
</Declarations>
<Code Language="csharp"><![CDATA[public $type$ $property$ { get; set; }$end$]]>
</Code>

我没有安装ReSharper。


奇怪。我无法在我的机器上重现(VS2015企业版)。有可能是其他扩展正在干扰代码吗?您尝试过禁用所有扩展吗? - C. Augusto Proiete
我的猜测是另一个扩展,总是将 { 放在新行上。 - DavidG
1个回答

5
在“选项 > 文本编辑器 > C# > 格式设置 > 换行”中,我将其设置为:

enter image description here

通过同时勾选这两个选项,我可以得到想要的结果。这有点不直观,因为这两个选项都会影响到两个结果(而不是顶部选项只影响顶部结果,底部选项只影响底部结果),因此,即使我不想这样做,现在也必须允许这种情况:

int i = 0; string name = "John"; 

啊好吧,问题(有点)解决了。


我的建议是将格式重置为默认设置,不要偏离。这已经足够好了,实际上非常好。 - usr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接