反正是否禁用Visual Studio自动完成对象关键字

时间:2009-06-20 18:45:31

标签: visual-studio visual-studio-2008 autocomplete intellisense

简短版本 - 有一种方法可以关闭对象关键字的Visual Studio Intellisense。

长版 - 我正在使用Visual Studio 2008,我基本上使用的是匿名类型。我开始输入类似的内容:

Assert.AreEqual("/SomePath/Stuff", GetOutboundUrl(

我输入new {

然后我看到Visual Studio已经认识到方法GetOutboundUrl接受一个对象并将代码更改为new object{。现在一定是好的,除了两个原因:

1)我很少有使用类型对象的代码。

2)我实际上是在尝试创建一个匿名类型而不是一个对象,所以这个功能实际上是一个障碍。

GetOutboundUrl的签名如下(如果有人有兴趣,请参阅Pro ASP.NET MVC框架书):

private string GetOutboundUrl(object routeValues)

我想知道是否有办法关闭此功能,但仅限于关键字对象 - 我想看看我是否真的错过了对象的自动完成功能(我个人认为不会这样)。

我意识到我可以通过取消选中“在完成列表中放置关键字”来关闭所有关键字,但我只想将其关闭为对象。

4 个答案:

答案 0 :(得分:2)

在不更改实际Visual Studio设置(我怀疑存在)的情况下,您可以键入“new”,然后键入ESC,然后键入“{”。它并不理想,但它使您不必每次都删除“对象”一词。

您可以通过编辑选项来解决这种特殊情况:“文字编辑器” - > “C#” - > “IntelliSense”=> “通过键入以下字符来承诺:”。删除“{”。

答案 1 :(得分:2)

我制作了一个ReSharper Live模板:

Shortcut: new

Contents: 
new { $END$ }

现在我可以输入n-e-w-TAB,最后输入“new {}”,我的光标在curlies之间。

这不是理想的,但它会更好。

答案 2 :(得分:1)

当intellisense变得讨厌时我做的是注释掉一些空行,在这些行上写下我的代码作为注释,然后在我通过时取消注释。瞧,你可以写任何你想要的东西而且智能感知不会在其中。其他时候,当你想要智能感知时,它不会被禁用。我希望这可以帮助那里的人!

答案 3 :(得分:1)

默认情况下关闭IntelliSense选项

在“工具”菜单上,单击“选项”。

选择文本编辑器文件夹。

选择要自定义IntelliSense的语言的文件夹。

在“常规”属性页中,清除您不需要的IntelliSense功能的复选框:

Auto list members applies to List Members

 Parameter information applies to Parameter Info