1. 首页
  2. 文章列表
  3. VisualStudio神级插件——JetBrains dotUltimate2020.3.3(原Resharper)和谐版+教程

懒得勤快的博客_互联网分享精神

Jetbrains Resharper Ultimate已经更名为dotUltimate啦!但是体积也增大了好几倍呢,快1GB了都!!!

懒得勤快的博客_互联网分享精神

如果你是一名.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 2020.3 与 C# 9 功能兼容、提供内嵌提示的新角度、Avalonia 支持、集成式 Dynamic Program Analysis,以及帮助您进行日常开发的一组小幅更新。

C# 支持

Source Generators 几乎是 C# 编译器中最受关注的功能。 这完全可以理解:如果能直接在编译过程中创建新代码,并立即使用,对许多情况都将有所帮助。

懒得勤快的博客_互联网分享精神

ReSharper 在这方面能做什么? 它可以发挥自身优势,在执行重构时考虑生成的文件,提供代码编辑器功能,并帮助您导航到生成的代码。

懒得勤快的博客_互联网分享精神

部分方法现在允许 out 参数、非 void 返回类型和任何类型的可访问性,这使它们在与 Source Generators 一起使用时更加实用。 Source Generators 可以使用部分方法的定义声明来自定义所生成代码的行为。

懒得勤快的博客_互联网分享精神

另一个特别的新内容是init-only 属性。 这种属性只能在对象的初始化期间设置。 所以,您在使用对象初始值设定项的时候再也不必将属性公开为可变了!

懒得勤快的博客_互联网分享精神

ReSharper 可以察觉 init-only 属性,并在补全您的代码时将其考虑在内,执行生成式补全,分析该属性是否在哪里发生了变化,并在您改变想法时提供快速修复使其可变。

懒得勤快的博客_互联网分享精神

新 record 类型是应用 init 的最佳位置。 这些具有值语义的引用类型不仅可以帮助您实现不变性,还将范围扩展到整个对象。 从选择首选声明样式的快速修复到基本补全,ReSharper 一如既往地紧跟语言演化步伐。

懒得勤快的博客_互联网分享精神

位置记录具有一个编译器生成的 Deconstruct() 方法。 ReSharper 支持此类对象中的所有析构功能。 注意引入变量时的弹出窗口:它会让您在单变量和析构声明之间做出选择。 当一个函数访问记录对象的属性时,也会提供同样的选择。

懒得勤快的博客_互联网分享精神

现在允许局部函数拥有特性(以及参数和类型参数)。 这由 ReSharper 的快速修复提供支持,包括按 ! 或 ? 可将方法分别注解为 [NotNull] 或 [CanBeNull] 的精妙功能。

懒得勤快的博客_互联网分享精神

C# 9 还能够编写顶层程序。 不再纠结程序类:您可以将入口点代码放在 using 指令之后! 对于处理顶层语句也有一些帮助。 对于顶层语句,有两个规则:它们应该在任何类型或命名空间之前,而且项目中只能有一个文件包含顶层代码。 当您重新排列和复制粘贴代码时,这两条规则都很容易被打破。 ReSharper 提供了快速修复,可通过将顶层代码移到顶部或另一个文件来解决这个问题。

懒得勤快的博客_互联网分享精神

鉴于顶层代码也是代码,因此也有对应重构:Extract local variable 和 Extract method 重构。

懒得勤快的博客_互联网分享精神

通过 C# 9 中的目标类型化 new 表达式,在可以从用法上下文中推断出类型时,我们可以省略 new 关键字后面的类型。 ReSharper 为该功能提供了完全支持,包括查找构造函数的用法和配置首选语法风格的功能。 后者允许您在创建的类型明显时使用 new() 语法,而在其他情况下则强制执行显式类型规范。

懒得勤快的博客_互联网分享精神

顺便一提,如果您代码中所有的 new() 都失控了,ReSharper 的新类型名提示将施以援手。

懒得勤快的博客_互联网分享精神

借助返回类型协变,您不必在重写成员中像基类方法一样返回相同的类型。 不再需要经过变通即可返回更具体的类型。

懒得勤快的博客_互联网分享精神

模式匹配在新语言版本中继续演进。 匹配表达式现在允许使用关系型(<、> 等)和逻辑型(not、or、and)模式,除去了旧版 switch 结构的许多麻烦。 ReSharper 可以协助您分析模式,并按照所需风格进行改写。

