Resharper 和 Rider 的奇淫技巧,你知道多少?

 .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. 第一个选项允许您只搜索类型。

2931093ae97565aa378bc118fb57074c.png

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

48aa93dd346ebefd3c7b0d4457e8cd4e.png

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

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

e3b900e61403bcb203c04eaf0f231b82.png

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

3. 价值来源,价值归宿

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

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

a539cebb30c3eca3fb523d892c24e2c4.png

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

cdd291b3fa8864c5518e494fb085f93c.png

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

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

813fc4939bddfebd99f2fa5a717c26d7.png

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

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

4. Postfix 补全模板

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

e16c901caeae24b3e7df6030944dfdef.png

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

cf1eef005a3d29acbb8c78909feeb9a2.png

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

这是另一个例子:

4bb6695689343b4eff7acf5e6d5ad4dd.png

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

895590bdfada92ca9e3d909fe5ae700b.png

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

5. 全解决方案分析

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

这是它的样子:

d68f0f7bbfcf866aa98c2f14c1eaff57.png

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

6. 提取类

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

5cd8f3f2a34ba4fd4b4ed948ccbc3854.png

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

33d1c2c7fad046c64934116988e8c4d8.png

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

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

fae8a9f9614033e0072cb9be1ad8ba61.png

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/297678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

流量节省模式 Android,这三种方法让你节省更多手机上网流量

大多数手机用户应该都知道最基本的流量管理方式——没有Wi-Fi可用时就不看视频、不玩在线游戏、或者下载大型应用——除非你拥有不限流量套餐。但如果你在使用流量时已经很节约,但每个月的用量依然会超出流量套餐,那下面这三种方法应该可以确保你不会浪费…

PS比狠大赛!看看谁家的照片更丑!

全世界只有3.14 % 的人关注了爆炸吧知识最近在网上看到一个“丑照片挑战”本来以为就是丑吧结果一看惊了张张都是文艺大片范儿一点都不丑至于为什么叫丑照片挑战赛来看看他们的实拍背景就知道了比如第一张小姐姐的酷拽镜头靠的竟然是餐桌上这盆小绿植第二张的帅气小哥哈哈哈对不…

.NET 6 数组拷贝性能对比

本文来对比多个不同的方法进行数组拷贝,和测试其性能测试性能必须采用基准(标准)性能测试方法,否则测试结果不可信。在 dotnet 里面,可以采用 BenchmarkDotNet 进行性能测试。详细请看 C# 标准性能测试拷贝某个数组的从…

python win32ui选取文件夹_最全 Python 算法实现资源汇总!

整理 | Rachel责编 | Jane出品 | Python大本营(ID:pythonnews)【导语】数据结构与算法是所有人都要学习的基础课程,自己写算法的过程可以帮助我们更好地理解算法思路,不要轻视每一个算法,一些虽然看似容易,但可能有很多…

兄弟,就你这智商就别出轨了吧?

1 这智商就别出轨了吧(没有聪明人就能出轨的意思)▼2 “俗话说得好”上一句是什么?▼3 这是什么诡异的老年运动?▼4 搞不懂时尚趋势在哪里.....▼5 聚餐的时候千万别拿着包去厕所▼6 一看就会一学就废▼7 聪明的狗子能有多…

requestmapping注解访问404_【框架】127:几个非常重要的注解

今天是刘小爱自学Java的第127天。感谢你的观看,谢谢你。今天的知识点有点多,有点记不过来了。学习内容安排如下:使用注解优化昨天写的springMVC入门程序。映射路径各种风格的学习,也就对应了注解RequestMapping中的参数。各种类型…

Dapr + .NET Core实战(二) 服务调用

服务调用是什么在分布式应用程序中的服务之间进行调用会涉及到许多挑战。例如:维护其他服务的地址。如何安全地调用服务。在发生短暂的 暂时性错误 时如何处理重试。分布式应用程序调用链路追踪。服务调用构建块通过使用 Dapr 挎斗作为服务的 反向代理 来解决这些难…

第五周项目2-对象作为数据成员

回想Engineer类的数据成员,有眼镜、背包等。某Engineer的眼镜、背包,是Glass、Bag类的对象。类中的数据成员,其类型可以是简单类型,也可以是类。通过这种方式,将某些类组合到另外的类中,当作其中的一个“部…

