6

VisualStudio神级插件——JetBrains Resharper2021.1.5学习版+教程

 3 years ago
source link: https://masuit.com/20
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
VisualStudio神级插件——JetBrains Resharper2021.1.5学习版+教程_懒得勤快的博客_互联网分享精神

如果你是一名.NET开发人员,但是你却不使用ReSharper,那么你就不是一个高效的码农了,因为这是一个强大的神器,你值得拥有!当然,用它的代价是,启动VS会变得非常慢,非常卡,但是需要知道,磨刀不误砍柴工!开发效率绝对提升N倍!!!

ReSharper是一个JetBrains公司出品的著名的代码生成工具,是Visual Studio里面的一个插件。它包括一系列丰富的能大大增加C#和Visual Basic .NET开发者生产力的特征。使用ReSharper,你可以进行深度代码分析,智能代码协助,实时错误代码高亮显示,解决方案范围内代码分析,快速代码更正,一步完成代码格式化和清理,业界领先的自动代码重构,高级的集成单元测试方案,和强大的解决方案内导航和搜索。实质上,ReSharper特征可用于C#,VB.NET,XML,ASP.NET,XAML,和构建脚本。ReSharper还为C#和VB.NET提供了增强的交叉语言功能,它使开发者可以有效的控制.net混合项目。

MSDN VisualStudio Tools视频介绍:

ReSharper是一款由jetbrains开发的针对C#, VB.NET, ASP.NET, XML,和XAML的编辑器。沿袭了jetbrains开发工具一贯的优良传统,ReSharper拥有高度智能的纠错,30多种高级代码重构功能,方便的单元测试工具,快速导航、检索,以及一键格式化代码,自动代码生成和模板功能等很多特性。

更新日志:

ReSharper 2021.1 带来代码分析更新、ASP.NET 路由模板支持、元组组件 Rename 重构等。

合并更多模式

Merge into pattern 检查现在可以处理更多代码模式。 null 检查与其他检查融合成单一的模式检查:

将 conditional?.Access 表达式的检查改写为嵌套模式匹配:

合并检查,减少 if 语句嵌套:

最后,您可以将模式扩展为完整的形式,从而将其合并到简单的 var (a,b) 析构模式中:

更多 C# 9.0 支持

我们为 C# 9.0 记录添加了更多支持。 Extract interface 和 Extract superclass 重构现在支持 record 声明,File Layout 也支持 XML 文档相关功能。

我们引入一套新的检查和操作。 迁移代码以使用具有位置参数和隐式属性声明的记录时,针对 record 声明中属性的 Redundant explicit property declaration 可以提供帮助。 已添加相应的快速修复 Remove explicit property。

如果您决定将 record 变成 class,To class 操作将处理位置参数和主构造函数。 To record 操作适用于相反的流程。

需要将位置参数和主构造函数重写为普通属性、构造函数和显式 Deconstruct() 方法时,可以使用 To explicit constructor 上下文操作。

为了保持整洁:Redundant 'record' type declaration body 检查和相应的快速修复将用分号代替空的 record 类型声明体。

Find usages 现在可以搜索记录的主构造函数的用法和隐式 Deconstruct() 方法的用法。

内联临时变量

我们引入了一个新检查 Inline temporary variable。 有时,您可能会在程序中以不同的名称反复使用相同的值。 这样的代码可以变得更加透明吗? 当然可以,交给 ReSharper 就够了。

如果临时变量应该初始化为其他值或稍后在代码中突变,它甚至可以帮助您发现错误。

其他新功能

逻辑 not 模式可以帮助您使类型检查更易读。 ReSharper 建议放弃 !() 语法,改用 not 模式。

在可以简化代码的时候,ReSharper 现在将建议使用范围运算符代替 Slice 和 Substring。

现在,Namespace does not correspond to file location 检查在具有顶层代码的文件中被禁止。

新增一项检查,用于确认是否可以使用计算所得属性替换自动属性,同时增加一个快速修复来进行替换。

对于 C# 10.0 支持,我们做出了一些初步改善,并让 ReSharper 支持常量字符串插值功能。

ASP.NET Core 路由模板

路由模板在 MVC 应用程序中广泛使用,用于配置 HTTP 请求与应用程序的可执行端点的匹配方式。 在 2021.1 中,我们引入了对路由模板的支持:ReSharper 现在提供结构化导航、检查和快速修复。 来看几个示例。

最基本的检查可以确定路由模板语法错误:误将总括的参数路由放在模板中间,将总括的参数声明为可选,或为可选参数添加默认值,等等。

路由参数产生了许多值得注意的案例。 在控制器和操作中声明具有相同名称的参数会发生什么? ReSharper 将对此发出警告。

另一方面,参数可能会丢失。 在这种情况下,ReSharper 会建议您从控制器的特性或操作中添加。 如果存在类型约束,它将用于推断参数的类型。

约束非常适合代码分析。 ReSharper 会检查所应用的约束本身是否正确,以及参数是否实际满足约束。

ReSharper 还会尝试根据约束分析参数类型是否可以更严格,并可能建议更改参数类型。 如果需要使用其他类型的参数,取消建议即可。

ReSharper 也可以理解自定义约束。 如果在某些情况下无法识别,请使用 JetBrains.Annotations 提供的 [RouteParameterConstraint] 特性为您的约束类添加注解。

标准包的其他功能包括代码补全、结构导航和代码重新排列。

重命名路由参数不再需要手动进行:使用 Rename 重构即可。

以上现在均适用于基于特性的路由。 