懒得勤快的博客_互联网分享精神

最后,在引入 lambda 丢弃参数时,我们认为应该为其增加一个快速修复。

懒得勤快的博客_互联网分享精神

主要语言亮点就介绍到这里。 对 ReSharper 2020.3 中支持的语言也增加了一些小幅改进。 这包括目标类型化条件表达式、静态 lambda、foreach 中的扩展 GetEnumerator 方法、函数指针类型以及原生整数类型。

懒得勤快的博客_互联网分享精神

内嵌提示

我们相信内嵌提示的性能,但是我们也知道环境应该尽可能干净整洁。 我们为内嵌提示提出了全新的“Push-to-Hint”机制,力求两全其美。

在 Push-to-Hint 可见性模式下,提示默认不显示。 提示将在您按住 Ctrl 后显示(松开后隐藏),或按两次 Ctrl 后显示(再次按两次 Ctrl 后隐藏)。

懒得勤快的博客_互联网分享精神

我们提供了非常细粒度的设置:您可以告诉 ReSharper 哪些提示应始终启用,哪些提示应在按下时显示,以及哪些您并不需要。 对每个提示类型使用 ‘Visibility’ 设置。

懒得勤快的博客_互联网分享精神

我们还设计了隐式类型转换的提示。 这种转换会导致数据丢失或性能下降,ReSharper 现在可以指出发生隐式转换的位置。

懒得勤快的博客_互联网分享精神

当您在类型转换提示上按 Ctrl+Click 时,系统会将您定向到隐式转换的实现。

懒得勤快的博客_互联网分享精神

XAML 的内嵌提示已在先前版本中提供,现在还具有允许您配置外观的通常上下文菜单。

懒得勤快的博客_互联网分享精神

格式化程序

我们还向格式化引擎添加了粒度更细的设置。 我们在此版本中添加了:

一组安排属性模式的设置:您可以指示 ReSharper 将一个简单模式放在单行上,以及设定您偏好的长模式换行形式。 还有一个使列中的属性模式对齐的设置。

懒得勤快的博客_互联网分享精神

现在可以在属性或事件访问器周围添加空白行。

懒得勤快的博客_互联网分享精神

对于 Visual Basic,添加了一个选项,可以在一元 +/- 运算符后面添加空格。

懒得勤快的博客_互联网分享精神

.editorconfig 支持也获得了一些更新。 ReSharper 现在支持 Roslyn 属性:file_header_templates、dotnet_sort_system_directives_first 和 dotnet_separate_import_directive_groups。

在向 .editorconfig 的导出中,还添加了一个新的“Spaces around ‘=’”参数。 对于现有文件,将自动检测其值;对于新文件,可以手动设置其值。 默认设为 ‘true’。

懒得勤快的博客_互联网分享精神

Dynamic Program Analysis

我们在 ReSharper 中添加了 Dynamic Program Analysis (DPA),可在内存中检测大小对象堆的结束和分配,帮助您分析和创建更好的代码。

最大的优点是,除了常规的编码、运行和调试例程外,您无需执行任何其他操作。 DPA 在后台运行,并在每次启动项目后准备好报告。 只需注意右下角的图标即可。

懒得勤快的博客_互联网分享精神

结构化移除

您可能已经熟悉结构化导航功能:它允许您根据结构、关键字、块、方法等来选择代码片段。

使用 Extend 或 Shrink Selection 操作时,它们需要另一个步骤来选择逗号、点或中括号,这很容易被忽略。 如果要删除一个块,这将导致代码错误。 在这种情况下,ReSharper 会进行一些清理:如果从结构上选择了某些内容,那么在按 Backspace 或 Delete 时,ReSharper 会尝试从结构上将其删除。

懒得勤快的博客_互联网分享精神

Command Line Tools

如果您使用大型代码库,则每个解决方案级操作都需要花费很长时间才能运行。 您是否曾经在更改几个文件之后,需要等待整个解决方案完成重新格式化? 现在,您可以运行 CleanupCode 控制台工具,无需指向解决方案文件:只需指定一组文件或文件夹即可。 命令行示例:cleanupcode.exe [文件夹路径] [文件路径] [另一个文件的路径]

