Resharper(或Visual Studio)自动完成

时间:2011-01-31 07:30:00

标签: visual-studio-2010 resharper intellisense

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

new ConfigParser(

代码将自动完成

new ConfigParserTests()

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

[编辑]

想要的是写出来

new ConfigParser()

没有按“Esc”。在这种情况下,我使用的是TDD,因此ConfigParser不存在。

[/编辑]

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

7 个答案:

答案 0 :(得分:7)

打开选项窗口,导航至智能感知> Autopopup 的。您将看到自动完成选项与多个案例相对应,并根据语言进行分类:

Changing Resharper auto-complete behaviour


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

  • 不显示。

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

  • 显示和预选。(默认)


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

  • 点后

  • '新'之后

  • 在文档评论中

  • 字母和数字

  • 预期价值的地方

HTH

答案 1 :(得分:5)

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

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

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

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

如果你的问题是它增加了一个密切的paren,请注意,如果你输入) ReSharper将不会添加第二个右括号 - 它会识别出你正在键入已经添加的paren,所以它只会将光标移动到右边。如果由于某种原因您仍然不希望它为您完成开放式工作,@jdv-Jan de Vaan's answer会说明更改此首选项的位置。

答案 2 :(得分:5)

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

差异描述为here

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

答案 3 :(得分:3)

选择Resharper \ Options。从左侧列表中选择Enirionment \ Intellisence \ Completion behavior。

然后停用“自动完成单个项目:”

下的复选框

答案 4 :(得分:0)

如果您使用的是resharper 6.0,我会升级到6.1,因为6.0中引入了很多这类预选错误,并在6.1中修复了。

答案 5 :(得分:0)

CTRL + ALT +空格键

要向Zain提供道具,向我们展示如何在使用TDD时解决这些问题

http://blogs.msdn.com/b/zainnab/archive/2010/01/22/intellisense-suggestion-mode-vstipedit0012.aspx

答案 6 :(得分:0)

选择Resharper \ Options \ Environment \ Intellisence \ Completion Behavior 然后更改“完成后自动插入括号:”可以同时禁用所有真正的老人声音我想要输入我自己的(),仅打开,或年轻的髋关节编码器Dude 我喜欢resharper为我做这一切