.NET 开发中最令人印象深刻的生产力工具之一是ReSharper[1]。每次发布时,我都对它的功能感到震惊。不要误会我的意思,我喜欢 Visual Studio,而且它也变得越来越好。但每当我认为 Visual Studio 迎头赶上时,我就会发现一些令人惊叹的新功能,让我再次依赖 ReSharper 和Rider[2]

因此,在这篇博文中,我将向您介绍 ReSharper 的 6 个更令人上瘾的功能。那些你可能不知道的,但一旦你知道就不能没有。

1. Ctrl + T、Ctrl + T + T、Ctrl + T + T + T

优秀的Ctrl + T命令大家都知道,它可以让你快速查找字段、文件和类型。但是,您可能不知道可以T多次单击该按钮。这使得它Ctrl + T + TCtrl + T + T + T. 第一个选项允许您只搜索类型。

第二个选项Ctrl + T + T + T允许您搜索解决方案中的任何文本。有点像 Visual Studio 的Ctrl + Shift + F,只是更好(以我的拙见)。

2. 打开 Ctrl + T 结果作为列表

在大型应用程序中导航可能非常困难。您并不总是记得要查找的确切字段名称。或者您可能还记得您正在寻找带有单词 的内容Home,但是适合该搜索的字段和类的数量是巨大的。使用Ctrl + T仅显示适合一个屏幕的第一批结果。但是,如果您搜索某些内容并点击Shift + Enter,您将在工具窗口中看到所有结果。就这样:

现在,您可以在这些结果中快速滚动或过滤以找到您的意思。这太方便了,我觉得我什至不配拥有它。

3. 价值来源,价值归宿

下一个功能非常令人上瘾,一旦您开始使用它,您将无法停止。

ReSharper 允许您检查任何变量并查看所有可能的调用堆栈,您可以从哪里获取它(作为参数)以及它的去向(作为参数)。让我们从你从哪里得到它开始。要使用该功能,请使用Inspect this的Ctrl + Alt + Shift + A快捷方式或在右键单击上下文菜单中找到Inspect。

单击Value Origin将显示如何recording接收的所有可能路径。像这样:

在这种情况下,我们得到了它作为方法的参数ShouldStopRecording,这可能从任何一种方法得到它AddRecordingResultContinueRecordingGetLastRecording,或GetRunningSessions

要查看recording变量的所有可能目的地,请单击Value Destination,它将显示:

这显示了这个变量将被使用或作为参数传递的所有地方。在这种情况下,您可以看到它仅ShouldStopRecording用于访问其属性。

这两个功能都使代码变得非常容易。无需使用按方法查找所有引用或查找用法,您将能够找到特定变量的路径。

4. Postfix 补全模板

大家都知道 Visual Studio 片段。如果您不知道,请查看我的另一篇文章您应该知道的 Visual Studio 中的 5 个生产力技巧[3]。ReSharper 有一个类似的功能,允许您在输入表达式后将其插入到模板中。这是一个例子。

一旦我点击EnterTab,ReSharper 会自动创建一个foreach语句。

这个技巧可用于任何集合。

这是另一个例子:

选择if后缀将创建以下语句:

有很多这些,您可以在此处[4]查看完整列表。

5. 全解决方案分析

通过解决方案范围的分析,ReSharper 不断分析您的整个解决方案并巧妙地发现错误和警告。这些都是编译错误和运行时错误。R# 在这方面很聪明。这可以用作一种健全的健康检查。每当您重构大量代码时,此功能对于确保您没有犯任何错误非常有用。任何明显的错误是——R# 还没有找到逻辑错误,而不是开发人员。

这是它的样子:

出于充分的理由,默认情况下关闭解决方案范围的分析。它吃掉了性能。至少在使用 Visual Studio + ReSharper 时。另一方面,如果您使用的是 Rider,您可能甚至不会注意到它已开启。

6. 提取类

ReSharper 最令人印象深刻的事情之一是它的重构功能。它们中的大多数都可以从Refactor This菜单中使用Ctrl + Shift + R快捷方式访问。我最喜欢的重构之一是Extract Class。它会将字段、属性和方法等成员提取到一个新类中,该类将在原始类中创建为字段。下面是一个例子:

单击Ctrl + Shift + R成员Sort 时,会出现以下对话框:

您可以在此处选择要提取的成员。R# 通过显示用法来帮助您。在上面的例子中,Mean使用Sort和你可以一起提取它们。

一旦您选择了提取的类的名称(我选择了Sorter)和对提取的引用的名称 ( _sorter),您将得到以下结果:

这使得将大类分解为小类的常见操作变得更加容易。

就是这样,享受快乐的编码。

https://michaelscodingspot.com/productivity-in-resharper-and-rider/

References

