Resharper 和 Rider 的奇淫技巧,你知道多少?
Resharper 和 Rider 的奇淫技巧,你知道多少?
.NET 开发中最令人印象深刻的生产力工具之一是ReSharper。每次发布时,我都对它的功能感到震惊。不要误会我的意思,我喜欢 Visual Studio,而且它也变得越来越好。但每当我认为 Visual Studio 迎头赶上时,我就会发现一些令人惊叹的新功能,让我再次依赖 ReSharper 和Rider。
因此,在这篇博文中,我将向您介绍 ReSharper 的 6 个更令人上瘾的功能。那些你可能不知道的,但一旦你知道就不能没有。
1. Ctrl + T、Ctrl + T + T、Ctrl + T + T + T
优秀的Ctrl + T命令大家都知道,它可以让你快速查找字段、文件和类型。但是,您可能不知道可以T多次单击该按钮。这使得它Ctrl + T + T和Ctrl + 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,这可能从任何一种方法得到它AddRecordingResult,ContinueRecording,GetLastRecording,或GetRunningSessions。
要查看recording变量的所有可能目的地,请单击Value Destination,它将显示:

这显示了这个变量将被使用或作为参数传递的所有地方。在这种情况下,您可以看到它仅ShouldStopRecording用于访问其属性。
这两个功能都使代码变得非常容易。无需使用按方法查找所有引用或查找用法,您将能够找到特定变量的路径。
4. Postfix 补全模板
大家都知道 Visual Studio 片段。如果您不知道,请查看我的另一篇文章您应该知道的 Visual Studio 中的 5 个生产力技巧。ReSharper 有一个类似的功能,允许您在输入表达式后将其插入到模板中。这是一个例子。

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

这个技巧可用于任何集合。
这是另一个例子:

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

有很多这些,您可以在此处查看完整列表。
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/
Resharper 和 Rider 的奇淫技巧,你知道多少?的更多相关文章
- 优化DP的奇淫技巧
DP是搞OI不可不学的算法.一些丧心病狂的出题人不满足于裸的DP,一定要加上优化才能A掉. 故下面记录一些优化DP的奇淫技巧. OJ 1326 裸的状态方程很好推. f[i]=max(f[j]+sum ...
- 12个实用的 Javascript 奇淫技巧
这里分享12个实用的 Javascript 奇淫技巧.JavaScript自1995年诞生以来已过去了16个年头,如今全世界无数的网页在依靠她完成各种关键任务,JavaScript曾在Tiobe发布的 ...
- NGINX的奇淫技巧 —— 5. NGINX实现金盾防火墙的功能(防CC)
NGINX的奇淫技巧 —— 5. NGINX实现金盾防火墙的功能(防CC) ARGUS 1月13日 发布 推荐 0 推荐 收藏 2 收藏,1.1k 浏览 文章整理中...... 实现思路 当服务器接收 ...
- NGINX的奇淫技巧 —— 3. 不同域名输出不同伺服器标识
NGINX的奇淫技巧 —— 3. 不同域名输出不同伺服器标识 ARGUS 1月13日 发布 推荐 0 推荐 收藏 6 收藏,707 浏览 大家或许会有这种奇葩的需求...要是同一台主机上, 需要针对不 ...
- NGINX的奇淫技巧 —— 6. IF实现数学比较功能 (1)
NGINX的奇淫技巧 —— 6. IF实现数学比较功能 (1) ARGUS 1月13日 发布 推荐 0 推荐 收藏 3 收藏,839 浏览 nginx的if支持=.!= 逻辑比较, 但不支持if中 & ...
- Zepto源码分析(二)奇淫技巧总结
Zepto源码分析(一)核心代码分析 Zepto源码分析(二)奇淫技巧总结 目录 * 前言 * 短路操作符 * 参数重载(参数个数重载) * 参数重载(参数类型重载) * CSS操作 * 获取属性值的 ...
- javascript之奇淫技巧
最近准备面试,复习一下javascript,整理了一些javascript的奇淫技巧~ //为兼容ie的模拟Object.keys() Object.showkeys = function(obj) ...
- Gradle更小、更快构建APP的奇淫技巧
本文已获得原作者授权同意,翻译以及转载原文链接:Build your Android app Faster and Smaller than ever作者:Jirawatee译文链接:Gradle更小 ...
- BZOJ 3192: [JLOI2013]删除物品 奇淫技巧&树状数组
点我看题 这题十分奇淫技巧...QAQ因为知道是树状数组的题QAQ刚开始以为维护两个数组的树状数组然后模拟从大到小,然后发现不会打QAQ 于是悄悄咪咪翻开题解了. 实际上两个数组可以看做一个数组 如 ...
- JavaScript 系列--JavaScript一些奇淫技巧的实现方法(二)数字格式化 1234567890转1,234,567,890;argruments 对象(类数组)转换成数组
一.前言 之前写了一篇文章:JavaScript 系列--JavaScript一些奇淫技巧的实现方法(一)简短的sleep函数,获取时间戳 https://www.mwcxs.top/page/746 ...
随机推荐
- Liunx快捷命令(别名)与快捷方式(软/硬链接)
一.快捷命令(别名)-临时生效1.命令:alias 别名='原命令' 2.举例:给检查防火墙的命令设置别名 [root@localhost ~]# alias fhq='firewall-cmd -- ...
- ORA-00947:Not enough values (没有足够的值)
1.问题 2.解决方式 大概率是关系表实际列数大于你所填的元素个数,请检查是否有疏漏的列即可. 我这里是以为代理键直接忽略不写即可,没有标明具体插入列,但是还是得标明才行 --创建图书目录表TITLE ...
- 让vs支持wsl调试
WSL安装 wsl --install -d Ubuntu 等一会提示输入用户名,不用管它,直接关闭,下次打开wsl,会以无密码的root用户打开 wsl卸载 wsl --unregister Ubu ...
- Linux-磁盘-di-目录查询-du-tree
- [转帖]Linux cut命令
https://www.runoob.com/linux/linux-comm-cut.html#:~:text=Linux%20cut%E5%91%BD%E4%BB%A4%201%20-b%20%E ...
- [转帖]TiDB 数据库核心原理与架构 [TiDB v6](101)笔记
https://www.jianshu.com/p/01e49a93f671 description: "本课程专为将在工作中使用 TiDB 数据库的开发人员.DBA 和架构师设计. 本门课 ...
- [转帖]TiKV & TiFlash 加速复杂业务查询
https://tidb.net/book/tidb-monthly/2022/2022-07/usercase/tikv-tiflash 背景 在互联网公司或传统公司的 CRM 系统中,最常用的功 ...
- [转帖]探索惊群 ④ - nginx - accept_mutex
https://wenfh2020.com/2021/10/10/nginx-thundering-herd-accept-mutex/ 由主进程创建的 listen socket,要被 fork ...
- 申威3231服务器Redis性能验证-及最全信创CPU性能分析
申威3231服务器Redis性能验证-及最全信创CPU性能分析 背景 公司里面新进了几台服务器. 有台申威服务器. 因为前段时间参与过一次申威的POC验证. 当时对性能有一点简单的理解. 但是因为不方 ...
- 境内下载nodejs二进制文件
下载 nodejs 安装包的方法 找到一个境内的淘宝源 可以直接使用 下载速度还比较快 但是没有 龙芯的.. http://npm.taobao.org/mirrors/node/v10.20.0/