ReSharper通过更高级的功能扩展了Visual Studio的原生代码补全(IntelliSense)。 例如,它可以根据您的输入缩小建议列表,理解lowerCamelHumps缩写,根据类型名称和您的命名风格建议变量与字段名称,以及自动导入选定类型与扩展方法,等等。
Ctrl+Space代码补全可以识别变量与方法、当前可见的类型名称,以及关键字,等等。 在声明标识符时,ReSharper 可以根据您的命名风格自动建议前缀。
ReSharper甚至还能为局部范围内的未解析符号提供补全:即使代码符号未声明,ReSharper也能从它的用法获取已知成员。
ReSharper的所有代码补全功能(包括符号补全支持CamelHumps),也就是说,仅输入大写字符即可补全任何项。
在ASP.NET文件中,ReSharper还为Web控件属性与事件、数据源、内容占位符以及内联C#代码提供了代码补全。
对于XAML,您可以获得资源引用协助,而在生成脚本中,ReSharper可以在当前范围内可用的属性、目标、任务和特性名称方面为您提供帮助。
不过,Ctrl+Space的功能不仅局限于此。 它还可以让您快速添加符号重写、部分方法正文与部分类,实现接口成员和生成属性。 在补全此类项时,ReSharper 将生成和插入方法、构造函数、属性等的整个主体。
智能代码补全(通过 Ctrl+Alt+Space 调用)可以筛选方法、字段或变量列表,以便与预期类型的表达式匹配。
例如,当您为方法调用参数使用智能补全时,建议值的列表将缩小为所需的参数类型。 智能补全还可以在为out
参数创建匿名方法、lambda表达式、正则方法和局部变量时提供建议。
智能补全的运作方式类似于XAML事件处理程序和其他上下文中的超级按钮。
Import Symbol Completion 可以通过 Shift+Alt+Space 调用。 与 Symbol Completion(仅补全可以在当前位置获取的类型)不同,此命令可以显示与指定前缀匹配的所有类型,无论它们属于什么命名空间,并能根据需要自动添加适当的命名空间导入指令。
在 C# 代码文件中,Import Symbol Completion 在扩展方法的点后运行,并加入必要的 using 指令。 Import Symbol Completion 在标记名称的 XAML 标记中也非常有用。 还可以根据需要插入命名空间导入指令。
当补全列表为空或者不包含预期项时,您可以随时再次按下快捷键,获取任何补全类型。
ReSharper将使用以下内容扩展补全列表:受保护的私有内部成员、来自非引用程序集的符号、具有预期数据类型返回值的调用链和预期数据类型的转换,等等。 当然,如果您使用任何建议,将自动添加缺失的导入和引用。
ReSharper允许您按照符号种类、访问修饰符和其他筛选器缩小补全建议的范围。 每次调用代码补全时您可以修改应用的筛选器组合,并/或选择保持筛选器的状态。
ReSharper还提供了一套C#输入辅助功能,这些功能可以在您输入代码时纠正细微的输入错误。
例如,如果您偶然间输入MethodName(.)
,此代码将被替换为MethodName().
,这就让您可以继续输入调用链,而不必处理无效语法错误。
同样,ReSharper会在逐字字符串内插中将错误输入的@$
前缀替换为$@
。
本页面提供的所有键盘快捷键都在 ReSharper 的默认“Visual Studio”按键映射中。 有关 ReSharper 两种按键映射的详细信息,请参阅 ReSharper 文档。