元组中的 Rename

命名元组始于 C# 7,但重命名组件至今仍然是手动操作。 是时候改变了 - 您现在可以立即调用重构。

新的导航操作 – Navigate to Windows Explorer。 您可以在 Navigate | Navigate to 菜单中找到它,或者按 Ctrl+Shift+A 输入其名称。 如果要对文件本身进行操作,如复制文件或复制存储库内的路径,或者要通过 Windows Explorer 的 Git 扩展查看文件的 VCS 历史记录,均可使用此功能。

虽然我们为“进程外”模式将 ReSharper 拆解并重组,但我们从未停止尽可能修复特定性能问题。 以下是一些亮点。

我们加快了在大型解决方案内 Razor 文件中的输入速度。

我们加快了在运行 ReSharper 分析器的任何大文件中的输入速度。

我们改进了调试器数据提示的性能和响应速度。

我们优化了 ReSharper 处理共享文档的方式,减少了内存占用。

我们对 JavaScript 和 TypeScript 单元测试进行了性能改进。

格式设置和代码样式

我们添加了一些新设置:

现在,您可以选择是否在目标类型的 new() 括号前和括号内设置空格。

您可以在赋值运算符之前指定换行。

您可以减少缩进标签语句。

对于自定义命名规则,我们更新了应用顺序:更具体的规则现在会优先应用。

最后,我们为 Format Selection 添加了新的操作。 现在,您可以让 ReSharper 仅调整所选代码的缩进,而不执行整个重新格式化进程。

EditorConfig

EditorConfig 在 .NET 社区中越发流行,我们也在不断改进其与 ReSharper 的合作方式。 这是我们所做的更改:

我们改进了 ReSharper 从 EditorConfig 中读取命名规则设置并将用户定义的命名规则写入 EditorConfig 的方式。

如果在 EditorConfig 中重写了命名规则,ReSharper 会在命名设置页面上显示通知。

我们在 EditorConfig 中添加了对 csharp_indent_case_contents_when_block 选项的支持。

我们实现了对 VSTest 适配器的支持 - 这一功能允许您从第三方框架中发现并运行测试。 现在,您不会受到我们开箱支持的框架的限制。 在 ReSharper | Options | Tools | Unit Testing | Test Frameworks | VSTest 中启用该功能。

我们在 Visual Studio 2019 的 Universal Windows Platform 项目中实现了 MSTest 支持。

关于“生成的进程”问题:有时测试运行程序完成了工作,但它启动的进程仍在生效。 在这种情况下,我们为默认操作过程添加了一个设置。 现在,您可以在该怎么做、什么都不做和终止生成的进程之间进行选择。 在被问及进程的问题并决定如何处理时,您的决定会被保存到 ReSharper | Options | Tools | Unit Testing | Test Runner。 如果错误,您可以随时将其删除。

我们在 NUnit 中为 AutoFixture 库实现了一套检查。 ReSharper 现在会检查测试值类型是否正确,验证 [InlineAutoData] 特性中是否有多余的参数,并在测试类或方法上没有 [TestFixture] 或 [Test] 特性时发出警告。

我们将对 QUnit 的支持升级到了 2.14.0 版。

我们添加了用 Copy FQN 功能复制 GitHub 链接的操作。 从主菜单 (ReSharper | Edit) 或使用 Ctrl+Shift+A 调用 Copy Fully-qualified name 时,ReSharper 会进行复制并打开上下文菜单,供您选择非默认格式外的多种格式。 现在,此菜单包括 GitHub 链接。

如果您在 C#、VB.NET 或 JavaScript 的字符串中使用正则表达式(甚至在 Razor 页面中),您可能会选择扩展/收缩选择功能,该功能现在也可以在注入中使用。

我们为元组转换添加了类型转换提示。

新的 Body 约束可用于 File Layout 中的方法。 它允许您为块体方法和表达式体方法指定不同的规则。

支持 C++

ReSharper C++ 2021.1 引入了对多个 C++20 和 C++17 新语言功能的支持:非类型模板参数中的类类型、C++20 类模板参数推导规则以及作为函数类型一部分的 noexcept。 基本代码补全和后缀补全模板中还提供了协同程序的新代码补全项:co_await、co_yield 和 co_return。

C++ 语法样式

我们引入了语法样式设置的集合为语法构造强制执行所选的代码样式。 通过支持的检查、快速修复以及 Apply Syntax Style 和 Cleanup selection 上下文操作,您可以轻松地将新样式应用到代码库并保持新代码的一致性。

dotTrace 和 dotMemory 中新的主屏幕

我们重新设计了 dotTrace 和 dotMemory 的主屏幕, 现在配置和启动新的分析会话、使用快照以及执行其他基本操作变得更加轻松。

和谐详细方法:

1.以用户模式先安装好Resharper;

2.下载完补丁后解压,直接运行破解补丁Patcher.exe等待脚本完成;

3.打开VS,打开ReSharper的注册窗口:ReSharper->Help->License Information...

4.无限全功能试用!

Resharper骨灰级教程

https://masuit.com/21

下载地址:

主程序官网下载链接:https://download.jetbrains.com/resharper/dotUltimate.2021.1.5/JetBrains.dotUltimate.2021.1.5.exe

破解补丁:https://ldqk.lanzoui.com/iLK2Vrrlffa

可凭高校edu邮箱免费申请教育版,有开源项目的也可以申请开发者社区版。

教育版申请教程:https://ldqk.org/1793,开源许可申请教程:https://ldqk.org/1792


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK