我正在使用VS 2010与resharper。如果我有一个名为ConfigParserTests的类,然后写
new ConfigParser(
代码将自动完成
new ConfigParserTests()
这不是我想要的。知道如何禁用这个令人讨厌的功能。
[编辑]
想要的是写出来
new ConfigParser()
没有按“Esc”。在这种情况下,我使用的是TDD,因此ConfigParser不存在。
[/编辑]
我一直在resharper和VS intellisense菜单中四处寻找,却没有找到任何帮助。
答案 0 :(得分:7)
打开选项窗口,导航至智能感知> Autopopup 的。您将看到自动完成选项与多个案例相对应,并根据语言进行分类:
如您所见,您可以选择每个案例:
不显示。
显示但不要预先选择。(看起来适合你的情况)
显示和预选。(默认)
可以在不同的情况或语言中选择不同的选项。例如,您可以在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为我做这一切