如何使用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完成:
- VS>工具>选项>文本编辑器> C#> IntelliSense>“通过按空格键提交”复选框
- 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的复选框:
自动列表成员适用于列表成员
参数信息适用于参数信息
您可以使用转义键取消当前的智能感知建议。