如何使用Visual Studio + ReSharper禁用不需要的自动完成?

我正在使用Visual Studio 2010和ReSharper 5。

我在.cs文件的顶部定义它。

#if X86 using size_t = System.Int32; #else using size_t = System.Int64; #endif 

然后我可以使用size_t并知道它是一个本机整数,如果编译为32位汇编则为32位,如果编译为64位汇编则为64位。 (对于那些好奇的人来说,替代方案总是使用Int64,或者在运行时在IntPtr.Size == 4上进行分支,并且有两个版本的代码。我更喜欢这个解决方案。)

但是,如果我键入size_t并命中空格,它将自动转换为Int64(如果定义了X86,则为Int32)。 显然这是不可取的。

我进入ReSharper选项并转到Environment \ Intellisence \ Completion行为并禁用“自动完成单个项目:”下的所有复选框。

它仍然会发生,还有什么我可以尝试的吗?

我遇到了类似的问题(使用VS2013和Resharper 8.2)。

要在每次“空格”命中时停止不需要的自动完成,我必须在VS和R#选项中的“空格”上禁用IntelliSense完成:

  1. VS>工具>选项>文本编辑器> C#> IntelliSense>“通过按空格键提交”复选框
  2. VS> Resharper>选项>环境> IntelliSense>完成字符> C#“空间完成”复选框

干杯!

一种解决方案是切换到intellisense的建议完成模式。 切换的默认键绑定是Ctrl+Alt+Space 。 在建议模式下,如果您明确选择要更改的值,它将仅更改您键入的内容。 你可以在这里读更多关于它的内容:

http://blogs.msdn.com/b/zainnab/archive/2012/05/01/9943045.aspx

默认情况下关闭IntelliSense选项

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

选择Text Editor文件夹。

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

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

自动列表成员适用于列表成员

参数信息适用于参数信息

您可以使用转义键取消当前的智能感知建议。