谷歌排名第一的编程语言,死磕它这两点,小白也能学的会!不信你看!

全世界只有3.14 % 的人关注了爆炸吧知识谷歌排名第一的编程语言时什么?毫无疑问:肯定是 Python。也难怪,作为大数据时代和人工智能时代的必备语言,Python 的优点太多了,语言简洁、易学、开发效率高、可移植性强......另…

android主动显示流程,Activity加载显示基本流程

本文章是基于Android源码6.0讲解Activity加载显示基本流程首先上一张图给大家一个直观的了解首先一个布局页面的加载是在Activity中的setContentView(R.layout.res)开始;我们就从Acitvity源码中的setContentView方法入手public void setContentView(LayoutRes int layoutResID)…

VIM之Project 项目管理工具

VIM是Linux和Unix下常用的文本编辑工具,在编写代码和阅读代码中经常使用。但VIM进行代码项目管理时,没有IDE集成开发工具方便,现在提供一个VIM插件Project,可以对代码项目进行简单的集中管理一、 下载安装1、 在 Vim 网站上下载最…

WPF DataGrid 通过自定义表头模拟首行固定

WPF DataGrid 通过自定义表头模拟首行固定独立观察员 2021 年 9 月 25 日最近工作中要在 WPF 中做个表格,自然首选就是 DataGrid 控件了。问题是,UI 设计的表格是在首行有一个新增按钮,那一行样式和其它数据行是一样的,就在表头下…

python和C语言分别实现插入排序

python语言代码:代码1 defInsertSort(numbers,n):2 fori inrange(1,n):3 j i-14 tem numbers[i]5 whilenumbers[j]>tem andj>0:6 numbers[j1] numbers[j]7 j -18 else:9 numbers[j1] tem10 print"Onthe sort:",numbers11 12 a [9,8,7,6,5,4,3,2,1,0…

Windows用户安全小技巧

本文适用于具有管理员用户和标准用户的所有Windows系统,如Windows 2000以上的操作系统,UAC是Windows Vista以上版本的具有功能。新安装的Windows系统或者新购买的含有Windows系统计算机一开始都需要安装许多软件并需要设置较多的含有Windows安全或用户控…

从网恋到失恋只需要一秒...

1 原来放下一个人如此简单...▼2 而且到现在衣服都没找到▼3 这东西叫糖醋液,实验室比例是:糖:醋:酒:水1:2:3:4▼4 老师:这孩子真有原则▼5 呵,绝交吧▼…

大前端快闪:package.json文件知多少?

最近在公司某项目参与了一些前端工作,作为后端抠脚大汉,改点前端细节磕磕绊绊,改点大前端、工程化、HTTP交互倒也还能做到柳暗花明。于是打算用后端程序猿的视角记录一些{大前端}的知识快闪,也算是帮助读者构建完整的全栈技能体系…

大牛C++编程开发学习建议50条

2019独角兽企业重金招聘Python工程师标准>>> 每个从事C开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少。本文就给出了网上流传的对C编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅…

html2canvas改成同步,html2canvas转为图片异步转同步问题(记录)

描述:最近使用html2canvas插件截取页面上指定dom为图片,然后将生成的图片替换页面上的dom后,将替换后的页面内容保存至数据库,结果保存的是保存前的页面,初步判定是html2canvas的异步执行造成的。参考了两篇博文&#…

杨辉再发声明:没有及时交流工作进展,深表歉意

全世界只有3.14 % 的人关注了爆炸吧知识pixabay.com编者按加州大学付向东教授实名举报中科院上海神经所杨辉事件在过去一周成为学术界讨论的热点话题。付向东称自己2018年在神经所做学术报告后,杨辉重复其实验却未告知并抢发文章。杨辉7月3日发表声明,称…

z变换公式表_如何使用标准正态分布表?

正态分布这个概念在统计学中很常见,在做与正态分布有关计算的时候经常会用到标准正态分布表。如果知道一个数值的标准分数即z-score,就可以非常便捷地在标准正态分布表中查到该标准分数对应的概率值。任何数值,只要符合正态分布的规律&#x…