[1] ReSharper: https://www.jetbrains.com/resharper/
[2] Rider: https://www.jetbrains.com/rider/
[3] 您应该知道的 Visual Studio 中的 5 个生产力技巧: https://michaelscodingspot.com/productivity-tips-in-visual-studio/
[4] 此处: https://www.jetbrains.com/help/resharper/Postfix_Templates.html#list

Resharper 和 Rider 的奇淫技巧,你知道多少?相关推荐

  1. idea中常用的快捷键以及一些奇淫技巧 , 加快我们的开发效率

    idea中常用的快捷键以及一些奇淫技巧 , 加快我们的开发效率 !!! 知道类名查找你本地以的类 (你pom中依赖的类+你自己创建的类)------------- ctrl+shift+t 修改你创建 ...

  2. Qt奇淫技巧-使用QSharedMemory方式实现数据跨界面传输

    关于QSharedMemory相关的知识点在下面这个链接中! https://blog.csdn.net/qq78442761/article/details/81738155 这里使用QShared ...

  3. NGINX的奇淫技巧 —— 7. IF实现数学比较功能 (2)

    接上文 <NGINX的奇淫技巧 -- 6. IF实现数学比较功能 (1)> NGINX竟然不支持这样的写法.... location = /test/ {default_type html ...

  4. 输入n个字符串字典序排序_30个Python奇淫技巧集

    今天小编熬夜整理了一份,内容是基础篇覆盖了字符串,列表,字典和基础序列容器.不要小看青铜篇,这份资料里面收集了很多奇淫技巧,很多小编也是第一次遇到,非常值得收藏. 下面我挑选几个给大家看一下,小编觉得 ...

  5. JavaScript奇淫技巧:按键精灵

    JavaScript奇淫技巧:按键精灵 按键精灵之类的自动化工具,可以解放双手,帮我们自动完成许多工作,在很多场景中,可以极大提升生产力. 本文将展示:用JavaScript实现一个"按键精 ...

  6. 【JavaScript】转载:JS高端奇淫技巧

    转自 : https://blog.csdn.net/github_38885296/article/details/91038735 感谢作者(流浪的狗和一坨屎)分享 众所周知, JavaScrip ...

  7. JavaScript奇淫技巧:隐写术

    JavaScript奇淫技巧:隐写术 本文将用JavaScript实现"图片隐写术". 什么是隐写术? 将文本或其它数据写入图片的技术,称为"隐写术". 比如下 ...

  8. 50个Pandas的奇淫技巧:向量化字符串,玩转文本处理

    大家好,我是小伍哥. 数据处理,也是风控非常重要的一个环节,甚至说是模型成败的关键环节.因此,娴熟简洁的数据处理技巧,是提高建模效率和建模质量的必要能力.这里开个专题,总结下Pandas的使用方法,方 ...

  9. JavaScript:探索神秘的旁门左道奇淫技巧

    引言: JavaScript作为一种广泛使用的编程语言,具有出色的灵活性和强大的功能.除了其常规用途外,它还隐藏着一些奇淫技巧,这些技巧可以让你在编程过程中事半功倍.本文将揭示JavaScript的一 ...

最新文章

  1. 每天只睡4小时!大佬们都这么拼吗?
  2. CVPR 2022|从原理和代码详解FAIR的惊艳之作:全新的纯卷积模型ConvNeXt
  3. jquery 获取easyui combobox选中的值
  4. Kubernetes API 与 Operator,不为人知的开发者战争
  5. 5万能搞定百平家装主材、家具、家电吗?
  6. 怎样选择mysql的版本升级_mysql版本升级
  7. redis安全设置及主从配置
  8. 毕设-基于SpringBoot宠物医院管理系统
  9. 精简win服务器系统,Windows Server 2016攻略—为云而生的极简平台Nano Server(2)
  10. 完成有顺序约束的任务指派问题--应用模拟退火算法求解
  11. 计算机word中如何加入水印?
  12. 关于孔明先生职称申请报告的回函
  13. 2018.4.3晚_京东实习_后端开发面试记录
  14. 语义web一些简单示例
  15. 如何判断你的初创企业是否有募资潜力
  16. Java打印带边框的乘法口诀表_Java 面试 - 打印九九乘法口诀表
  17. Greenplum执行计划
  18. Ubuntu zhuang SSH
  19. java中paras是什么意思_paras的使用方法是什么
  20. 联想g490安装linux网卡,联想g490配置和参数详解

热门文章

  1. ASP语言基础之常量的定义方法
  2. 调用接口登录禅道_有java调用api登录并验证禅道的实例吗
  3. xxl-job源码分析
  4. mac下npm/node的安装和卸载、升级;node、npm升级后最后删掉node_modules重新安装
  5. 三种查看SqlServer中数据物理pge页的方法
  6. POJ 3274 Gold Balanced Lineup(哈希)
  7. Windows7 IIS7.5 HTTP Error 503 The service is unavailable 另类解决方案
  8. CSS边界属性的负值
  9. 常见三维文件格式之STL
  10. SVN的安装笔记和要注意的问题