Resharper 8,键入属性右大括号添加另一个

Posted

技术标签:

【中文标题】Resharper 8,键入属性右大括号添加另一个【英文标题】:Resharper 8, typing property closing brace adds another 【发布时间】:2014-09-17 22:33:36 【问题描述】:

我很难想出如何用谷歌来表达这个。

上下文: 新安装的 Resharper 8 对比 2013 C#

在我正在输入的界面中

string Name  get; set; 

我已经设置了 Resharper 8 以在我输入 完美的! 但我一直在输入get;放;等等。我想移动到下一行属性。我习惯于键入 ,并且我之前在较旧的 reshaper 上设置了它来吃那个击键,这让我紧跟在已经存在的 那时,我只是简单地按 Enter 和 Off 就走了,但现在发生了这种情况:

string Name  get; set; 

我在这个 reshaper 中是否缺少允许这样做的设置?

【问题讨论】:

有人添加了评论,我编辑了帖子,评论现在消失了,对不起好人!但是他们提到了缺少空格,我在上面已经更正了。 Resharper 确实为我把空间放在那里。我再次尝试输入 set;然后有一个空格,但会发生我不想要的额外空格,但仍然得到额外的。我已经更改了一些开箱即用的 resharper 设置,但大多只是格式化。 这太令人沮丧了,因为我一开始就喜欢默认的 VS13pro 行为,也许有办法只选择重新锐化“功能”? 【参考方案1】:

我找到了解决此问题的方法,但是它可能会产生一些烦人的副作用(您可以习惯,但我还没有发现真正烦人的东西),因为它有点变通方法。

打开 ReSharper 选项页面,然后在 Environment 部分中选择 Editor -> Editor Behavior

在底部,您应该选中复选框“自动插入右大括号”并启用单选按钮“输入左大括号”。将该选择更改为“在左大括号后输入时”。

您的右大括号将出现在get; 之后,现在键入右大括号的行为正常。

对于副作用,例如,如果您创建一个类,则必须按 Enter 键才能显示右大括号(无论如何您都会按此键)。它仍然有点烦人,但不是主要的。

之前:

之后:


另一种方法是删除属性中的空格(例如public String Name get;set;)。为此,您可以进入 R# 选项,在 Code EditingC# -> Formatting Style -> Spaces 下并取消勾选“在单行访问器内”。

【讨论】:

我认为使用“无空间”解决方案最适合我。在这种情况下,我不介意它,但我知道我之前已经让它工作过。我将把它标记为“已解决”,因为它是,但如果有什么办法知道如何做到这一点,但要使用空格,请告诉我。【参考方案2】:

由于您使用的是 Visual Studio 2013,这可能是由于 2013 年的一项新功能还提供了自动大括号完成功能,这与 ReSharper 的功能相冲突。幸运的是,它很容易关闭,转到 Tools - Options,然后 Text Editor - C#,然后取消选中该选项:

【讨论】:

重新打开空格并将其关闭并不能解决问题

以上是关于Resharper 8,键入属性右大括号添加另一个的主要内容,如果未能解决你的问题,请参考以下文章

Resharper:循环后自动插入大括号

编程规范

java开发手册-编程规约-代码格式

vs2010怎么让打右大括号的时候代码自动对齐

阿里巴巴Java 开发手册编程规约之代码格式

按文件类型过滤 ReSharper 的“查找用法”