Resharper(或Visual Studio)自动完成

Bja*_*rtN 9 resharper intellisense visual-studio-2010

我正在使用VS 2010与resharper.如果我有一个名为ConfigParserTests的类然后写

new ConfigParser(

代码将自动完成

new ConfigParserTests()

这不是我想要的.知道如何禁用这个令人讨厌的功能.

[编辑]

想要的是写出来

new ConfigParser()

没有按"Esc".在这种情况下,我使用TDD,因此ConfigParser不存在.

[/编辑]

我一直在resharper和VS intellisense菜单中四处寻找,却没有找到任何帮助.

mmd*_*bas 7

打开选项窗口,导航到Intellisense> Autopopup.您将看到自动完成选项对应于几种情况并根据语言进行分类:

更改Resharper自动完成行为


如您所见,您可以为每个案例选择:

  • 不要显示.

  • 显示但不预先选择.(看起来适合你的情况)

  • 显示和预选.(默认)


可以在不同的情况或语言中选择不同的选项.例如,您可以在C#中指定不同的行为:

  • 点后

  • '新'之后

  • 在doc评论中

  • 信和数字

  • 价值在哪里

HTH


Joe*_*ite 5

目前尚不清楚你是在抱怨它填写的是哪个类名,还是括号.我会解决这两个问题.

如果您尝试使用的类在另一个命名空间中,并且您还没有添加相应的类using,那么代码完成正在执行您所期望的 - 您告诉它使用哪些命名空间,而您没有告诉它使用其中的一个ConfigParser; 所以它使用最接近的匹配,如预期的那样.

但ReSharper有一些快捷方式可以通过查找课程并using为您添加课程来节省您的工作.对于这种情况,我建议您查看ReSharper中的不同Ctrl + Space选项.你可以写new cp<Ctrl + Alt + Space>,ReSharper会给你一个弹出菜单,询问你的意思ConfigParser或是ConfigParserTests.当您按Enter键选择所需的那个时,它会将必要的内容添加using到文件的顶部,并new ConfigParser()在括号之间添加光标.

(如果ConfigParser该类尚不存在,那么这就是您不希望代码完成的情况之一.只需键入new ConfigParser然后在键入打开的paren之前点击Esc.)

如果你的问题是它增加了一个紧密的paren,请注意,如果你键入)ReSharper将不会添加第二个右括号 - 它会识别你正在键入它已经添加的paren,所以它只会将光标移动到正确的.如果由于某种原因你仍然不希望它为你完成开放的paren,@ jdv-Jan de Vaan的答案解释了在哪里改变这个偏好.


adr*_*anm 5

在进行TDD时,您应该将VS intellisense置于建议模式而不是正常完成模式.

这里描述不同之处

不幸的是,Resharper接管了智能感知,因此您无法在不停用resharper的情况下更改模式.


小智 3

选择 Resharper \ 选项。从左侧列表中,选择环境 \ 智能 \ 完成行为。

然后禁用“自动完成单个项目:”下的复选框