请注意,该工具仅格式化代码 - 清理在此模式下不可用。

懒得勤快的博客_互联网分享精神

我们的控制台工具先前缺少的另一项内容是插件支持。 它来了! 但现在仅适用于 Windows。 要开始使用,您需要知道插件的 ID。 前往 JetBrains Marketplace,打开插件页面,转到 Versions 选项卡,点击任何版本即可显示您的插件 ID。 随后,在启动 InspectCode 或 CleanupCode 时使用 -x=[ID] 键加上插件 ID,控制台工具会自动下载并启用该插件:cleanupcode.exe -x=[ID] [解决方案文件的路径]。

请注意,插件必须与工具版本兼容。 另外,如果您使用 .NET Core 全局工具机制安装 ReSharper 的命令行工具,则尚不支持插件。

懒得勤快的博客_互联网分享精神

导航

搜索文本时,您是否遇到过困难? 也许是您代码中的字符串,或者注释? 或者文本中是否曾有拼写错误阻止您查找正确结果?

懒得勤快的博客_互联网分享精神

除了精确搜索外,Find Text 现在还可以执行模糊搜索,同时考虑可能的拼写错误和单词遗漏。 结果显示在常规子字符串搜索结果下方的 Fuzzy 部分中。 提示:如果您要在代码中查找特定的格式化字符串,这将非常有帮助。

懒得勤快的博客_互联网分享精神

Avalonia 支持

代码分析

与所有 WPF 类框架相同,代码分析提供了大量常用代码检查,以及 C# 代码后置和 .axaml 文件的对应快速修复(包括 “Possible ‘System.NullReferenceException’” 和 “Class/Property {...} is obsolete: Use {...}”)。

懒得勤快的博客_互联网分享精神

除了常见的 WPF 检查之外,还有许多 Avalonia 特定的检查,例如带有快速修复的 Path to resource is case-sensitive 或 ColumnDefinitions tag can be converted to attribute 检查。 对于后者,ColumnDefinitions="*,Auto,*" 特性上具有一个上下文操作,可以将其转换回 <Grid.ColumnDefinitions> 标记。

懒得勤快的博客_互联网分享精神

我们增加了对 Avalonia 绑定中 “$self"、“$parent”、“^” 和 “#” 语法的妥善支持,以及对 $parent[] 数组中索引的妥善验证。

懒得勤快的博客_互联网分享精神懒得勤快的博客_互联网分享精神

扩展了对 CompiledBinding 和 x:CompileBindings 扩展的支持。 ReSharper 知道此处需要 DataType,并提示您为代码中的绑定指定数据类型。

懒得勤快的博客_互联网分享精神懒得勤快的博客_互联网分享精神

“Create from usage”快速修复适用于所有 Avalonia 属性。

懒得勤快的博客_互联网分享精神

Avalonia XAML 支持包括理解 CSS 类样式系统。

懒得勤快的博客_互联网分享精神

内嵌提示帮助您更好地理解您正在观察的代码。

懒得勤快的博客_互联网分享精神

代码补全

代码补全和参数信息可用于所有 XAML 关键字、全部标记扩展、x:Name、Style 属性、 StyleInclude 的 Source 属性等。

懒得勤快的博客_互联网分享精神

导航

您可以轻松导航至编译的绑定数据类型、绑定属性、Avalonia 控制类型和 x:Name 声明。 ReSharper 也可以直接从 XAML 转到反编译的外部代码,包括样式 setter 属性和引用的 xmlns 命名空间。

懒得勤快的博客_互联网分享精神

Find Usages

Find Usages 可以帮助您查找方法绑定、x:Name 属性、Style 类与 setter 和各种属性的所有用法。

懒得勤快的博客_互联网分享精神

重构

Rename and Safe Delete 重构现在可以感知 Avalonia XAML 代码中的各种用法,并相应地进行更新。

懒得勤快的博客_互联网分享精神

层次结构和代码结构

您可以观察 Avalonia XAML 代码的层次结构和结构。

反编译器更新

ReSharper 的集成式反编译器也已更新,支持更多 C# 功能。 我们还改进了 IL Viewer 与源代码之间的同步机制。

专门针对顶层语句,我们在 Assembly Explorer 中添加了一个 <Top-level Entry Point> 节点。 您可以双击或使用此节点上的上下文菜单导航转至反编译代码中的实际顶层语句。

