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

Elo*_*off 26 c# resharper intellisense visual-studio

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

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

#if X86
using size_t = System.Int32;
#else
using size_t = System.Int64;
#endif
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

小智 24

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

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

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

干杯!

  • 我使用VS 2017,似乎复选框已移动或删除.我有点想为此打一拳......但是,Malagur的回答对我有用,我仍然可以用Tab自动完成 (3认同)
  • 谢谢你。在 VS 2015 中适用于我。只需执行 resharper 选项。快把我逼疯了。 (2认同)

Mal*_*aur 17

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

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


Rag*_*hav 6

默认情况下要关闭IntelliSense选项

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

选择文本编辑器文件夹。

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

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

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

参数信息适用于参数信息