懒得勤快的博客_互联网分享精神

现已支持私有源链接。 导航到需要连接到专用源服务器的外部源后,ReSharper 将显示通知并让您输入凭据;当然,如果您已经在 Visual Studio 的设置中指定,它们会被自动应用(对于 GitHub 和 BitBucket)。

懒得勤快的博客_互联网分享精神

Blazor


我们继续添加更多 Blazor 支持。 此迭代侧重于支持通用类型参数及其来自用法的类型推理,以及消除打开解决方案时的性能阻碍。

懒得勤快的博客_互联网分享精神

Unreal Engine 完美搭档


ReSharper C++ 2020.3 提供了与 UnrealHeaderTool 的无缝集成,帮助您捕获通常仅在编译时发现的问题。 ReSharper C++ 在后台运行 UnrealHeaderTool,并在编辑器中实时显示分析结果。

为改进其 HLSL 支持,ReSharper C++ 为着色器文件带来了控制流分析检查。 通过实时跟踪构建配置文件变更,ReSharper 可以始终使用最新的项目模型。

懒得勤快的博客_互联网分享精神

更好的 C++20 支持


ReSharper C++ 2020.3 向比较规则实现了 C++20 变更。 需要确切了解代码行为时,您可以依靠 ReSharper C++ 丰富的检查和错误消息,新的快速修复将帮助您轻松使用比较运算符。

此外,ReSharper C++ 2020.3 带来了新的检查,帮助您采用 C++20 范围库,并增加了对 Visual Studio 16.8 中引入的 C++20 协同程序标准模式的支持。

懒得勤快的博客_互联网分享精神

时间线检查 dotUltimate


dotMemory 使用时间线数据在 Timeline 图上提供自动检查。

目前,可进行三种检查:

高垃圾回收压力

Gen0 中的固定对象

快速大对象堆增长率

懒得勤快的博客_互联网分享精神

改进了持续测试 dotUltimate


现在,触发持续测试会话时您可以定义应该构建哪些项目。 这可以让您加快持续测试会话的速度。 该功能在 Visual Studio 和 Rider 中均可使用。

懒得勤快的博客_互联网分享精神

其他更新

支持对不受约束的泛型类型(包括默认约束)的可空注解。

我们对 TypeScript 支持进行了适度更新:ReSharper 现在支持空合并和可选链。

我们添加了一个新的快速修复,帮助您将顺序模式检查转换为复杂的模式匹配检查。

在 Change Signature 重构中,我们重新设计了为待添加参数设置默认值的工具(您选择 ‘Resolve with call tree’ 时打开的工具)。 现在,双击节点可以导航到代码。 新增名为 Create default parameter 的选项,可直接将您转至代码以指定值。 最后,对在树中选择的不同修复应用不同颜色。 我们希望这可以简化用法解析!

和谐详细方法:

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

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

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

懒得勤快的博客_互联网分享精神

4.无限全功能试用!

懒得勤快的博客_互联网分享精神

Resharper骨灰级教程

https://masuit.com/21

下载地址:

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

破解补丁:https://ldqk.lanzous.com/iCOyPm82wji

正版大佬请点击这里,正版授权低至599元 https://store.lizhi.io/site/products/id/292/cid/tkdempuy


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

教育版申请教程:https://ldqk.org/1793,开源许可申请教程:https://ldqk.org/1792懒得勤快的博客_互联网分享精神

懒得勤快的博客_互联网分享精神

3月特惠,Microsoft 365 一年仅需 89 元 [推广]

3月特惠,Microsoft 365 一年仅需 89 元

Microsoft 365 就是 Office 365,拼车再次回归。3 月活动期间仅需 89 元,历史最低价,还包含 office 视频教程和一年 1对1 服务。

文章历史版本:

修改次数:51 次 查看历史版本

相关推荐:

VisualStudio神级插件Resharper使用技巧基础入门到骨灰玩家全教程+性能优化教程 通过edu教育邮箱免费获取 JetBrains 全系产品正版 License
通过开源项目免费获取 JetBrains 全系产品正版 License VisualStudio配合使用CodeMaid插件帮助你提高打码效率

版权声明:

🈲⚠本文为作者原创,仅用于本站访客学习、研究和交流目的,未经授权禁止转载。️⚠🈲

评论区: